.NET 5.0 runtime implementation of the Serverless Workflow specification.
- Supports Serverless Workflow specification 0.6x
- Runs on Kubernetes
- No software dependencies (aside from Kubernetes)
- A Command Line Interface, synctl, to quickly easily manage workflows and their instances
wget
synctl install -n synapse
kubectl get pods -n synapse
Sample output:
NAME READY STATUS RESTARTS AGE
synapse-operator-7f9bdd899f-hd8s2 1/1 Running 0 106m
#petStoreLogin.yaml
id: petStoreLogin
version: '1.0'
name: Pet Store Login
description: Logs in Swagger's Pet Store API
start: login
functions:
- name: petStoreLogin
operation: https://petstore.swagger.io/v2/swagger.json#loginUser
states:
- name: login
type: operation
actions:
- name: petStoreLogin
functionRef:
refName: petStoreLogin
parameters:
username: [email protected]
password: FakePassword
actionDataFilter:
results: '${ { loginResult: .message } }'
end: true
synctl run --file petStoreLogin.yaml --wait
Sample output:
Deploying workflow 'petStoreLogin:1.0'...
Workflow deployed.
Waiting for Synapse Operator feedback...
The Synapse Operator has finished processing the workflow:
Status: VALID
Errors: []
Workflow instance 'petstorelogin-q5b7z' has been executed.
Status: 'EXECUTED'
Output: {
"loginResult": "logged in user session:1620126182003"
}