Core
PaaS v2.x
2

Kuzzle PaaS #

Kuzzle PaaS is a managed platform for hosting Kuzzle-based applications and related services in isolated environments.

It is designed for teams that want to build and deploy their application code while Kuzzle operates the underlying infrastructure: Kubernetes namespaces, DNS, TLS, container registry integration, monitoring, backups and default service configuration.

Core concepts #

Kuzzle PaaS is organised around four nested resources: an organization owns projects, a project groups environments, and an environment runs applications.

Organization #

An organization is the top-level tenant in Kuzzle PaaS. It groups the projects, members and access rights of one company or team under a single banner.

In the API, an organization is a Kuzzle tenant of the org group (its index looks like paas-org-<name>). Members belong to an organization with a role (owner, admin or member) and can be granted access to specific projects.

Project #

A project is the main isolation boundary inside an organization. It groups environments, configuration, container images, monitoring resources and access rights for one product or initiative.

In the API, a project is a multi-tenancy soft tenant of its organization: it is identified by a short projectId (for example my-project) and is always addressed together with its organizationId.

Environment #

An environment belongs to a project and contains one or more applications. Typical environments are dev, staging and production.

Each environment has a size, a lifecycle status and optional Keycloak configuration.

Application #

An application is a deployable component inside an environment.

Supported application types include:

  • kuzzle
  • kuzzleES8
  • webapp
  • custom

Applications are deployed through ArgoCD and can be updated, disabled, enabled, deleted or redeployed with a new Docker image.

Managed services #

Kuzzle PaaS integrates several managed services around your applications.

Private package registry #

Licensed Kuzzle packages are distributed through the private package registry.

See Access private packages.

Container registry #

Each project can use private container images stored in the Kuzzle PaaS registry (Harbor). Environments deploy images from this registry, and the API exposes the deployable image versions of an application so CI/CD tools and deployment scripts can discover them.

Monitoring and alerting #

Environments are connected to Grafana monitoring dashboards and can post alerts to Slack webhooks.

See Monitoring and alerts API.

Keycloak #

Kuzzle PaaS can provision a Keycloak realm for an environment and expose logout URL generation through the API.

Public API #

The backend exposes controllers for organization, project, environment and application management.

Start with API overview.

Responsibility split #

AreaYou handleKuzzle PaaS handles
Application codeDevelopment, tests, business logic
Container imagesBuild and push imagesRegistry integration
DeploymentsTrigger deployments through API or CI/CDArgoCD synchronization and Kubernetes resources
InfrastructureCluster operations, TLS, DNS, storage and monitoring
OperationsAlert routing and project membersPlatform maintenance and managed services

Community #