Skip to content

Commit

Permalink
Update keptn-metrics-operator Helm chart (#105)
Browse files Browse the repository at this point in the history
Co-authored-by: RealAnna <[email protected]>
  • Loading branch information
keptn-bot and RealAnna authored Oct 31, 2023
1 parent 0858c6c commit 83423e3
Show file tree
Hide file tree
Showing 22 changed files with 1,964 additions and 0 deletions.
23 changes: 23 additions & 0 deletions charts/keptn-metrics-operator/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
47 changes: 47 additions & 0 deletions charts/keptn-metrics-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: v2
name: keptn-metrics-operator
description: A Helm chart for Keptn Metrics Operator, a subproject of Keptn
icon: "https://raw.githubusercontent.com/cncf/artwork/master/projects/keptn/icon/color/keptn-icon-color.svg"
home: https://keptn.sh
sources:
- "https://github.com/keptn/lifecycle-toolkit"
keywords:
- cloud-native
- metrics
- keptn
- operator
- analysis
annotations:
artifacthub.io/links: |
- name: support
url: https://github.com/keptn/lifecycle-toolkit/issues/new
- name: community
url: https://slack.keptn.sh/
artifacthub.io/license: "Apache-2.0"
artifacthub.io/operator: "true"

kubeVersion: ">= 1.24.0-0"
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "v0.8.3" # x-release-please-version
dependencies:
- name: common
repository: "https://charts.lifecycle.keptn.sh"
version: 0.1.0
82 changes: 82 additions & 0 deletions charts/keptn-metrics-operator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Keptn Metrics Operator

Keptn Metrics Operator introduces a more cloud-native approach for handling all metrics related to your application and
infrastructure.
It represents metrics in a uniform format, facilitating the re-usability of this data across multiple components
and allowing the usage of multiple observability platforms.
You can write SLO and SLI based on multiple data coming from multiple sources such as:
Prometheus, Dynatrace, DataDog and K8s metric server...

<!-- markdownlint-disable MD012 -->

## Parameters

### Global parameters

| Name | Description | Value |
| -------------------------- | ------------------------------------------------------------------------- | ----- |
| `global.imageRegistry` | Global container image registry | `""` |
| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` |
| `global.commonLabels` | Common annotations to add to all Keptn resources. Evaluated as a template | `{}` |
| `global.commonAnnotations` | Common annotations to add to all Keptn resources. Evaluated as a template | `{}` |

### Keptn Metrics Operator common

| Name | Description | Value |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- |
| `operatorService.ports[0]` | webhook port (must correspond to Mutating Webhook Configurations) | |
| `operatorService.ports[1]` | port to integrate with the K8s custom metrics API | |
| `operatorService.ports[2]` | port to integrate with metrics API (e.g. Keda) | |
| `operatorService.ports[0].name` | | `https` |
| `operatorService.ports[0].port` | | `8443` |
| `operatorService.ports[0].protocol` | | `TCP` |
| `operatorService.ports[0].targetPort` | | `https` |
| `operatorService.ports[1].name` | | `custom-metrics` |
| `operatorService.ports[1].port` | | `443` |
| `operatorService.ports[1].targetPort` | | `custom-metrics` |
| `operatorService.ports[2].name` | | `metrics` |
| `operatorService.ports[2].port` | | `9999` |
| `operatorService.ports[2].protocol` | | `TCP` |
| `operatorService.ports[2].targetPort` | | `metrics` |
| `operatorService.type` | | `ClusterIP` |
| `config.health.healthProbeBindAddress` | setup on what address to start the default health handler | `:8081` |
| `config.leaderElection.leaderElect` | decides whether to enable leader election with multiple replicas | `true` |
| `config.leaderElection.resourceName` | defines LeaderElectionID | `3f8532ca.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` | | `9443` |
| `Mutating` | Webhook Configurations for metrics Operator | |
| `webhookService.ports[0].port` | | `443` |
| `webhookService.ports[0].protocol` | | `TCP` |
| `webhookService.ports[0].targetPort` | | `9443` |
| `webhookService.type` | | `ClusterIP` |
| `nodeSelector` | add custom nodes selector to metrics operator | `{}` |
| `replicas` | customize number of installed metrics operator replicas | `1` |
| `tolerations` | add custom tolerations to metrics operator | `[]` |
| `topologySpreadConstraints` | add custom topology constraints to metrics operator | `[]` |
| `annotations` | add deployment level annotations | `{}` |
| `podAnnotations` | adds pod level annotations | `{}` |
| `kubernetesClusterDomain` | overrides cluster.local | `cluster.local` |

### Keptn Metrics Operator controller

| Name | Description | Value |
| --------------------------------------------------- | ------------------------------------------------------------- | ------------------------ |
| `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.exposeKeptnMetrics` | enable metrics exporter | `true` |
| `env.enableKeptnAnalysis` | enables/disables the analysis feature | `false` |
| `env.metricsControllerLogLevel` | sets the log level of Metrics Controller | `0` |
| `env.analysisControllerLogLevel` | sets the log level of Analysis Controller | `0` |
| `image.registry` | specify the container registry for the metrics-operator image | `ghcr.io` |
| `image.repository` | specify registry for manager image | `keptn/metrics-operator` |
| `image.tag` | select tag for manager image | `v0.8.3` |
| `imagePullPolicy` | specify pull policy for manager image | `Always` |
| `livenessProbe` | custom livenessprobe for manager container | |
| `readinessProbe` | custom readinessprobe for manager container | |
| `resources` | specify limits and requests for manager container | |
Loading

0 comments on commit 83423e3

Please sign in to comment.