diff --git a/.github/workflows/publish-helm-charts.yml b/.github/workflows/publish-helm-charts.yml index df4ed73978e163..23c9c6b1c546e3 100644 --- a/.github/workflows/publish-helm-charts.yml +++ b/.github/workflows/publish-helm-charts.yml @@ -31,7 +31,7 @@ jobs: tag_prefix: "v" major_pattern: "feat:" minor_pattern: "fix:" - format: "${major}.${minor}.${patch}" + format: "${major}.${minor}.${/}" change_path: "./charts" bump_each_commit: true namespace: helm @@ -72,7 +72,7 @@ jobs: - name: "Helm package" shell: bash run: | - declare -a StringArray=("airbyte-bootloader" "airbyte-server" "airbyte-temporal" "airbyte-webapp" "airbyte-pod-sweeper" "airbyte-worker" "airbyte-metrics") + declare -a StringArray=("airbyte-bootloader" "airbyte-server" "airbyte-temporal" "airbyte-webapp" "airbyte-pod-sweeper" "airbyte-worker" "airbyte-metrics" "airbyte-cron") for val in ${StringArray[@]}; do cd ./airbyte/charts/${val} && helm dep update && cd $GITHUB_WORKSPACE sed -i -E 's/version: \"[0-9]+\.[0-9]+\.[0-9]+\"/version: \"${{ needs.generate-semantic-version.outputs.next-version }}\"/' ./airbyte/charts/${val}/Chart.yaml diff --git a/charts/airbyte-cron/Chart.lock b/charts/airbyte-cron/Chart.lock new file mode 100644 index 00000000000000..435017d8e3af61 --- /dev/null +++ b/charts/airbyte-cron/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: https://charts.bitnami.com/bitnami + version: 1.17.1 +digest: sha256:dacc73770a5640c011e067ff8840ddf89631fc19016c8d0a9e5ea160e7da8690 +generated: "2022-10-25T16:47:38.253767-04:00" diff --git a/charts/airbyte-cron/Chart.yaml b/charts/airbyte-cron/Chart.yaml new file mode 100644 index 00000000000000..91831ee02a0969 --- /dev/null +++ b/charts/airbyte-cron/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +name: airbyte-cron +description: Helm chart to deploy airbyte-cron + +# 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: "0.40.17" + +dependencies: + - name: common + repository: https://charts.bitnami.com/bitnami + tags: + - bitnami-common + version: 1.x.x + diff --git a/charts/airbyte-cron/README.md b/charts/airbyte-cron/README.md new file mode 100644 index 00000000000000..5a894a8d4241d5 --- /dev/null +++ b/charts/airbyte-cron/README.md @@ -0,0 +1,59 @@ +# airbyte-cron + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.40.17](https://img.shields.io/badge/AppVersion-0.40.17-informational?style=flat-square) + +Helm chart to deploy airbyte-cron + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://charts.bitnami.com/bitnami | common | 1.x.x | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| affinity | object | `{}` | | +| containerSecurityContext | object | `{}` | | +| enabled | bool | `true` | | +| env_vars | object | `{}` | | +| extraContainers | list | `[]` | | +| extraEnv | list | `[]` | | +| extraInitContainers | list | `[]` | | +| extraVolumeMounts | list | `[]` | | +| extraVolumes | list | `[]` | | +| global.configMapName | string | `""` | | +| global.database.host | string | `"example.com"` | | +| global.database.port | string | `"5432"` | | +| global.database.secretName | string | `""` | | +| global.database.secretValue | string | `""` | | +| global.deploymentMode | string | `"oss"` | | +| global.extraContainers | list | `[]` | | +| global.secretName | string | `""` | | +| global.serviceAccountName | string | `"placeholderServiceAccount"` | | +| image.pullPolicy | string | `"IfNotPresent"` | | +| image.repository | string | `"airbyte/cron"` | | +| livenessProbe.enabled | bool | `true` | | +| livenessProbe.failureThreshold | int | `3` | | +| livenessProbe.initialDelaySeconds | int | `30` | | +| livenessProbe.periodSeconds | int | `10` | | +| livenessProbe.successThreshold | int | `1` | | +| livenessProbe.timeoutSeconds | int | `1` | | +| nodeSelector | object | `{}` | | +| podAnnotations | object | `{}` | | +| readinessProbe.containerSecurityContext | object | `{}` | | +| readinessProbe.enabled | bool | `true` | | +| readinessProbe.failureThreshold | int | `3` | | +| readinessProbe.initialDelaySeconds | int | `10` | | +| readinessProbe.periodSeconds | int | `10` | | +| readinessProbe.successThreshold | int | `1` | | +| readinessProbe.timeoutSeconds | int | `1` | | +| replicaCount | int | `1` | | +| resources.limits | object | `{}` | | +| resources.requests | object | `{}` | | +| secrets | object | `{}` | | +| tolerations | list | `[]` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0) diff --git a/charts/airbyte-cron/templates/_helpers.tpl b/charts/airbyte-cron/templates/_helpers.tpl new file mode 100644 index 00000000000000..6a7715b9023cee --- /dev/null +++ b/charts/airbyte-cron/templates/_helpers.tpl @@ -0,0 +1,73 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "airbyte.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "airbyte.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "airbyte.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "airbyte.labels" -}} +helm.sh/chart: {{ include "airbyte.chart" . }} +{{ include "airbyte.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "airbyte.selectorLabels" -}} +app.kubernetes.io/name: {{ include "airbyte.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Define db secret +*/}} + +{{- define "database.secret.name" -}} +{{- printf "%s-postgresql" .Release.Name }} +{{- end }} + +{{/* +Define imageTag +*/}} + +{{- define "cron.imageTag" -}} +{{- if ((.Values.global.image).tag) }} + {{- printf "%s" .Values.global.image.tag }} +{{- else if .Values.image.tag }} + {{- printf "%s" .Values.image.tag }} +{{- else }} + {{- printf "%s" .Chart.AppVersion }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/airbyte-cron/templates/deployment.yaml b/charts/airbyte-cron/templates/deployment.yaml new file mode 100644 index 00000000000000..ca55dce92fec8d --- /dev/null +++ b/charts/airbyte-cron/templates/deployment.yaml @@ -0,0 +1,145 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "common.names.fullname" . }} + labels: + {{- include "airbyte.labels" . | nindent 4 }} +spec: + replicas: 1 + selector: + matchLabels: + {{- include "airbyte.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + {{- include "airbyte.selectorLabels" . | nindent 8 }} + {{- if .Values.podAnnotations }} + annotations: + {{- include "common.tplvalues.render" (dict "value" .Values.podAnnotations "context" $) | nindent 8 }} + {{- end }} + spec: + serviceAccountName: {{ .Values.global.serviceAccountName }} + automountServiceAccountToken: true + {{- if .Values.global.imagePullSecrets }} + imagePullSecrets: + {{- range .Values.global.imagePullSecrets }} + {{- printf "- name: %s" .name | nindent 8 }} + {{- end }} + {{- end }} + {{- if .Values.nodeSelector }} + nodeSelector: {{- include "common.tplvalues.render" (dict "value" .Values.nodeSelector "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.tolerations }} + tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.tolerations "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.affinity }} + affinity: {{- include "common.tplvalues.render" (dict "value" .Values.affinity "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.extraInitContainers }} + initContainers: + {{- toYaml .Values.extraInitContainers | nindent 6 }} + {{- end }} + containers: + - name: airbyte-cron + image: {{ printf "%s:%s" .Values.image.repository (include "cron.imageTag" .) }} + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + {{- if eq .Values.global.deploymentMode "oss" }} + - name: AIRBYTE_ROLE + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: AIRBYTE_ROLE + - name: AIRBYTE_VERSION + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: AIRBYTE_VERSION + - name: CONFIGS_DATABASE_INITIALIZATION_TIMEOUT_MS + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: CONFIGS_DATABASE_INITIALIZATION_TIMEOUT_MS + - name: CONFIGS_DATABASE_MINIMUM_FLYWAY_MIGRATION_VERSION + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: CONFIGS_DATABASE_MINIMUM_FLYWAY_MIGRATION_VERSION + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ .Values.global.database.secretName | default (printf "%s-airbyte-secrets" .Release.Name ) }} + key: {{ .Values.global.database.secretValue | default "DATABASE_PASSWORD" }} + - name: DATABASE_URL + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: DATABASE_URL + - name: DATABASE_USER + valueFrom: + secretKeyRef: + name: {{ .Release.Name }}-airbyte-secrets + key: DATABASE_USER + - name: MICRONAUT_ENVIRONMENTS + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: CRON_MICRONAUT_ENVIRONMENTS + - name: REMOTE_CONNECTOR_CATALOG_URL + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: REMOTE_CONNECTOR_CATALOG_URL + - name: TRACKING_STRATEGY + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: TRACKING_STRATEGY + - name: UPDATE_DEFINITIONS_CRON_ENABLED + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: UPDATE_DEFINITIONS_CRON_ENABLED + - name: WORKFLOW_FAILURE_RESTART_DELAY_SECONDS + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: WORKFLOW_FAILURE_RESTART_DELAY_SECONDS + - name: WORKSPACE_DOCKER_MOUNT + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: WORKSPACE_DOCKER_MOUNT + - name: WORKSPACE_ROOT + valueFrom: + configMapKeyRef: + name: {{ .Release.Name }}-airbyte-env + key: WORKSPACE_ROOT + {{- end }} + + # Values from secret + {{- if .Values.secrets }} + {{- range $k, $v := .Values.secrets }} + - name: {{ $k }} + valueFrom: + secretKeyRef: + name: cron-secrets + key: {{ $k }} + {{- end }} + {{- end }} + + # Values from env + {{- if .Values.env_vars }} + {{- range $k, $v := mergeOverwrite .Values.env_vars .Values.global.env_vars }} + - name: {{ $k }} + value: {{ $v | quote }} + {{- end }} + {{- end }} + + {{- if .Values.containerSecurityContext }} + securityContext: {{- toYaml .Values.containerSecurityContext | nindent 12 }} + {{- end }} + + {{- if .Values.resources }} + resources: {{- toYaml .Values.resources | nindent 10 }} + {{- end }} \ No newline at end of file diff --git a/charts/airbyte-cron/values.yaml b/charts/airbyte-cron/values.yaml new file mode 100644 index 00000000000000..822932ecb957c5 --- /dev/null +++ b/charts/airbyte-cron/values.yaml @@ -0,0 +1,209 @@ +global: + serviceAccountName: placeholderServiceAccount + deploymentMode: oss + configMapName: "" + secretName: "" + extraContainers: [] + database: + secretName: "" + secretValue: "" + host: "example.com" + port: "5432" + +enabled: true +## cron.replicaCount Number of cron replicas +replicaCount: 1 + +## cron.image.repository The repository to use for the airbyte cron image. +## cron.image.pullPolicy the pull policy to use for the airbyte cron image +## cron.image.tag The airbyte cron image tag. Defaults to the chart's AppVersion +image: + repository: airbyte/cron + pullPolicy: IfNotPresent + +## cron.podAnnotations [object] Add extra annotations to the cron pod(s) +## +podAnnotations: {} + +## cron.containerSecurityContext Security context for the container +## Examples: +## containerSecurityContext: +## runAsNonRoot: true +## runAsUser: 1000 +## readOnlyRootFilesystem: true +containerSecurityContext: {} + +## Configure extra options for the cron containers' liveness and readiness probes +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes +## cron.livenessProbe.enabled Enable livenessProbe on the cron +## cron.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe +## cron.livenessProbe.periodSeconds Period seconds for livenessProbe +## cron.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe +## cron.livenessProbe.failureThreshold Failure threshold for livenessProbe +## cron.livenessProbe.successThreshold Success threshold for livenessProbe +## +livenessProbe: + enabled: true + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + +## cron.readinessProbe.enabled Enable readinessProbe on the cron +## cron.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe +## cron.readinessProbe.periodSeconds Period seconds for readinessProbe +## cron.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe +## cron.readinessProbe.failureThreshold Failure threshold for readinessProbe +## cron.readinessProbe.successThreshold Success threshold for readinessProbe +## +readinessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + + ## server.containerSecurityContext Security context for the container + ## Examples: + ## containerSecurityContext: + ## runAsNonRoot: true + ## runAsUser: 1000 + ## readOnlyRootFilesystem: true + containerSecurityContext: {} + +## Web app resource requests and limits +## ref: http://kubernetes.io/docs/user-guide/compute-resources/ +## We usually recommend not to specify default resources and to leave this as a conscious +## choice for the user. This also increases chances charts run on environments with little +## resources, such as Minikube. If you do want to specify resources, uncomment the following +## lines, adjust them as necessary, and remove the curly braces after 'resources:'. +## cron.resources.limits [object] The resources limits for the Web container +## cron.resources.requests [object] The requested resources for the Web container +resources: + ## Example: + ## limits: + ## cpu: 200m + ## memory: 1Gi + limits: {} + ## Examples: + ## requests: + ## memory: 256Mi + ## cpu: 250m + requests: {} + +## cron.nodeSelector [object] Node labels for pod assignment +## Ref: https://kubernetes.io/docs/user-guide/node-selection/ +## +nodeSelector: {} + +## cron.tolerations [array] Tolerations for cron pod assignment. +## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ +## +tolerations: [] + +## cron.affinity [object] Affinity and anti-affinity for cron pod assignment. +## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity +## +affinity: {} + +## cron.extraVolumeMounts [array] Additional volumeMounts for cron container(s). +## Examples (when using `cron.containerSecurityContext.readOnlyRootFilesystem=true`): +## extraVolumeMounts: +## - name: var-run +## mountPath: /var/run/ +## - name: var-cache-nginx +## mountPath: /var/cache/nginx +## - mountPath: /etc/nginx/conf.d +## name: nginx-conf-d +## +extraVolumeMounts: [] + +## cron.extraVolumes [array] Additional volumes for cron pod(s). +## Examples (when using `cron.containerSecurityContext.readOnlyRootFilesystem=true`): +## extraVolumes: +## - name: var-run +## emptyDir: {} +## - name: var-cache-nginx +## emptyDir: {} +## - name: nginx-conf-d +## emptyDir: {} +## +extraVolumes: [] + +## extraContainer [array] Additional container for server pod(s) +## Example: +# extraContainers: +# - name: otel_collector +# image: somerepo/someimage:sometag +# args: [ +# "--important-args" +# ] +# ports: +# - containerPort: 443 +# volumeMounts: +# - name: volumeMountCool +# mountPath: /some/path +# readOnly: true +extraContainers: [] + +## extraInitContainers [array] Additional init containers for server pod(s) +## Example: +# extraInitContainers: +# - name: sleepy +# image: alpine +# command: ['sleep', '60'] + +extraInitContainers: [] + +## extraEnv [array] Supply extra env variables to main container using full notation +## Example: (With default env vars and values taken from generated config map) +# extraEnv: +# - name: POSTGRES_USER +# valueFrom: +# secretKeyRef: +# name: airbyte-secrets +# key: DATABASE_USER +# - name: POSTGRES_PWD +# valueFrom: +# secretKeyRef: +# name: airbyte-secrets +# key: DATABASE_PASSWORD +# - name: DYNAMIC_CONFIG_FILE_PATH +# value: "config/dynamicconfig/development.yaml" +# - name: DB +# value: "postgresql" +# - name: DB_PORT +# valueFrom: +# configMapKeyRef: +# name: airbyte-env +# key: DATABASE_PORT +# - name: POSTGRES_SEEDS +# valueFrom: +# configMapKeyRef: +# name: airbyte-env +# key: DATABASE_HOST +## +extraEnv: [] +## secrets [object] Supply additional secrets to container +## Example: +## secrets: +## DATABASE_PASSWORD: strong-password +## DATABASE_USER: my-db-user +secrets: {} + +## env_vars [object] Supply extra env variables to main container using simplified notation +## Example with default vars for cron: +# env_vars: +# AIRBYTE_VERSION: 0.40.4 + +# # Miscellaneous +# TRACKING_STRATEGY: segment +# API_URL: /api/v1/ +# INTERNAL_API_HOST: airbyte-server-svc:8001 + +env_vars: {} + + + diff --git a/charts/airbyte/Chart.yaml b/charts/airbyte/Chart.yaml index 9b243aeec2570d..1d49814040b439 100644 --- a/charts/airbyte/Chart.yaml +++ b/charts/airbyte/Chart.yaml @@ -58,4 +58,8 @@ dependencies: name: metrics repository: "https://airbytehq.github.io/helm-charts/" version: 0.40.33 + - condition: cron.enabled + name: cron + repository: "https://airbytehq.github.io/helm-charts/" + version: 0.40.33 diff --git a/charts/airbyte/values.yaml b/charts/airbyte/values.yaml index 376bdeebce1e5c..1c5ec6ccbff04b 100644 --- a/charts/airbyte/values.yaml +++ b/charts/airbyte/values.yaml @@ -1233,3 +1233,188 @@ minio: auth: rootUser: minio rootPassword: minio123 + + +## @section cron parameters + +cron: + enabled: true + ## cron.replicaCount Number of cron replicas + replicaCount: 1 + + ## cron.image.repository The repository to use for the airbyte cron image. + ## cron.image.pullPolicy the pull policy to use for the airbyte cron image + ## cron.image.tag The airbyte cron image tag. Defaults to the chart's AppVersion + image: + repository: airbyte/cron + pullPolicy: IfNotPresent + + ## cron.podAnnotations [object] Add extra annotations to the cron pod(s) + ## + podAnnotations: {} + + ## cron.containerSecurityContext Security context for the container + ## Examples: + ## containerSecurityContext: + ## runAsNonRoot: true + ## runAsUser: 1000 + ## readOnlyRootFilesystem: true + containerSecurityContext: {} + + ## Configure extra options for the cron containers' liveness and readiness probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## cron.livenessProbe.enabled Enable livenessProbe on the cron + ## cron.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## cron.livenessProbe.periodSeconds Period seconds for livenessProbe + ## cron.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## cron.livenessProbe.failureThreshold Failure threshold for livenessProbe + ## cron.livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + + ## cron.readinessProbe.enabled Enable readinessProbe on the cron + ## cron.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## cron.readinessProbe.periodSeconds Period seconds for readinessProbe + ## cron.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## cron.readinessProbe.failureThreshold Failure threshold for readinessProbe + ## cron.readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + + ## cron resource requests and limits + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## We usually recommend not to specify default resources and to leave this as a conscious + ## choice for the user. This also increases chances charts run on environments with little + ## resources, such as Minikube. If you do want to specify resources, uncomment the following + ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. + ## cron.resources.limits [object] The resources limits for the cron container + ## cron.resources.requests [object] The requested resources for the cron container + resources: + ## Example: + ## limits: + ## cpu: 200m + ## memory: 1Gi + limits: {} + ## Examples: + ## requests: + ## memory: 256Mi + ## cpu: 250m + requests: {} + + ## cron.nodeSelector [object] Node labels for pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## cron.tolerations [array] Tolerations for cron pod assignment. + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + + ## cron.affinity [object] Affinity and anti-affinity for cron pod assignment. + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity + ## + affinity: {} + + ## cron.log.level The log level to log at. + log: + level: "INFO" + + + + ## cron.extraVolumeMounts [array] Additional volumeMounts for cron container(s). + ## Examples (when using `cron.containerSecurityContext.readOnlyRootFilesystem=true`): + ## extraVolumeMounts: + ## - name: tmpdir + ## mountPath: /tmp + ## + extraVolumeMounts: [] + + ## cron.extraVolumes [array] Additional volumes for cron pod(s). + ## Examples (when using `cron.containerSecurityContext.readOnlyRootFilesystem=true`): + ## extraVolumes: + ## - name: tmpdir + ## emptyDir: {} + ## + extraVolumes: [] + + ## extraContainer [array] Additional container for cron pod(s) + ## Example: + # extraContainers: + # - name: otel_collector + # image: somerepo/someimage:sometag + # args: [ + # "--important-args" + # ] + # ports: + # - containerPort: 443 + # volumeMounts: + # - name: volumeMountCool + # mountPath: /some/path + # readOnly: true + extraContainers: [] + + ## extraInitContainers [array] Additional init containers for cron pod(s) + ## Example: + # extraInitContainers: + # - name: sleepy + # image: alpine + # command: ['sleep', '60'] + + extraInitContainers: [] + + ## extraEnv [array] Supply extra env variables to main container using full notation + ## Example: (With default env vars and values taken from generated config map) + # extraEnv: + # - name: AIRBYTE_VERSION + # valueFrom: + # configMapKeyRef: + # name: airbyte-env + # key: AIRBYTE_VERSION + # - name: API_URL + # valueFrom: + # configMapKeyRef: + # name: airbyte-env + # key: API_URL + # - name: TRACKING_STRATEGY + # valueFrom: + # configMapKeyRef: + # name: airbyte-env + # key: TRACKING_STRATEGY + # - name: FULLSTORY + # valueFrom: + # configMapKeyRef: + # name: airbyte-env + # key: FULLSTORY + # - name: INTERNAL_API_HOST + # valueFrom: + # configMapKeyRef: + # name: airbyte-env + # key: INTERNAL_API_HOST + ## + extraEnv: [] + ## secrets [object] Supply additional secrets to container + ## Example: + ## secrets: + ## DATABASE_PASSWORD: strong-password + ## DATABASE_USER: my-db-user + secrets: {} + + ## env_vars [object] Supply extra env variables to main container using simplified notation + ## Example: + ## env_vars: + ## DATABASE_HOST: airbyte-db + ## DATABASE_PORT: 5432 + env_vars: {} \ No newline at end of file