Create a namespace
Tourbillon namespaces provide logical separation for your business workflows.
You will need to provide the following details when setting up your Tourbillon namespace:
- The unique identifier
- The repository URL
- Credentials to access the repository (if required)
- The fetch interval - how often to check for updates
Example
tip
If you are not ready to enable observability omit the telemetry attribute in the request.
The following command will create our "default" namespace and connect it to our private git repository, providing credentials via the <GITHUB_PAT> replacement with your Github Personal Access Token.
- grpcurl
- curl
grpcurl \
-plaintext \
-H 'Authorization: Basic <base64(admin:<ADMIN-API-KEY>)>' \
-d '{
"namespace_id": "default",
"namespace": {
"project": {
"url": "https://<GITHUB_PAT>@github.com/my-org/durable-executions",
"fetch_interval_ms": 60000
},
"telemetry: {
"enable_otlp_trace_forwarding": true,
"otlp_trace_collector_endpoint": "http://localhost:4317",
"enable_otlp_log_forwarding": true,
"otlp_log_collector_endpoint": "http://localhost:4317",
"enable_otlp_metric_forwarding": true,
"otlp_metric_collector_endpoint": "http://localhost:4317"
}
}
}' \
localhost:2424 \
tourbillon.admin_api.v1.AdminService/CreateNamespace
curl -X POST \
'http://localhost:2424/tourbillon.admin_api.v1.AdminService/CreateNamespace' \
-u admin:<ADMIN-API-KEY> --basic \
-H 'Content-Type: application/json' \
-d '{
"namespace_id": "default",
"namespace": {
"project": {
"url": "https://<GITHUB_PAT>@github.com/my-org/durable-executions",
"fetch_interval_ms": 60000
},
"telemetry: {
"enable_otlp_trace_forwarding": true,
"otlp_trace_collector_endpoint": "http://localhost:4317",
"enable_otlp_log_forwarding": true,
"otlp_log_collector_endpoint": "http://localhost:4317",
"enable_otlp_metric_forwarding": true,
"otlp_metric_collector_endpoint": "http://localhost:4317"
}
}
}'
The response will include the API Key that will be needed to perform operations for durable executions (e.g executing an execution):
{
"id": "default",
"name": "namespaces/default",
"project": {
"url": "https://github.com/my-org/durable-executions",
"fetch_interval_ms": 60000
},
"telemetry": {
"enable_otlp_trace_forwarding": true,
"otlp_trace_collector_endpoint": "http://localhost:4317",
"enable_otlp_log_forwarding": true,
"otlp_log_collector_endpoint": "http://localhost:4317",
"enable_otlp_metric_forwarding": true,
"otlp_metric_collector_endpoint": "http://localhost:4317"
},
"api_key": "<API_KEY>"
}