From 25253381b90468ad52292b6be8058fe7b3a0c298 Mon Sep 17 00:00:00 2001 From: Anders Bennedsgaard Date: Tue, 8 Aug 2023 17:52:21 +0200 Subject: [PATCH] update docs --- charts/cheetah-application/Chart.yaml | 2 +- charts/cheetah-application/README.md | 74 +++++++++--------- charts/cheetah-application/values.yaml | 102 ++++++++++++++++++------- charts/flink-job/Chart.yaml | 2 +- charts/flink-job/README.md | 27 +++---- charts/flink-job/values.yaml | 43 +++++++---- 6 files changed, 153 insertions(+), 97 deletions(-) diff --git a/charts/cheetah-application/Chart.yaml b/charts/cheetah-application/Chart.yaml index 53a6458a..be34536d 100644 --- a/charts/cheetah-application/Chart.yaml +++ b/charts/cheetah-application/Chart.yaml @@ -7,7 +7,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.2 +version: 0.6.3 dependencies: - name: image-automation diff --git a/charts/cheetah-application/README.md b/charts/cheetah-application/README.md index 8c190384..6361e043 100644 --- a/charts/cheetah-application/README.md +++ b/charts/cheetah-application/README.md @@ -1,6 +1,6 @@ # cheetah-application -![Version: 0.6.2](https://img.shields.io/badge/Version-0.6.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +![Version: 0.6.3](https://img.shields.io/badge/Version-0.6.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) A Helm chart for Cheetah Data Platform applications @@ -29,12 +29,13 @@ If the container must run as root, you can set `podSecurityContext.runAsNonRoot= | Key | Type | Default | Description | |-----|------|---------|-------------| -| replicaCount | int | `1` | | -| image.repository | string | `""` | Image repository. Such as ghcr.io/trifork/cheetah-webapi | -| image.tag | string | `""` | Image tag | -| image.pullPolicy | string | `"IfNotPresent"` | | -| global | object | `{"image":{"repository":""},"imagePullSecrets":[]}` | Only used to decrease duplicate configuration of this chart, if imageAutomation is used as a sub chart. Overrides the local values if given | -| imagePullSecrets | list | `[]` | | +| replicaCount | int | `1` | Number of pod replicas. For high availability, 3 or more is recommended | +| image.repository | string | `""` | Which image repository to use. Such as ghcr.io/trifork/cheetah-webapi | +| image.tag | string | `""` | Which image tag to use | +| image.pullPolicy | string | `"IfNotPresent"` | Which image pull policy to use | +| global.image.repository | string | `""` | Set the global image repository If image automation is enabled, this is useful to reduce configuration duplication | +| global.imagePullSecrets | list | `[]` | Set the global image pull secrets If image automation is enabled, this is useful to reduce configuration duplication | +| imagePullSecrets | list | `[]` | Array of image pull secrets. Each entry follows the `name: ` format | | nameOverride | string | `""` | | | fullnameOverride | string | `""` | | | command | list | `[]` | Override the default command | @@ -42,51 +43,48 @@ If the container must run as root, you can set `podSecurityContext.runAsNonRoot= | serviceAccount.create | bool | `true` | Specifies whether a service account should be created | | serviceAccount.annotations | object | `{}` | Annotations to add to the service account | | serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | -| podAnnotations | object | `{}` | | -| podLabels | object | `{}` | | -| podSecurityContext.runAsNonRoot | bool | `true` | | -| podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | -| securityContext.allowPrivilegeEscalation | bool | `false` | | -| securityContext.readOnlyRootFilesystem | bool | `true` | | -| securityContext.capabilities.drop[0] | string | `"ALL"` | | -| containerPort | int | `8000` | | -| volumes | list | `[]` | | -| volumeMounts | list | `[]` | | -| service.type | string | `"ClusterIP"` | | -| service.port | int | `8000` | | +| podLabels | object | `{}` | Extra pod labels | +| podAnnotations | object | `{}` | Extra pod annotations | +| containerPort | int | `8000` | Which container port to use for primary traffic | +| volumes | list | `[]` | Extra volumes added to the pod See https://kubernetes.io/docs/concepts/storage/volumes/ | +| volumeMounts | list | `[]` | Extra volume mounts added to the primary container See https://kubernetes.io/docs/concepts/storage/volumes/ | +| service.type | string | `"ClusterIP"` | Which type of service to expose the pods with | +| service.port | int | `8000` | Which service port to use | | ingress.enabled | bool | `false` | Whether to expose the service or not | -| ingress.className | string | `"nginx"` | | -| ingress.annotations."nginx.ingress.kubernetes.io/ssl-redirect" | string | `"true"` | | -| ingress.annotations."nginx.ingress.kubernetes.io/force-ssl-redirect" | string | `"true"` | | -| ingress.annotations."cert-manager.io/cluster-issuer" | string | `"letsencrypt-prod"` | | -| ingress.hosts[0] | object | `{"host":"chart-example.local","paths":[{"path":"/","pathType":"ImplementationSpecific"}]}` | Which host to expose the service under | -| ingress.tls.enabled | bool | `true` | | -| ingress.tls.secretName | string | `""` | | -| env | list | `[]` | | -| envFrom | list | `[]` | | -| startupProbe.enabled | bool | `false` | | -| startupProbe.httpGet.path | string | `"/"` | | -| startupProbe.httpGet.port | string | `"http"` | | +| ingress.className | string | `"nginx"` | Which ingressClass to use | +| ingress.annotations | object | (see [values.yaml](values.yaml)) | Extra ingress annotations. | +| ingress.hosts | list | `[]` | Host configuration. See [values.yaml](values.yaml) for formatting | +| ingress.tls.enabled | bool | `true` | Enable TLS in the ingress resource | +| ingress.tls.secretName | string | `""` | Secret containing TLS certificates | +| env | list | `[]` | Extra environment variables for the container. See [values.yaml](values.yaml) for formatting | +| envFrom | list | `[]` | Extra sources of environment variables, such as ConfigMap/Secret. See [values.yaml](values.yaml) for formatting | +| startupProbe.enabled | bool | `false` | Whether to enable a startup probe for the application. This generally not recommended, but can be used for slow-starting applications. See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | +| startupProbe.httpGet.path | string | `"/"` | Which path to look for liveness | +| startupProbe.httpGet.port | string | `"http"` | Which port to use | | startupProbe.initialDelaySeconds | int | `30` | | | startupProbe.failureThreshold | int | `3` | | | startupProbe.periodSeconds | int | `10` | | | startupProbe.timeoutSeconds | int | `1` | | -| livenessProbe.enabled | bool | `true` | | +| livenessProbe.enabled | bool | `true` | Whether to enable a liveness probe for the application. See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | livenessProbe.httpGet.path | string | `"/"` | Which path to look for liveness | -| livenessProbe.httpGet.port | string | `"http"` | | +| livenessProbe.httpGet.port | string | `"http"` | Which port to use | | livenessProbe.initialDelaySeconds | int | `30` | | | livenessProbe.failureThreshold | int | `3` | | | livenessProbe.periodSeconds | int | `10` | | | livenessProbe.timeoutSeconds | int | `1` | | -| readinessProbe.enabled | bool | `true` | | +| readinessProbe.enabled | bool | `true` | Whether to enable a readiness probe for the application. See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ | | readinessProbe.httpGet.path | string | `"/"` | Which path to look for readiness | -| readinessProbe.httpGet.port | string | `"http"` | | +| readinessProbe.httpGet.port | string | `"http"` | Which port to use | | readinessProbe.initialDelaySeconds | int | `30` | | | readinessProbe.failureThreshold | int | `3` | | | readinessProbe.periodSeconds | int | `10` | | | readinessProbe.timeoutSeconds | int | `1` | | -| resources | object | `{}` | Resource limits. See `values.yaml` for an example | -| monitoring | object | `{"enabled":false,"path":"/metrics","port":1854}` | Observability settings | +| resources | object | `{}` | Resource limits. See [values.yaml](values.yaml) for formatting | +| podSecurityContext | object | (see [values.yaml](values.yaml)) | Security context for the entire pod. | +| securityContext | object | (see [values.yaml](values.yaml)) | Security context for the primary container. | +| monitoring.enabled | bool | `false` | Whether to enable Prometheus scraping by creating a ServiceMonitor resource | +| monitoring.port | int | `1854` | Which port to look for Prometheus metrics | +| monitoring.path | string | `"/metrics"` | Which path to look for Prometheus metrics | | pdb.create | bool | `false` | Whether to create a PodDisruptionBudget for ensuring that an application is always available | | pdb.labels | object | `{}` | Extra labels for the PodDisruptionBudget | | pdb.annotations | object | `{}` | Extra annotations for the PodDisruptionBudget | @@ -100,7 +98,7 @@ If the container must run as root, you can set `podSecurityContext.runAsNonRoot= | nodeSelector | object | `{}` | | | tolerations | list | `[]` | | | affinity | object | `{}` | | -| image-automation | object | `{"enabled":false}` | Settings passed to the image-automation chart | +| image-automation.enabled | bool | `false` | Whether to enable the image-automation subchart. Any other configuration given here, is passed to it | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0) diff --git a/charts/cheetah-application/values.yaml b/charts/cheetah-application/values.yaml index 8de3693d..4b49a00e 100644 --- a/charts/cheetah-application/values.yaml +++ b/charts/cheetah-application/values.yaml @@ -2,23 +2,30 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- Number of pod replicas. For high availability, 3 or more is recommended replicaCount: 1 image: - # -- Image repository. Such as ghcr.io/trifork/cheetah-webapi + # -- Which image repository to use. Such as ghcr.io/trifork/cheetah-webapi repository: "" - # -- Image tag + # -- Which image tag to use tag: "" + # -- Which image pull policy to use pullPolicy: IfNotPresent -# -- Only used to decrease duplicate configuration of this chart, if imageAutomation is used as a sub chart. -# Overrides the local values if given global: image: + # -- Set the global image repository + # If image automation is enabled, this is useful to reduce configuration duplication repository: "" + # -- Set the global image pull secrets + # If image automation is enabled, this is useful to reduce configuration duplication imagePullSecrets: [] +# -- Array of image pull secrets. +# Each entry follows the `name: ` format imagePullSecrets: [] + nameOverride: "" fullnameOverride: "" @@ -36,52 +43,55 @@ serviceAccount: # If not set and create is true, a name is generated using the fullname template name: "" -podAnnotations: {} +# -- Extra pod labels podLabels: {} +# -- Extra pod annotations +podAnnotations: {} -podSecurityContext: - runAsNonRoot: true - seccompProfile: - type: RuntimeDefault - # fsGroup: 2000 - -securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - capabilities: - drop: - - ALL - # runAsUser: 1000 - # runAsGroup: 1000 - +# -- Which container port to use for primary traffic containerPort: 8000 +# -- Extra volumes added to the pod +# See https://kubernetes.io/docs/concepts/storage/volumes/ volumes: [] +# -- Extra volume mounts added to the primary container +# See https://kubernetes.io/docs/concepts/storage/volumes/ volumeMounts: [] service: + # -- Which type of service to expose the pods with type: ClusterIP + # -- Which service port to use port: 8000 ingress: # -- Whether to expose the service or not enabled: false + # -- Which ingressClass to use className: "nginx" + # -- Extra ingress annotations. + # @default -- (see [values.yaml](values.yaml)) annotations: nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/force-ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" + # -- Host configuration. + # See [values.yaml](values.yaml) for formatting hosts: - # -- Which host to expose the service under - - host: chart-example.local - paths: - - path: / - pathType: ImplementationSpecific + [] + # - host: chart-example.local + # paths: + # - path: / + # pathType: ImplementationSpecific tls: + # -- Enable TLS in the ingress resource enabled: true + # -- Secret containing TLS certificates secretName: "" +# -- Extra environment variables for the container. +# See [values.yaml](values.yaml) for formatting env: [] # - name: SECRET_USERNAME # valueFrom: @@ -91,14 +101,21 @@ env: [] # - name: DEMO_GREETING # value: "Hello from the environment" +# -- Extra sources of environment variables, such as ConfigMap/Secret. +# See [values.yaml](values.yaml) for formatting envFrom: [] # - secretRef: # name: very-secret-secret startupProbe: + # -- Whether to enable a startup probe for the application. + # This generally not recommended, but can be used for slow-starting applications. + # See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ enabled: false httpGet: + # -- Which path to look for liveness path: / + # -- Which port to use port: http initialDelaySeconds: 30 failureThreshold: 3 @@ -106,10 +123,13 @@ startupProbe: timeoutSeconds: 1 livenessProbe: + # -- Whether to enable a liveness probe for the application. + # See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ enabled: true httpGet: # -- Which path to look for liveness path: / + # -- Which port to use port: http initialDelaySeconds: 30 failureThreshold: 3 @@ -117,17 +137,21 @@ livenessProbe: timeoutSeconds: 1 readinessProbe: + # -- Whether to enable a readiness probe for the application. + # See https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ enabled: true httpGet: # -- Which path to look for readiness path: / + # -- Which port to use port: http initialDelaySeconds: 30 failureThreshold: 3 periodSeconds: 10 timeoutSeconds: 1 -# -- Resource limits. See `values.yaml` for an example +# -- Resource limits. +# See [values.yaml](values.yaml) for formatting resources: {} # limits: @@ -137,10 +161,31 @@ resources: # cpu: 100m # memory: 128Mi -# -- Observability settings +# -- Security context for the entire pod. +# @default -- (see [values.yaml](values.yaml)) +podSecurityContext: + runAsNonRoot: true + seccompProfile: + type: RuntimeDefault + # fsGroup: 2000 + +# -- Security context for the primary container. +# @default -- (see [values.yaml](values.yaml)) +securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + # runAsUser: 1000 + # runAsGroup: 1000 + monitoring: + # -- Whether to enable Prometheus scraping by creating a ServiceMonitor resource enabled: false + # -- Which port to look for Prometheus metrics port: 1854 + # -- Which path to look for Prometheus metrics path: "/metrics" pdb: @@ -173,6 +218,7 @@ tolerations: [] affinity: {} -# -- Settings passed to the image-automation chart image-automation: + # -- Whether to enable the image-automation subchart. + # Any other configuration given here, is passed to it enabled: false diff --git a/charts/flink-job/Chart.yaml b/charts/flink-job/Chart.yaml index 62eae146..6acb61b4 100644 --- a/charts/flink-job/Chart.yaml +++ b/charts/flink-job/Chart.yaml @@ -7,7 +7,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.3.8 +version: 0.3.9 dependencies: - name: image-automation diff --git a/charts/flink-job/README.md b/charts/flink-job/README.md index e7386110..07e10202 100644 --- a/charts/flink-job/README.md +++ b/charts/flink-job/README.md @@ -1,6 +1,6 @@ # flink-job -![Version: 0.3.8](https://img.shields.io/badge/Version-0.3.8-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +![Version: 0.3.9](https://img.shields.io/badge/Version-0.3.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) A Helm chart for handling Cheetah Data Platform Flink jobs @@ -121,16 +121,17 @@ Read more about Flink and highly available job-managers [here](https://nightlies |-----|------|---------|-------------| | nameOverride | string | `""` | | | fullnameOverride | string | `""` | | -| global | object | `{"image":{"repository":""},"imagePullSecrets":[]}` | Only used to decrease duplicate configuration of this chart, if image-automation is used as a sub chart. Overrides the local values if given | | image.repository | string | `"flink"` | Which image repository to use | | image.tag | string | `"main"` | Which image tag to use | | image.sha | string | `""` | Which image sha to use. If used, the `image.tag` is ignored | | image.pullPolicy | string | `"Always"` | Which image pull policy to use | -| imagePullSecrets | list | `[]` | Image pull secrets. A list of `name: ` | +| global.image.repository | string | `""` | Set the global image repository If image automation is enabled, this is useful to reduce configuration duplication | +| global.imagePullSecrets | list | `[]` | Set the global image pull secrets If image automation is enabled, this is useful to reduce configuration duplication | +| imagePullSecrets | list | `[]` | Array of image pull secrets. Each entry follows the `name: ` format | | version | string | `"v1_16"` | Which Flink version to use | -| flinkConfiguration | object | (see values.yaml) | Flink configuration For more configuration options, see here: For specific metrics configuration, see here: | +| flinkConfiguration | object | (see [values.yaml](values.yaml)) | Flink configuration For more configuration options, see here: For specific metrics configuration, see here: | | restartNonce | int | `0` | change this to force a restart of the job, see for more info | -| logConfiguration | object | `{"log4j-console.properties":"rootLogger.level = WARN\nrootLogger.appenderRef.console.ref = ConsoleAppender\n\n# Log all infos to the console\nappender.console.name = ConsoleAppender\nappender.console.type = CONSOLE\nappender.console.layout.type = PatternLayout\nappender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n\n\n# Suppress the irrelevant (wrong) warnings from the Netty channel handler\nlogger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline\nlogger.netty.level = OFF\n\n# Ensure we get failure logs on startup\nlogger.bootstrap.name = org.apache.flink.client.deployment.application.ApplicationDispatcherBootstrap\nlogger.bootstrap.level = INFO\n"}` | Custom logging configuration | +| logConfiguration | object | (see [values.yaml](values.yaml)) | Custom logging configuration | | mode | string | `"native"` | Cluster deployment mode. Support values are `native` and `standalone` `native` is the recommended mode, as this makes Flink aware of it running on Kubernetes | | storage.scheme | string | `""` | File storage scheme. Allowed values follows supported URI schemes, as explained [here](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/filesystems/overview/) To use S3 storage set `scheme=s3`, to use local file-system use `scheme=file`, etc. | | storage.baseDir | string | `""` | Set the base directory for the HA, savepoints, and checkpoints storage. Generates a directory tree, based on the file system scheme, base directory, release name, and storage type (savepoint, checkpoint, or HA metadata) | @@ -146,14 +147,14 @@ Read more about Flink and highly available job-managers [here](https://nightlies | job.jarURI | string | `""` | The path of the job jar | | job.entryClass | string | `""` | The name of the job class | | job.args | list | `[]` | Arguments for the job | -| job.topics | list | `[]` | Define which topics this job will consume. Used for data-discovery in Cheetah Backstage. If the `arg` variable is set, adds `-- ` to the arguments passed to the job See `values.yaml` for the format | +| job.topics | list | `[]` | Define which topics this job will consume. Used for data-discovery in Cheetah Backstage. If the `arg` variable is set, adds `-- ` to the arguments passed to the job See [values.yaml](values.yaml) for the format | | job.parallelism | int | `1` | How many jobs to run in parallel, see more here: | | job.state | string | `"running"` | Desired state of the job. Must be either: `running` or `suspended` | | job.upgradeMode | string | `"savepoint"` | Application upgrade mode. Must be either: stateless, last_state, savepoint `stateless` upgrades is done from an empty state `last-state` does a quick upgrade. Does not require the job to be in a healthy state, as it makes use of the HA metadata `savepoint` makes use of savepoints when upgrading and requires the job to be running. This provides maximal safety Read more here: | | job.savepointTriggerNonce | int | `0` | change this to trigger a savepoint manually, see more here: | | job.initialSavepointPath | string | `""` | change this to force a manual recovery checkpoint, see more here: | | job.allowNonRestoredState | bool | `false` | If this is true, it will ignore the past checkpoints and start anew. Usefull if the job schema has changed. | -| podTemplate | string | (see values.yaml) | Shared job-/task-manager pod template. Overridden by `(job/task)Manager.podTemplate`. The main flink-container must be called "flink-main-container" | +| podTemplate | string | (see [values.yaml](values.yaml)) | Shared job-/task-manager pod template. Overridden by `(job/task)Manager.podTemplate`. The main flink-container must be called "flink-main-container" | | taskManager.replicas | int | `1` | Number of replicas | | taskManager.resource.memory | string | `"1Gb"` | Memory to reserve for each Task Manager. The amount needed depends on the amount of data to be processed by each Task Manager, and how much state it should store in memory. | | taskManager.resource.cpu | float | `0.1` | CPU requests. CPU limits is CPU requests multiplied by flinkConfiguration."kubernetes.jobmanager.cpu.limit-factor" | @@ -165,7 +166,7 @@ Read more about Flink and highly available job-managers [here](https://nightlies | taskManager.podLabels | object | `{}` | Additional labels attached to the pods | | taskManager.podAnnotations | object | `{}` | Additional annotations attached to the pods | | taskManager.initContainers | list | `[]` | InitContainers for the pods | -| taskManager.podTemplate | string | (see values.yaml) | Pod template. Overrides the main `podTemplate`. The main flink-container must be called "flink-main-container" | +| taskManager.podTemplate | string | (see [values.yaml](values.yaml)) | Pod template. Overrides the main `podTemplate`. The main flink-container must be called "flink-main-container" | | jobManager.replicas | int | `1` | Number of replicas | | jobManager.resource.memory | string | `"1Gb"` | Memory to reserve for the Job Manager. The default value should be ok for most jobs. | | jobManager.resource.cpu | float | `0.1` | CPU requests. CPU limits is CPU requests multiplied by flinkConfiguration."kubernetes.jobmanager.cpu.limit-factor" | @@ -177,12 +178,12 @@ Read more about Flink and highly available job-managers [here](https://nightlies | jobManager.podLabels | object | `{}` | Additional labels attached to the pods | | jobManager.podAnnotations | object | `{}` | Additional annotations attached to the pods | | jobManager.initContainers | list | `[]` | InitContainers for the pods | -| jobManager.podTemplate | string | (see values.yaml) | Pod template. Overrides the main `podTemplate`. The main flink-container must be called "flink-main-container" | +| jobManager.podTemplate | string | (see [values.yaml](values.yaml)) | Pod template. Overrides the main `podTemplate`. The main flink-container must be called "flink-main-container" | | metrics.enabled | bool | `true` | Enable metrics scraping. Define flinkProperties to define the monitoring properties | | metrics.port | int | `9249` | Port on both job- and task-manager where metrics are exposed | -| metrics.serviceMonitor.enabled | bool | `true` | | +| metrics.serviceMonitor.enabled | bool | `true` | Whether to create a ServiceMonitor for easy configuration of scrape targets | | metrics.serviceMonitor.scheme | string | `""` | The http scheme to use for the default metrics endpoint (http/https) | -| metrics.serviceMonitor.tlsConfig | object | (see values.yaml) | TLS config applied when using the 'https' scheme. | +| metrics.serviceMonitor.tlsConfig | object | (see [values.yaml](values.yaml)) | TLS config applied when using the 'https' scheme. | | metrics.serviceMonitor.path | string | `""` | Override the metrics scrape path | | metrics.serviceMonitor.interval | string | `""` | Override the default scrape interval | | metrics.serviceMonitor.scrapeTimeout | string | `""` | Override the default scrape timeout | @@ -193,7 +194,7 @@ Read more about Flink and highly available job-managers [here](https://nightlies | metrics.serviceMonitor.extraMetricsEndpoints | list | `[]` | Extra ServiceMonitor metrics endpoints | | metrics.serviceMonitor.targetLabels | list | `["component","cluster"]` | Copy pod labels onto the metrics targets | | metrics.serviceMonitor.jobLabel | string | `"app"` | JobLabel selects the label from the associated Kubernetes Service resource which will be used as the job label for all metrics | -| metrics.service.enabled | bool | `true` | | +| metrics.service.enabled | bool | `true` | Whether to create a Kubernetes Service | | metrics.service.targetPort | string | `"metrics"` | Override the target port for metrics | | metrics.service.selectors | object | `{}` | Extra pod selector labels | | metrics.service.labels | object | `{}` | Extra Service labels | @@ -220,7 +221,7 @@ Read more about Flink and highly available job-managers [here](https://nightlies | ingress.annotations | object | `{}` | Extra Ingress annotations | | ingress.tlsSecret | string | `""` | Add TLS certificates from an existing secret | | ingress.selfSigned | bool | `false` | Create a self-signed TLS secret | -| image-automation | object | `{"enabled":false}` | Settings passed to the image-automation chart, Image-automation is not possible when using image-sha as a tagging strategy | +| image-automation.enabled | bool | `false` | Whether to enable the image-automation subchart. Image-automation is not possible when using image-sha as a tagging strategy. Any other configuration given here, is passed to it | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0) diff --git a/charts/flink-job/values.yaml b/charts/flink-job/values.yaml index 98babd55..c34297c4 100644 --- a/charts/flink-job/values.yaml +++ b/charts/flink-job/values.yaml @@ -3,13 +3,6 @@ nameOverride: "" fullnameOverride: "" -# -- Only used to decrease duplicate configuration of this chart, if image-automation is used as a sub chart. -# Overrides the local values if given -global: - image: - repository: "" - imagePullSecrets: [] - image: # -- Which image repository to use repository: flink @@ -20,7 +13,17 @@ image: # -- Which image pull policy to use pullPolicy: Always -# -- Image pull secrets. A list of `name: ` +global: + image: + # -- Set the global image repository + # If image automation is enabled, this is useful to reduce configuration duplication + repository: "" + # -- Set the global image pull secrets + # If image automation is enabled, this is useful to reduce configuration duplication + imagePullSecrets: [] + +# -- Array of image pull secrets. +# Each entry follows the `name: ` format imagePullSecrets: [] # -- Which Flink version to use @@ -29,7 +32,7 @@ version: v1_16 # -- Flink configuration # For more configuration options, see here: # For specific metrics configuration, see here: -# @default -- (see values.yaml) +# @default -- (see [values.yaml](values.yaml)) flinkConfiguration: state.backend: "hashmap" execution.checkpointing.interval: "10 minutes" @@ -41,7 +44,9 @@ flinkConfiguration: # -- change this to force a restart of the job, # see for more info restartNonce: 0 + # -- Custom logging configuration +# @default -- (see [values.yaml](values.yaml)) logConfiguration: log4j-console.properties: |+ rootLogger.level = WARN @@ -60,6 +65,7 @@ logConfiguration: # Ensure we get failure logs on startup logger.bootstrap.name = org.apache.flink.client.deployment.application.ApplicationDispatcherBootstrap logger.bootstrap.level = INFO + # -- Cluster deployment mode. Support values are `native` and `standalone` # `native` is the recommended mode, as this makes Flink aware of it running on Kubernetes mode: native @@ -72,9 +78,11 @@ storage: # -- Set the base directory for the HA, savepoints, and checkpoints storage. # Generates a directory tree, based on the file system scheme, base directory, release name, and storage type (savepoint, checkpoint, or HA metadata) baseDir: "" + istio: # -- Whether istio is enabled on the cluster or not enabled: true + # -- Extra ports to open on both job- and task-manager ports: [] # -- Extra environment variables to set on both job- and task-manager @@ -102,7 +110,7 @@ job: # -- Define which topics this job will consume. # Used for data-discovery in Cheetah Backstage. # If the `arg` variable is set, adds `-- ` to the arguments passed to the job - # See `values.yaml` for the format + # See [values.yaml](values.yaml) for the format topics: [] # must be defined as follows # - arg: @@ -148,7 +156,7 @@ job: # -- Shared job-/task-manager pod template. # Overridden by `(job/task)Manager.podTemplate`. # The main flink-container must be called "flink-main-container" -# @default -- (see values.yaml) +# @default -- (see [values.yaml](values.yaml)) podTemplate: |- metadata: labels: @@ -199,7 +207,7 @@ taskManager: # -- Pod template. Overrides the main `podTemplate`. # The main flink-container must be called "flink-main-container" - # @default -- (see values.yaml) + # @default -- (see [values.yaml](values.yaml)) podTemplate: |- metadata: {{- with .Values.taskManager.podLabels }} @@ -268,7 +276,7 @@ jobManager: # -- Pod template. Overrides the main `podTemplate`. # The main flink-container must be called "flink-main-container" - # @default -- (see values.yaml) + # @default -- (see [values.yaml](values.yaml)) podTemplate: |- metadata: {{- with .Values.jobManager.podLabels }} @@ -318,11 +326,12 @@ metrics: port: 9249 serviceMonitor: + # -- Whether to create a ServiceMonitor for easy configuration of scrape targets enabled: true # -- The http scheme to use for the default metrics endpoint (http/https) scheme: "" # -- TLS config applied when using the 'https' scheme. - # @default -- (see values.yaml) + # @default -- (see [values.yaml](values.yaml)) tlsConfig: insecureSkipVerify: true caFile: /etc/prom-certs/root-cert.pem @@ -352,6 +361,7 @@ metrics: jobLabel: app service: + # -- Whether to create a Kubernetes Service enabled: true # -- Override the target port for metrics targetPort: metrics @@ -422,7 +432,8 @@ ingress: # -- Create a self-signed TLS secret selfSigned: false -# -- Settings passed to the image-automation chart, -# Image-automation is not possible when using image-sha as a tagging strategy image-automation: + # -- Whether to enable the image-automation subchart. + # Image-automation is not possible when using image-sha as a tagging strategy. + # Any other configuration given here, is passed to it enabled: false