Skip to main content

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 \
-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

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>"
}