Skip to content

Commit 4b4073f

Browse files
feat: add separate redis for cf-argocd-extras and app-proxy
1 parent 5e6bd59 commit 4b4073f

File tree

3 files changed

+96
-18
lines changed

3 files changed

+96
-18
lines changed

charts/gitops-runtime/README.md

Lines changed: 66 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,22 @@ gitops-operator:
360360
tag: vX.Y.Z
361361
```
362362

363+
### To 0.24.x
364+
365+
#### Affected values
366+
367+
- `.Values.redis`/`.Values.redis-ha`/`.Values.redis-secret-init` were added
368+
369+
```yaml
370+
# Enabled standalone (single Deployment) Redis
371+
redis:
372+
enabled: true
373+
374+
# Enabled Redis High Availability (StatefulSet with Proxy)
375+
redis-ha:
376+
enabled: false
377+
```
378+
363379
## Values
364380

365381
| Key | Type | Default | Description |
@@ -395,14 +411,14 @@ gitops-operator:
395411
| app-proxy.image-enrichment.serviceAccount.name | string | `"codefresh-image-enrichment-sa"` | Name of the service account to create or the name of the existing one to use |
396412
| app-proxy.image.pullPolicy | string | `"IfNotPresent"` | |
397413
| app-proxy.image.repository | string | `"quay.io/codefresh/cap-app-proxy"` | |
398-
| app-proxy.image.tag | string | `"1.3706.0"` | |
414+
| app-proxy.image.tag | string | `"1.3772.0"` | |
399415
| app-proxy.imagePullSecrets | list | `[]` | |
400416
| app-proxy.initContainer.command[0] | string | `"./init.sh"` | |
401417
| app-proxy.initContainer.env | object | `{}` | |
402418
| app-proxy.initContainer.extraVolumeMounts | list | `[]` | Extra volume mounts for init container |
403419
| app-proxy.initContainer.image.pullPolicy | string | `"IfNotPresent"` | |
404420
| app-proxy.initContainer.image.repository | string | `"quay.io/codefresh/cap-app-proxy-init"` | |
405-
| app-proxy.initContainer.image.tag | string | `"1.3706.0"` | |
421+
| app-proxy.initContainer.image.tag | string | `"1.3772.0"` | |
406422
| app-proxy.initContainer.resources.limits | object | `{}` | |
407423
| app-proxy.initContainer.resources.requests.cpu | string | `"0.2"` | |
408424
| app-proxy.initContainer.resources.requests.memory | string | `"256Mi"` | |
@@ -470,8 +486,8 @@ gitops-operator:
470486
| argo-cd.crds.install | bool | `true` | |
471487
| argo-cd.enabled | bool | `true` | |
472488
| argo-cd.fullnameOverride | string | `"argo-cd"` | |
473-
| argo-events.configs.jetstream.versions[0].configReloaderImage | string | `"natsio/nats-server-config-reloader:0.18.2"` | |
474-
| argo-events.configs.jetstream.versions[0].metricsExporterImage | string | `"natsio/prometheus-nats-exporter:0.16.0"` | |
489+
| argo-events.configs.jetstream.versions[0].configReloaderImage | string | `"natsio/nats-server-config-reloader:0.19.1"` | |
490+
| argo-events.configs.jetstream.versions[0].metricsExporterImage | string | `"natsio/prometheus-nats-exporter:0.17.3"` | |
475491
| argo-events.configs.jetstream.versions[0].natsImage | string | `"nats:2.11.4"` | |
476492
| argo-events.configs.jetstream.versions[0].startCommand | string | `"/nats-server"` | |
477493
| argo-events.configs.jetstream.versions[0].version | string | `"latest"` | |
@@ -491,10 +507,10 @@ gitops-operator:
491507
| argo-workflows.mainContainer.resources.requests.ephemeral-storage | string | `"10Mi"` | |
492508
| argo-workflows.server.authModes | list | `["client"]` | auth-mode needs to be set to client to be able to see workflow logs from Codefresh UI |
493509
| argo-workflows.server.baseHref | string | `"/workflows/"` | Do not change. Workflows UI is only accessed through internal router, changing this values will break routing to workflows native UI from Codefresh. |
494-
| cf-argocd-extras | object | `{"eventReporter":{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"v0.5.14"}},"enabled":true,"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"serviceMonitor":{"main":{"enabled":false}},"tolerations":[]},"sourcesServer":{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"v0.5.14"}},"enabled":true,"hpa":{"enabled":false,"maxReplicas":10,"minReplicas":1,"targetCPUUtilizationPercentage":70},"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"tolerations":[]}}` | Codefresh extra services for ArgoCD |
510+
| cf-argocd-extras | object | `{"eventReporter":{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"1556733"}},"enabled":true,"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"serviceMonitor":{"main":{"enabled":false}},"tolerations":[]},"sourcesServer":{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"1556733"}},"enabled":true,"hpa":{"enabled":false,"maxReplicas":10,"minReplicas":1,"targetCPUUtilizationPercentage":70},"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"tolerations":[]}}` | Codefresh extra services for ArgoCD |
495511
| cf-argocd-extras.eventReporter.pdb.enabled | bool | `false` | Enable PDB for event-reporter |
496512
| cf-argocd-extras.eventReporter.serviceMonitor.main.enabled | bool | `false` | Enable ServiceMonitor for event reporter |
497-
| cf-argocd-extras.sourcesServer | object | `{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"v0.5.14"}},"enabled":true,"hpa":{"enabled":false,"maxReplicas":10,"minReplicas":1,"targetCPUUtilizationPercentage":70},"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"tolerations":[]}` | Sources server configuration |
513+
| cf-argocd-extras.sourcesServer | object | `{"affinity":{},"container":{"image":{"registry":"quay.io","repository":"codefresh/cf-argocd-extras","tag":"1556733"}},"enabled":true,"hpa":{"enabled":false,"maxReplicas":10,"minReplicas":1,"targetCPUUtilizationPercentage":70},"nodeSelector":{},"pdb":{"enabled":false,"maxUnavailable":"","minAvailable":"50%"},"resources":{"requests":{"cpu":"100m","memory":"128Mi"}},"tolerations":[]}` | Sources server configuration |
498514
| cf-argocd-extras.sourcesServer.hpa.enabled | bool | `false` | Enable HPA for sources server |
499515
| cf-argocd-extras.sourcesServer.pdb.enabled | bool | `false` | Enable PDB for sources server |
500516
| codefreshWorkflowLogStoreCM | object | `{"enabled":true,"endpoint":"gitops-workflow-logs.codefresh.io","insecure":false}` | Argo workflows logs storage on Codefresh platform settings. Don't change unless instructed by Codefresh support. |
@@ -560,10 +576,11 @@ gitops-operator:
560576
| gitops-operator.crds.install | bool | `true` | Whether or not to install CRDs |
561577
| gitops-operator.crds.keep | bool | `false` | Keep CRDs if gitops runtime release is uninstalled |
562578
| gitops-operator.enabled | bool | `true` | |
579+
| gitops-operator.env.GITOPS_OPERATOR_VERSION | string | `"0.11.1"` | |
563580
| gitops-operator.fullnameOverride | string | `""` | |
564581
| gitops-operator.image.registry | string | `"quay.io"` | defaults |
565582
| gitops-operator.image.repository | string | `"codefresh/codefresh-gitops-operator"` | |
566-
| gitops-operator.image.tag | string | `"v0.11.1"` | |
583+
| gitops-operator.image.tag | string | `"18fcd09"` | |
567584
| gitops-operator.imagePullSecrets | list | `[]` | |
568585
| gitops-operator.nameOverride | string | `""` | |
569586
| gitops-operator.nodeSelector | object | `{}` | |
@@ -593,16 +610,14 @@ gitops-operator:
593610
| global.codefresh.userToken | object | `{"secretKeyRef":{},"token":""}` | User token. Used for runtime registration against the patform. One of token (for plain text value) or secretKeyRef must be provided. |
594611
| global.codefresh.userToken.secretKeyRef | object | `{}` | User token that references an existing secret containing the token. |
595612
| global.codefresh.userToken.token | string | `""` | User token in plain text. The chart creates and manages the secret for this token. |
596-
| global.external-argo-cd | object | `{"auth":{"password":"","passwordSecretKeyRef":{"key":"password","name":"argocd-initial-admin-secret"},"token":"","tokenSecretKeyRef":{},"type":"password","username":"admin"},"redis":{"port":6379,"svc":"argocd-redis"},"repoServer":{"port":8081,"svc":"argocd-repo-server"},"server":{"port":80,"rootpath":"","svc":"argocd-server"}}` | Configuration for external ArgoCD Should be used when `argo-cd.enabled` is set to false |
613+
| global.external-argo-cd | object | `{"auth":{"password":"","passwordSecretKeyRef":{"key":"password","name":"argocd-initial-admin-secret"},"token":"","tokenSecretKeyRef":{},"type":"password","username":"admin"},"repoServer":{"port":8081,"svc":"argocd-repo-server"},"server":{"port":80,"rootpath":"","svc":"argocd-server"}}` | Configuration for external ArgoCD Should be used when `argo-cd.enabled` is set to false |
597614
| global.external-argo-cd.auth | object | `{"password":"","passwordSecretKeyRef":{"key":"password","name":"argocd-initial-admin-secret"},"token":"","tokenSecretKeyRef":{},"type":"password","username":"admin"}` | How GitOps Runtime should authenticate with ArgoCD |
598615
| global.external-argo-cd.auth.password | string | `""` | ArgoCD password in plain text |
599616
| global.external-argo-cd.auth.passwordSecretKeyRef | object | `{"key":"password","name":"argocd-initial-admin-secret"}` | ArgoCD password referenced by an existing secret |
600617
| global.external-argo-cd.auth.token | string | `""` | ArgoCD token in plain text |
601618
| global.external-argo-cd.auth.tokenSecretKeyRef | object | `{}` | ArgoCD token referenced by an existing secret |
602619
| global.external-argo-cd.auth.type | string | `"password"` | Authentication type. Can be password or token |
603620
| global.external-argo-cd.auth.username | string | `"admin"` | ArgoCD username in plain text |
604-
| global.external-argo-cd.redis.port | int | `6379` | Port of the ArgoCD Redis |
605-
| global.external-argo-cd.redis.svc | string | `"argocd-redis"` | Service name of the ArgoCD Redis |
606621
| global.external-argo-cd.repoServer.port | int | `8081` | Port of the ArgoCD repo server |
607622
| global.external-argo-cd.repoServer.svc | string | `"argocd-repo-server"` | Service name of the ArgoCD repo server |
608623
| global.external-argo-cd.server | object | `{"port":80,"rootpath":"","svc":"argocd-server"}` | ArgoCD server settings |
@@ -649,7 +664,7 @@ gitops-operator:
649664
| internal-router.fullnameOverride | string | `"internal-router"` | |
650665
| internal-router.image.pullPolicy | string | `"IfNotPresent"` | |
651666
| internal-router.image.repository | string | `"docker.io/nginxinc/nginx-unprivileged"` | |
652-
| internal-router.image.tag | string | `"1.28-alpine3.21"` | |
667+
| internal-router.image.tag | string | `"1.29-alpine3.22"` | |
653668
| internal-router.imagePullSecrets | list | `[]` | |
654669
| internal-router.ipv6 | object | `{"enabled":false}` | For ipv6 enabled clusters switch ipv6 enabled to true |
655670
| internal-router.nameOverride | string | `""` | |
@@ -673,7 +688,46 @@ gitops-operator:
673688
| internal-router.serviceAccount.create | bool | `true` | |
674689
| internal-router.serviceAccount.name | string | `""` | |
675690
| internal-router.tolerations | list | `[]` | |
676-
| sealed-secrets | object | `{"fullnameOverride":"sealed-secrets-controller","image":{"registry":"quay.io","repository":"codefresh/sealed-secrets-controller","tag":"0.29.0"},"keyrenewperiod":"720h","resources":{"limits":{"cpu":"500m","memory":"1Gi"},"requests":{"cpu":"200m","memory":"512Mi"}}}` | --------------------------------------------------------------------------------------------------------------------- |
691+
| redis | object | `{"affinity":{},"enabled":true,"env":{},"envFrom":[],"extraArgs":[],"image":{"registry":"public.ecr.aws","repository":"docker/library/redis","tag":"8.2.1-alpine"},"imagePullSecrets":[],"livenessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"metrics":{"enabled":true,"env":{},"envFrom":[],"image":{"registry":"ghcr.io","repository":"oliver006/redis_exporter","tag":"v1.72.1"},"livenessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"readinessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"resources":{},"serviceMonitor":{"enabled":false}},"nodeSelector":{},"pdb":{"annotations":{},"enabled":false,"labels":{},"maxUnavailable":"","minAvailable":1},"podAnnotations":{},"podLabels":{},"podSecurityContext":{},"readinessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"resources":{},"securityContext":{},"service":{"annotations":{},"labels":{},"ports":{"metrics":{"port":9121,"targetPort":9121},"redis":{"port":6379,"targetPort":6379}},"type":"ClusterIP"},"serviceAccount":{"annotations":{},"create":true,"name":""},"tolerations":[],"topologySpreadConstraints":[]}` | Enable standalone redis deployment Will be replaced by redis-ha subchart when `redis-ha.enabled=true` |
692+
| redis-ha.additionalAffinities | object | `{}` | Additional affinities to add to the Redis server pods. |
693+
| redis-ha.affinity | string | `""` | Assign custom [affinity] rules to the Redis pods. |
694+
| redis-ha.auth | bool | `true` | Configures redis-ha with AUTH |
695+
| redis-ha.containerSecurityContext | object | See [values.yaml] | Redis HA statefulset container-level security context |
696+
| redis-ha.enabled | bool | `false` | Enables the Redis HA subchart and disables the custom Redis single node deployment |
697+
| redis-ha.existingSecret | string | `"gitops-runtime-redis"` | Existing Secret to use for redis-ha authentication. By default the redis-secret-init Job is generating this Secret. |
698+
| redis-ha.exporter.enabled | bool | `false` | Enable Prometheus redis-exporter sidecar |
699+
| redis-ha.exporter.image | string | `"ghcr.io/oliver006/redis_exporter"` | Repository to use for the redis-exporter |
700+
| redis-ha.exporter.tag | string | `"v1.69.0"` | Tag to use for the redis-exporter |
701+
| redis-ha.fullnameOverride | string | `"redis-ha"` | Full name of the Redis HA Resources |
702+
| redis-ha.haproxy.additionalAffinities | object | `{}` | Additional affinities to add to the haproxy pods. |
703+
| redis-ha.haproxy.affinity | string | `""` | Assign custom [affinity] rules to the haproxy pods. |
704+
| redis-ha.haproxy.containerSecurityContext | object | See [values.yaml] | HAProxy container-level security context |
705+
| redis-ha.haproxy.enabled | bool | `true` | Enabled HAProxy LoadBalancing/Proxy |
706+
| redis-ha.haproxy.hardAntiAffinity | bool | `true` | Whether the haproxy pods should be forced to run on separate nodes. |
707+
| redis-ha.haproxy.metrics.enabled | bool | `true` | HAProxy enable prometheus metric scraping |
708+
| redis-ha.haproxy.tolerations | list | `[]` | [Tolerations] for use with node taints for haproxy pods. |
709+
| redis-ha.hardAntiAffinity | bool | `true` | Whether the Redis server pods should be forced to run on separate nodes. |
710+
| redis-ha.image.repository | string | `"public.ecr.aws/docker/library/redis"` | Redis repository |
711+
| redis-ha.image.tag | string | `"8.2.1-alpine"` | Redis tag |
712+
| redis-ha.persistentVolume.enabled | bool | `false` | Configures persistence on Redis nodes |
713+
| redis-ha.redis.config | object | See [values.yaml] | Any valid redis config options in this section will be applied to each server (see `redis-ha` chart) |
714+
| redis-ha.redis.config.save | string | `'""'` | Will save the DB if both the given number of seconds and the given number of write operations against the DB occurred. `""` is disabled |
715+
| redis-ha.redis.masterGroupName | string | `"gitops-runtime"` | Redis convention for naming the cluster group: must match `^[\\w-\\.]+$` and can be templated |
716+
| redis-ha.tolerations | list | `[]` | [Tolerations] for use with node taints for Redis pods. |
717+
| redis-ha.topologySpreadConstraints | object | `{"enabled":false,"maxSkew":"","topologyKey":"","whenUnsatisfiable":""}` | Assign custom [TopologySpreadConstraints] rules to the Redis pods. |
718+
| redis-ha.topologySpreadConstraints.enabled | bool | `false` | Enable Redis HA topology spread constraints |
719+
| redis-ha.topologySpreadConstraints.maxSkew | string | `""` (defaults to `1`) | Max skew of pods tolerated |
720+
| redis-ha.topologySpreadConstraints.topologyKey | string | `""` (defaults to `topology.kubernetes.io/zone`) | Topology key for spread |
721+
| redis-ha.topologySpreadConstraints.whenUnsatisfiable | string | `""` (defaults to `ScheduleAnyway`) | Enforcement policy, hard or soft |
722+
| redis-secret-init | object | `{"affinity":{},"image":{"registry":"docker.io","repository":"alpine/kubectl","tag":"1.34.1"},"nodeSelector":{},"tolerations":[]}` | Enable hook job to create redis secret |
723+
| redis.image | object | `{"registry":"public.ecr.aws","repository":"docker/library/redis","tag":"8.2.1-alpine"}` | Redis image |
724+
| redis.metrics | object | `{"enabled":true,"env":{},"envFrom":[],"image":{"registry":"ghcr.io","repository":"oliver006/redis_exporter","tag":"v1.72.1"},"livenessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"readinessProbe":{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15},"resources":{},"serviceMonitor":{"enabled":false}}` | Enable metrics sidecar |
725+
| redis.metrics.serviceMonitor | object | `{"enabled":false}` | Enable a prometheus ServiceMonitor |
726+
| redis.pdb | object | `{"annotations":{},"enabled":false,"labels":{},"maxUnavailable":"","minAvailable":1}` | Enabled Pod Disruption Budget for redis |
727+
| redis.readinessProbe | object | `{"enabled":true,"failureThreshold":5,"initialDelaySeconds":30,"periodSeconds":15,"successThreshold":1,"timeoutSeconds":15}` | Probes configuration |
728+
| redis.service | object | `{"annotations":{},"labels":{},"ports":{"metrics":{"port":9121,"targetPort":9121},"redis":{"port":6379,"targetPort":6379}},"type":"ClusterIP"}` | Service configuration |
729+
| redis.serviceAccount | object | `{"annotations":{},"create":true,"name":""}` | Create ServiceAccount for redis |
730+
| sealed-secrets | object | `{"fullnameOverride":"sealed-secrets-controller","image":{"registry":"quay.io","repository":"codefresh/sealed-secrets-controller","tag":"0.32.0"},"keyrenewperiod":"720h","resources":{"limits":{"cpu":"500m","memory":"1Gi"},"requests":{"cpu":"200m","memory":"512Mi"}}}` | --------------------------------------------------------------------------------------------------------------------- |
677731
| tunnel-client | object | `{"affinity":{},"enabled":true,"libraryMode":true,"nodeSelector":{},"tolerations":[],"tunnelServer":{"host":"register-tunnels.cf-cd.com","subdomainHost":"tunnels.cf-cd.com"}}` | Tunnel based runtime. Not supported for on-prem platform. In on-prem use ingress based runtimes. |
678732
| tunnel-client.enabled | bool | `true` | Will only be used if global.runtime.ingress.enabled = false |
679733
| tunnel-client.libraryMode | bool | `true` | Do not change this value! Breaks chart logic |

charts/gitops-runtime/README.md.gotmpl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,4 +364,20 @@ gitops-operator:
364364
tag: vX.Y.Z
365365
```
366366

367+
### To 0.24.x
368+
369+
#### Affected values
370+
371+
- `.Values.redis`/`.Values.redis-ha`/`.Values.redis-secret-init` were added
372+
373+
```yaml
374+
# Enabled standalone (single Deployment) Redis
375+
redis:
376+
enabled: true
377+
378+
# Enabled Redis High Availability (StatefulSet with Proxy)
379+
redis-ha:
380+
enabled: false
381+
```
382+
367383
{{ template "chart.valuesSection" . }}

0 commit comments

Comments
 (0)