diff --git a/charts/cactus-backend/Chart.yaml b/charts/cactus-backend/Chart.yaml index d47432e..a25764e 100644 --- a/charts/cactus-backend/Chart.yaml +++ b/charts/cactus-backend/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cactus-backend description: A backend that exposes an API for the Cactus app to use. type: application -version: 0.5.11 +version: 0.5.12 appVersion: "0.2" maintainers: - name: dataviruset @@ -25,7 +25,7 @@ dependencies: repository: https://juicedata.github.io/charts/ condition: juicefs-s3-gateway.enabled - name: cactus-parser - version: 0.0.5 + version: 0.0.7 repository: https://charts.lookingglassprotocol.com condition: cactus-parser.enabled - name: opentelemetry-collector diff --git a/charts/cactus-backend/README.md b/charts/cactus-backend/README.md index bbadc2f..848dc28 100644 --- a/charts/cactus-backend/README.md +++ b/charts/cactus-backend/README.md @@ -132,7 +132,13 @@ Version 0.5.0 introduces significant changes to the feature set of the Cactus Ba #### Fixes -* OpenTelemetry integration is now disabled by default. To enable telemetry for both the Cactus Backend and Cactus Parser, set `cactus-backend.envVars.OTEL_ENABLED` and `cactus-backend.cactus-parser.envVars.OTEL_ENABLED` to `true` in your configuration. If you would like to use the OpenTelemetry sub-chart it can be enabled by setting `opentelemetry-collector.enable` to true just like before. +* OpenTelemetry integration is now disabled by default. To enable telemetry for both the Cactus Backend and Cactus Parser, set `cactus-backend.envVars.OTEL_ENABLED` and `cactus-backend.cactus-parser.envVars.OTEL_ENABLED` to `true` in your configuration. If you would like to use the OpenTelemetry sub-chart it can be enabled by setting `opentelemetry-collector.enable` to `true` just like before. + +### Upgrading to 0.5.12 + +#### Fixes + +* Environment variables from `envVars` that are `null`, invalid, or empty strings are now omitted from the workload. This is mainly for the case when you need to overwrite env vars with secrets: duplicated env names (e.g. the same key in both `envVars` and `secrets`) can cause "Failed to compare desired state to live state" in ArgoCD. By omitting empty values, you can leave a key unset in `envVars` and provide it only via `secretKeyRef` without conflicts. No changes required to your values—this is transparent. ## Chart Structure diff --git a/charts/cactus-backend/templates/workload.yaml b/charts/cactus-backend/templates/workload.yaml index a46ab32..5d1e0f2 100644 --- a/charts/cactus-backend/templates/workload.yaml +++ b/charts/cactus-backend/templates/workload.yaml @@ -79,8 +79,10 @@ spec: {{- end }} env: {{- range $key, $value := .Values.envVars }} + {{- if and (ne (typeOf $value) "nil") (not (kindIs "invalid" $value)) (not (and (kindIs "string" $value) (eq (trim $value) ""))) }} - name: {{ $key }} value: {{ quote $value }} + {{- end }} {{- end }} {{- range $secretSource, $secretConfig := $secrets }} {{- if eq $secretSource "cactus-backend" }}{{ $secretSource = $secretName }}{{- end }} diff --git a/charts/cactus-backend/values.yaml b/charts/cactus-backend/values.yaml index 21890bf..25ab9a6 100644 --- a/charts/cactus-backend/values.yaml +++ b/charts/cactus-backend/values.yaml @@ -339,8 +339,16 @@ envVars: # DOMAIN_EXTERNAL_ID_MAPPINGS_FILE: /app/config/domain_external_mappings.json # The file containing the domain external id mappings. Only set this if you enable configFiles. # APP_KEY: cactus-backend # This is the app key used together with the app secret (defined in the secretData above or by using existingSecret) to access Auki services. You should obtain it from the apps section of the Auki console. - OTEL_COLLECTOR_GRPC_ENDPOINT: http://cactus-backend-opentelemetry-collector:4317 # The grpc endpoint for the opentelemetry collector, it should be Release.name-opentelemetry-collector:4317. OTEL_ENABLED: false + OTEL_COLLECTOR_GRPC_ENDPOINT: http://cactus-backend-opentelemetry-collector:4317 # The grpc endpoint for the opentelemetry collector, it should be Release.name-opentelemetry-collector:4317. + + PUSH_NOTIFICATIONS_FIREBASE_ENABLED: false # Whether to enable push notifications via Firebase. + CRONJOBS_SEND_PUSH_NOTIFICATIONS_SCHEDULE: "0 */5 * * * *" # The schedule for the cron job to send push notifications. + CRONJOBS_CLEANUP_NOTIFICATIONS_SCHEDULE: "0 0 * * * *" # The schedule for the cron job to cleanup notifications. + NOTIFICATIONS_RETENTION_DAYS: 5 # The retention days for the processed notifications. + PUSH_NOTIFICATIONS_TIMEOUT_SECS: 3600 # The timeout for pushing notifications in seconds. + PUSH_NOTIFICATIONS_BATCH_SIZE: 100 # The batch size for sending push notifications. + PUSH_NOTIFICATIONS_MAX_ATTEMPTS: 3 # The maximum number of attempts to push a notification. ## Autoscaling configuration ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ autoscaling: diff --git a/charts/cactus-parser/Chart.yaml b/charts/cactus-parser/Chart.yaml index e351e68..aa355fc 100644 --- a/charts/cactus-parser/Chart.yaml +++ b/charts/cactus-parser/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: cactus-parser description: Used to deploy parsers that load product data from a source when requested from cactus-backend type: application -version: 0.0.6 +version: 0.0.7 appVersion: "0.0" maintainers: - name: dataviruset diff --git a/charts/cactus-parser/README.md b/charts/cactus-parser/README.md index e4b8884..614d2a9 100644 --- a/charts/cactus-parser/README.md +++ b/charts/cactus-parser/README.md @@ -51,7 +51,7 @@ To upgrade your deployment: helm upgrade cactus-parser matterless/cactus-parser ``` -**Important:** +**Important:** Before upgrading from chart version please review the following steps: 1. **Review the [values.yaml](./values.yaml) file** for any new, deprecated, or changed configuration options. @@ -64,6 +64,19 @@ Before upgrading from chart version please review the following steps: 4. **Backup:** If your deployment uses persistent data, ensure you have backups. 5. **Test:** Consider upgrading in a staging environment before production. +### Upgrading to 0.0.6 + +#### Fixes + +* OpenTelemetry integration is now disabled by default. To enable telemetry for Cactus Parser, set `cactus-parser.envVars.OTEL_ENABLED` to `true` in your configuration. + +### Upgrading to 0.0.7 + +#### Fixes + +* Environment variables from `envVars` that are `null`, invalid, or empty strings are now omitted from the workload. This is mainly for the case when you need to overwrite env vars with secrets: duplicated env names (e.g. the same key in both `envVars` and `secrets`) can cause "Failed to compare desired state to live state" in ArgoCD. By omitting empty values, you can leave a key unset in `envVars` and provide it only via `secretKeyRef` without conflicts. No changes required to your values—this is transparent. + + ## Chart Structure - `Chart.yaml` - Chart metadata diff --git a/charts/cactus-parser/templates/workload.yaml b/charts/cactus-parser/templates/workload.yaml index e9bd57e..491264f 100644 --- a/charts/cactus-parser/templates/workload.yaml +++ b/charts/cactus-parser/templates/workload.yaml @@ -75,8 +75,10 @@ spec: subPath: "{{ .Values.persistentVolume.subPath }}" env: {{- range $key, $value := .Values.envVars }} + {{- if and (ne (typeOf $value) "nil") (not (kindIs "invalid" $value)) (not (and (kindIs "string" $value) (eq (trim $value) ""))) }} - name: {{ $key }} value: {{ quote $value }} + {{- end }} {{- end }} {{- range $secretSource, $secretConfig := $secrets }} {{- if eq $secretSource "cactus-parser" }}{{ $secretSource = $secretName }}{{- end }}