Core
PaaS v2.x
2

Legacy deploy bridge #

Deprecated. This controller only exists for the few projects whose CI still deploys with kuzzleio/paas-action@<=1.2.2. It will be removed once the last of them has moved to console-driven releases and deployments. Do not build anything new on it.

Before Kuzzle PaaS organizations, a CI pipeline deployed an image by calling the platform with paas-action, addressing the project by its legacy index (paas-project-<name>). Those projects now live in organizations; this controller keeps the two calls paas-action makes working, at their historical HTTP routes, by resolving the legacy index to the organization project that replaced it and delegating to the org-application controller.

Controller: legacy-deploy

Access follows the same rule as the organization controllers: the caller must be allowed on the resolved organization project. A legacy index that matches no migrated project is answered with a 404 error.

Deploy an image #

Same behaviour and body as org-application:deploy.

await kuzzle.query({
  controller: 'legacy-deploy',
  action: 'deploy',
  projectId: 'paas-project-my-project',
  environmentId: 'production',
  applicationId: 'api',
  body: {
    image: {
      name: 'harbor.paas.kuzzle.io/my-company-my-project/api',
      tag: '1.2.3'
    }
  }
});

HTTP route (the one paas-action calls):

POST /_/projects/:projectId/environments/:environmentId/applications/:applicationId/_deploy

projectId is the legacy project index, paas-project-<name>.

Get an application #

Same result as org-application:get. paas-action polls it after a deploy to wait for the application to become healthy.

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

HTTP route:

GET /_/projects/:projectId/environments/:environmentId/applications/:applicationId