Core
PaaS v2.x
2

Environments #

An environment belongs to a project and contains applications.

Controller: environment

Base HTTP route:

/projects/:projectId/environments

Create an environment #

await kuzzle.query({
  controller: 'environment',
  action: 'create',
  projectId: 'paas-project-my-project',
  body: {
    name: 'production',
    description: 'Production environment',
    size: 'M',
    applications: [],
    initKeycloakRealm: true
  }
});

HTTP route:

POST /projects/:projectId/environments

If initKeycloakRealm is true, the platform also creates the Keycloak realm for the environment.

List environments #

const environments = await kuzzle.query({
  controller: 'environment',
  action: 'list',
  projectId: 'paas-project-my-project'
});

HTTP route:

GET /projects/:projectId/environments

Get an environment #

const environment = await kuzzle.query({
  controller: 'environment',
  action: 'get',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

GET /projects/:projectId/environments/:environmentId

Update an environment #

const environment = await kuzzle.query({
  controller: 'environment',
  action: 'update',
  projectId: 'paas-project-my-project',
  environmentId: 'production',
  body: {
    description: 'Updated production environment',
    size: 'L'
  }
});

HTTP route:

PUT /projects/:projectId/environments/:environmentId

Refresh an environment #

Reconciles an existing environment with platform resources.

await kuzzle.query({
  controller: 'environment',
  action: 'refresh',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

POST /projects/:projectId/environments/:environmentId/_refresh

Response:

"refreshed"

The refresh continues asynchronously after the acknowledgement.

Disable an environment #

const environment = await kuzzle.query({
  controller: 'environment',
  action: 'disable',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

POST /projects/:projectId/environments/:environmentId/_disable

Enable an environment #

const environment = await kuzzle.query({
  controller: 'environment',
  action: 'enable',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

POST /projects/:projectId/environments/:environmentId/_enable

Delete an environment #

await kuzzle.query({
  controller: 'environment',
  action: 'delete',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

DELETE /projects/:projectId/environments/:environmentId

Create a Keycloak realm #

Creates a Keycloak realm for an existing environment.

const environment = await kuzzle.query({
  controller: 'environment',
  action: 'createKeycloakRealm',
  projectId: 'paas-project-my-project',
  environmentId: 'production'
});

HTTP route:

POST /projects/:projectId/environments/:environmentId/_keycloak

Environment sizes #

Supported sizes:

  • S
  • S_SLA
  • M
  • L

Environment statuses #

Known statuses:

  • Deploying
  • Deployed
  • Upgrading
  • Disabled
  • Errored