Environments #
An environment belongs to a project and contains applications.
Controller: org-environment
Base HTTP route:
/organizations/:organizationId/projects/:projectId/environmentsEnvironment fields (name, size, ...) are passed as query parameters, not as a request body.
Create an environment #
const environment = await kuzzle.query({
controller: 'org-environment',
action: 'create',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
name: 'production',
description: 'Production environment',
size: 'M',
initKeycloakRealm: 'true'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments?name=production&size=MOptional parameters:
description: human-readable description.size: environment size (see Environment sizes).tier: deployment tier, one ofuat,stagingorprod.initKeycloakRealm: set to the string'true'to also provision a Keycloak realm for the environment.
List environments #
const environments = await kuzzle.query({
controller: 'org-environment',
action: 'list',
organizationId: 'paas-org-my-company',
projectId: 'my-project'
});HTTP route:
GET /organizations/:organizationId/projects/:projectId/environmentsGet an environment #
const environment = await kuzzle.query({
controller: 'org-environment',
action: 'get',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
GET /organizations/:organizationId/projects/:projectId/environments/:environmentIdRefresh an environment #
Reconciles an environment status with ArgoCD.
const environment = await kuzzle.query({
controller: 'org-environment',
action: 'refresh',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/_refreshDisable an environment #
Disables the environment and its applications.
await kuzzle.query({
controller: 'org-environment',
action: 'disable',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/_disableEnable an environment #
await kuzzle.query({
controller: 'org-environment',
action: 'enable',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/_enableDelete an environment #
Deletes the environment and tears down its external resources (Keycloak realm, then monitoring).
await kuzzle.query({
controller: 'org-environment',
action: 'delete',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
DELETE /organizations/:organizationId/projects/:projectId/environments/:environmentIdCreate a Keycloak realm #
Provisions a Keycloak realm for an existing environment.
const environment = await kuzzle.query({
controller: 'org-environment',
action: 'createKeycloakRealm',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/_keycloakCreate a Scaleway SMTP API key #
Creates a Scaleway SMTP API key for an environment (used for transactional email).
const apiKey = await kuzzle.query({
controller: 'org-environment',
action: 'createScalewaySmtpApiKey',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/scaleway/smtp-api-keyGitHub deployment environment #
Owner/admin actions to wire an environment to GitHub Actions deployments (the project must be connected to a GitHub repository first — see Projects):
configureGithubEnvironment— creates the native GitHub Environment on the project repository (POST .../environments/:environmentId/github).generateGithubDeploymentCredentials— creates a per-environment Harbor robot account and propagates it as GitHub secrets (POST .../environments/:environmentId/github/credentials).
Environment sizes #
Supported sizes:
SS_SLAML
Environment statuses #
Known statuses:
DeployingDeployedUpgradingDisabledErrored