# Keptn

Keptn provides a cloud-native approach for pre- and post-deployment,
and application health checks

<!-- markdownlint-disable MD012 -->
## Parameters

### Keptn Lifecycle Operator common


### Global parameters

| Name                                                | Description                                                                                                                                                   | Value                                 |
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
| `global.certManagerEnabled`                         | Enable this value to install Keptn Certificate Manager                                                                                                        | `true`                                |
| `global.imageRegistry`                              | Global container image registry                                                                                                                               | `ghcr.io`                             |
| `global.imagePullSecrets`                           | Global Docker registry secret names as an array                                                                                                               | `[]`                                  |
| `global.imagePullPolicy`                            | select global image pull policy                                                                                                                               | `""`                                  |
| `global.commonLabels`                               | Common labels to add to all Keptn resources. Evaluated as a template                                                                                          | `{}`                                  |
| `global.commonAnnotations`                          | Common annotations to add to all Keptn resources. Evaluated as a template                                                                                     | `{}`                                  |
| `global.caInjectionAnnotations`                     | CA injection annotations for cert-manager.io configuration                                                                                                    | `{}`                                  |
| `global.openShift.enabled`                          | Enable this value to install on Openshift                                                                                                                     | `false`                               |
| `config.health.healthProbeBindAddress`              | setup on what address to start the default health handler                                                                                                     | `:8081`                               |
| `config.leaderElection.leaderElect`                 | enable leader election for multiple replicas of the lifecycle operator                                                                                        | `true`                                |
| `config.leaderElection.resourceName`                | define LeaderElectionID                                                                                                                                       | `6b866dd9.keptn.sh`                   |
| `config.metrics.bindAddress`                        | MetricsBindAddress is the TCP address that the controller should bind to for serving prometheus metrics. It can be set to "0" to disable the metrics serving. | `127.0.0.1:8080`                      |
| `config.webhook.port`                               | setup port for the lifecycle operator admission webhook                                                                                                       | `9443`                                |
| `webhookService`                                    | Mutating Webhook Configurations for lifecycle Operator                                                                                                        |                                       |
| `webhookService.ports[0].port`                      |                                                                                                                                                               | `443`                                 |
| `webhookService.ports[0].protocol`                  |                                                                                                                                                               | `TCP`                                 |
| `webhookService.ports[0].targetPort`                |                                                                                                                                                               | `9443`                                |
| `webhookService.type`                               |                                                                                                                                                               | `ClusterIP`                           |
| `containerSecurityContext`                          | Sets security context privileges                                                                                                                              |                                       |
| `containerSecurityContext.allowPrivilegeEscalation` |                                                                                                                                                               | `false`                               |
| `containerSecurityContext.capabilities.drop`        |                                                                                                                                                               | `["ALL"]`                             |
| `containerSecurityContext.privileged`               |                                                                                                                                                               | `false`                               |
| `containerSecurityContext.runAsGroup`               |                                                                                                                                                               | `65532`                               |
| `containerSecurityContext.runAsNonRoot`             |                                                                                                                                                               | `true`                                |
| `containerSecurityContext.runAsUser`                |                                                                                                                                                               | `65532`                               |
| `containerSecurityContext.seccompProfile.type`      |                                                                                                                                                               | `RuntimeDefault`                      |
| `env.functionRunnerImage`                           | specify image for deno task runtime                                                                                                                           | `ghcr.io/keptn/deno-runtime:v3.0.1`   |
| `env.keptnAppControllerLogLevel`                    | sets the log level of Keptn App Controller                                                                                                                    | `0`                                   |
| `env.keptnAppCreationRequestControllerLogLevel`     | sets the log level of Keptn App Creation Request Controller                                                                                                   | `0`                                   |
| `env.keptnAppVersionControllerLogLevel`             | sets the log level of Keptn AppVersion Controller                                                                                                             | `0`                                   |
| `env.keptnEvaluationControllerLogLevel`             | sets the log level of Keptn Evaluation Controller                                                                                                             | `0`                                   |
| `env.keptnTaskControllerLogLevel`                   | sets the log level of Keptn Task Controller                                                                                                                   | `0`                                   |
| `env.keptnTaskDefinitionControllerLogLevel`         | sets the log level of Keptn TaskDefinition Controller                                                                                                         | `0`                                   |
| `env.keptnWorkloadControllerLogLevel`               | sets the log level of Keptn Workload Controller                                                                                                               | `0`                                   |
| `env.keptnWorkloadVersionControllerLogLevel`        | sets the log level of Keptn WorkloadVersion Controller                                                                                                        | `0`                                   |
| `env.keptnDoraMetricsPort`                          | sets the port for accessing lifecycle metrics in prometheus format                                                                                            | `2222`                                |
| `env.optionsControllerLogLevel`                     | sets the log level of Keptn Options Controller                                                                                                                | `0`                                   |
| `env.pythonRunnerImage`                             | specify image for python task runtime                                                                                                                         | `ghcr.io/keptn/python-runtime:v1.0.8` |
| `image.registry`                                    | specify the container registry for the lifecycle-operator image                                                                                               | `""`                                  |
| `image.repository`                                  | specify registry for manager image                                                                                                                            | `keptn/lifecycle-operator`            |
| `image.tag`                                         | select tag for manager image                                                                                                                                  | `v2.0.0`                              |
| `image.imagePullPolicy`                             | specify pull policy for the manager image. This overrides global values                                                                                       | `""`                                  |
| `livenessProbe`                                     | custom liveness probe for manager container                                                                                                                   |                                       |
| `readinessProbe`                                    | custom readinessprobe for manager container                                                                                                                   |                                       |
| `resources`                                         | specify limits and requests for manager container                                                                                                             |                                       |
| `nodeSelector`                                      | add custom nodes selector to lifecycle operator                                                                                                               | `{}`                                  |
| `replicas`                                          | customize number of installed lifecycle operator replicas                                                                                                     | `1`                                   |
| `tolerations`                                       | add custom tolerations to lifecycle operator                                                                                                                  | `[]`                                  |
| `topologySpreadConstraints`                         | add custom topology constraints to lifecycle operator                                                                                                         | `[]`                                  |
| `hostNetwork`                                       | Sets hostNetwork option for lifecycle operator                                                                                                                | `false`                               |
| `operatorMetricsService`                            | Adjust settings here to change the k8s service for scraping Prometheus metrics                                                                                |                                       |

### Global

| Name                      | Description                                                                                                                       | Value                                                          |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `kubernetesClusterDomain` | overrides cluster.local                                                                                                           | `cluster.local`                                                |
| `annotations`             | add deployment level annotations                                                                                                  | `{}`                                                           |
| `podAnnotations`          | adds pod level annotations                                                                                                        | `{}`                                                           |
| `promotionTasksEnabled`   | enables the promotion task feature in the lifecycle-operator.                                                                     | `false`                                                        |
| `allowedNamespaces`       | specifies the allowed namespaces for the lifecycle orchestration functionality                                                    | `[]`                                                           |
| `deniedNamespaces`        | specifies a list of namespaces where the lifecycle orchestration functionality is disabled, ignored if `allowedNamespaces` is set | `["cert-manager","keptn-system","observability","monitoring"]` |
