Workflows and Rules
Overview
The Risk Workflow Management CLI provides tools for managing fraud detection workflows and rules. All commands follow the pattern canso workflows ...
Prerequisites
Set
GRU_TOKEN
environment variable for authenticationValid JSON configuration files for workflow and rule creation/updates
Workflow Management Commands
List Workflows
# List all workflows
canso workflows list
# List only active workflows
canso workflows list --is_active=true
# Get specific workflow details
canso workflows list --workflow_name=<workflow-name>
Create Workflow
canso workflows create <workflow-name> --config <path/to/workflow_config.json>
Sample workflow_config.json:
{
"description": "Workflow for detecting credit card fraud",
"initial_rules": [
{
"rule_name": "amount_limit_check",
"operator": "AND",
"sub_rules": [
{
"field": "amount",
"operator": "<",
"redis_key": "transaction_limit",
"redis_field": "user:{user_id}"
}
]
}
]
}
Update Workflow Status
canso workflows update-status <workflow-name> --status [ACTIVE|INACTIVE|DEPRECATED]
Deploy Workflow
canso workflows deploy <workflow-name> --env [BACKTESTING|STAGING|PRODEXPERIMENT|LIVE] --cluster_name <cluster-name> --namespace <namespace>
The following environment variable can be set using the --env_vars flag:
FEATURE_STORE_HOST: str
FEATURE_STORE_PORT: int
FEATURE_STORE_DB: int
FEATURE_STORE_USERNAME: str
FEATURE_STORE_PASSWORD: str
NOTE: By default, the feature store is connected to the deployed Redis instance along with the Helm chart.
Example:
--env_vars FEATURE_STORE_HOST=localhost,FEATURE_STORE_PORT=6379,FEATURE_STORE_DB=1,FEATURE_STORE_USERNAME=admin,FEATURE_STORE_PASSWORD=admin
Providing HPA Configuration
You can customize the Horizontal Pod Autoscaler (HPA) settings by providing your own configuration file with the --hpa_configs flag. Below is an example of what the configuration file look like:
Sample hpa_config.json:
{
"min_replicas": 1,
"max_replicas": 8,
"target_cpu_utilization_percentage": 80,
"target_memory_utilization_percentage": 80
}
To deploy a workflow with your custom HPA settings, use the following command:
canso workflows deploy <workflow-name> --env [BACKTESTING|STAGING|PRODEXPERIMENT|LIVE] --cluster_name <cluster-name> --namespace <namespace> --hpa_configs <path/to/hpa_config.json>
If you don’t provide an HPA configuration file, the system will automatically use the default settings.
Rule Management Commands
List Rules
# List all rules in a workflow
canso workflows rules list <workflow-name>
# List rules with specific stage
canso workflows rules list <workflow-name> --stage <STAGE>
# Get specific rule details
canso workflows rules list <workflow-name> --rule_name <rule-name>
Available stages: REGISTERED
, BACKTESTING
, STAGING
, PRODEXPERIMENT
, LIVE
Create Rule
canso workflows rules create <workflow-name> --config <path/to/rules_config.json>
Sample rules_config.json:
{
"rule_name": "amount_limit_check_2",
"operator": "AND",
"sub_rules": [
{
"field": "amount",
"operator": "<",
"redis_key": "transaction_limit",
"redis_field": "user:{user_id}"
}
]
}
Update Rule
# Update rule definition
canso workflows rules update <workflow-name> <rule-name> --config <path/to/rule_def.json>
# Update rule status
canso workflows rules update <workflow-name> <rule-name> --status [ACTIVE|INACTIVE|DEPRECATED]
# Update rule stage
canso workflows rules update <workflow-name> <rule-name> --stage [REGISTERED|BACKTESTING|STAGING|PRODEXPERIMENT|LIVE]
Sample rule_def.json:
{
"operator": "AND",
"sub_rules": [
{
"field": "amount",
"operator": "<",
"redis_key": "transaction_limit",
"redis_field": "user:{user_id}"
}
]
}
Common Fields
Rule Operators
AND
: All sub-rules must passOR
: At least one sub-rule must pass
Sub-Rule Operators
<
: Less than>
: Greater than==
: Equal to!=
: Not equal to>=
: Greater than or equal to<=
: Less than or equal to
Rule Stages
REGISTERED
: Initial state for new rulesBACKTESTING
: Under testing with historical dataSTAGING
: Testing in non-production environmentPRODEXPERIMENT
: Limited production testingLIVE
: Active in production
Status Values
ACTIVE
: Rule/workflow is enabledINACTIVE
: Rule/workflow is disabledDEPRECATED
: Rule/workflow is no longer in use
Last updated
Was this helpful?