Manage the catalog
The catalog is a repository of Helm charts that are made available to teams in the Akamai App Platform, providing them with golden path templates for seamless and consistent deployments. Here's a short overview of how the catalog works:
-
Add a Helm chart to the
otomi/charts
repo in the local Gitea. -
Configure which teams can use the chart.
-
The selected teams can then create workloads from the Helm charts in the catalog.
Default Helm charts
By default, the catalog includes a few Helm charts to help teams get started with common workloads. The default Helm charts are not mandatory to use and can be removed or modified to your needs. They are primarily included as examples and to make it easier to get started.
Team-level helm charts
- Kubernetes Deployment (
k8s-deployment
): Creates a KubernetesDeployment
(to deploy a single image), aService
and aServiceAccount
. Optionally aHorizontalPodAutoscaler
, a PrometheusServiceMonitor
and aConfigmap
can be created. - Kubernetes Deployment with Open Telemetry Instrumentation (
k8s-deployment-otel
): Creates a KubernetesDeployment
(to deploy a single image), aService
, aServiceAccount
, anOpenTelemetryCollector
and anInstrumentation
. Optionally aHorizontalPodAutoscaler
, a PrometheusServiceMonitor
and aConfigmap
can be created. - Kubernetes Canary Deployments (
k8s-deployments-canary
): Creates two KubernetesDeployments
(to deploy 2 versions of an image), aService
and aServiceAccount
. Optionally aHorizontalPodAutoscaler
, a PrometheusServiceMonitor
and aConfigmap
(for each version) can be created. - Knative-service (
knative-service
): Creates a KnativeService
(to deploy a single image), aService
and aServiceAccount
. Optionally a PrometheusServiceMonitor
can be created. - PostgreSQL cluster (
postgresql-cluster
): Creates a cloudnativepg PostgreSQLCluster
. Optionally a PrometheusPodMonitor
and aConfigmap
(for adding a postgresql dashboard to Grafana) can be created. - Redis master-replica cluster (
redis-cluster
): Creates a Redis master-replica cluster. - RabbitMQ Cluster and/or Queues (
rabbitmq-cluster
): Creates aRabbitmqCluster
,queues
andPolicy
s. Using therabbitmq-cluster
Helm chart requiresRabbitMQ
to be enabled by a platform administrator. - SpinApp (
spin-app
): Creates aSpinApp
. A SpinApp is a Custom Resource to deploy WebAssembly microservices and web applications based on Spin. Using thespin-app
Helm chart requires aspin-shim-executor
to be added to the Team by a platform administrator.
Admin helm charts
- Kwasm Operator (
kwasm-operator
): Adds WebAssembly support to the Kubernetes nodes.kwasm-operator
is a prerequisite for installingspin-operator
. - Spin Operator (
spin-operator
): Enables the deployment of Spin applications to Kubernetes. - Spin Shim Executor (
spin-shim-executor
): Creates aSpinAppExecutor
utilized by Spin Operator to determine which executor type should be used in running a SpinApp. - KubeFlow Pipelines Cluster Resources (
kfp-cluster-resources
): Installs the KubeFlow Pipelines CRDs. - Kubeflow Pipelines (
kubeflow-pipelines
): Installs KubeFlow Pipelines within any team.
Customize the catalog
Helm charts can be added, removed, or modified by making commits to the otomi/charts
repository within your cluster's local Gitea instance. Pull down the otomi/charts
repository, make your changes, and push those changes. Any newly added charts will immediately become available in the catalog for teams to use.
Configure chart access
For charts to become available for teams to use, teams need to be given access to use a chart. The catalog supports the following access options:
-
Everybody: If a chart can be used by all teams, including the
team-admin
Team, add the following to therbac.yaml
in the root of theotomi/charts
repository:rbac: chart-name: null
-
Specific teams:
If a chart is only allowed to be used by one or more specific teams, add the following to the
rbac.yaml
:rbac: chart-name: - team-demo - team-hello
-
Admin team (
team-admin
) only: To allow a chart to be used by theteam-admin
only, add the following to therbac.yaml
:rbac: chart-name: - team-admin
Updated 3 days ago