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
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.
- cli
- grpcurl
- curl
tourbillon-admin create-namespace \
--admin-address 0.0.0.0:2424
--admin-api-key <admin-api-key> \
--input-json '{
"namespace_id": "default",
"namespace": {
"project": {
"url": "https://<GITHUB_PAT>@github.com/my-org/durable-executions.git",
"fetch_interval": "60s"
}
}}'
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.git",
"fetch_interval": "60s"
}
}
}' \
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.git",
"fetch_interval": "60s"
}
}
}'
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.git",
"fetchInterval": "60s"
},
"apiKey": "<API_KEY>",
"secretsPublicKey": "<SECRETS_PUBLIC_KEY>"
}