Skip to content

Commit 63d8780

Browse files
committed
wip
1 parent 900a05e commit 63d8780

File tree

2 files changed

+73
-7
lines changed

2 files changed

+73
-7
lines changed

charts/gitops-runtime/README.md

Lines changed: 69 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,68 @@ See [Use OCI-based registries](https://helm.sh/docs/topics/registries/)
1515
## Codefresh official documentation:
1616
Prior to running the installation please see the official documentation at: https://codefresh.io/docs/docs/installation/gitops/hybrid-gitops-helm-installation/
1717

18+
## Multi Runtime Installation
19+
You can install multiple Codefresh GitOps Runtimes in the same cluster, as long as each Runtime is deployed in its own namespace and manages only the applications in that namespace.
20+
To achieve this, configure your Runtimes to run in namespaced mode by setting `global.runtime.singleNamespace=true`. See the values.yaml example below:
21+
```yaml
22+
global:
23+
runtime:
24+
singleNamespace: true
25+
sealed-secrets:
26+
enabled: false
27+
argo-cd:
28+
createClusterRoles: false
29+
crds:
30+
install: false
31+
configs:
32+
params:
33+
application.namespaces: ''
34+
argo-events:
35+
controller:
36+
rbac:
37+
namespaced: true
38+
argo-workflows:
39+
crds:
40+
install: false
41+
singleNamespace: true
42+
createAggregateRoles: false
43+
controller:
44+
clusterWorkflowTemplates:
45+
enabled: false
46+
server:
47+
clusterWorkflowTemplates:
48+
enabled: false
49+
argo-rollouts:
50+
enabled: false
51+
tunnel-client:
52+
enabled: false
53+
gitops-operator:
54+
crds:
55+
install: false
56+
```
57+
58+
Note that for the first runtime in the cluster, you have to configure it to install the CRDs, with setting these values:
59+
```yaml
60+
global:
61+
runtime:
62+
isConfigurationRuntime: true
63+
argo-cd:
64+
crds:
65+
install: true
66+
argo-workflows:
67+
crds:
68+
install: true
69+
argo-rollouts:
70+
installCRDs: true
71+
gitops-operator:
72+
crds:
73+
install: true
74+
```
75+
76+
> [!WARNING]
77+
> If you want more than one runtime in your cluster, make sure that all of the runtimes in your cluster are configured with `global.runtime.singleNamespace=true`.
78+
> If you already have a runtime installed in the cluster without this setting, multi runtime installation is not supported.
79+
1880
## Argo-workflows artifact and log storage
1981
Codefresh provides a SaaS object storage based solution for Argo workflows logs storage. The chart deploys a configmap named `codefresh-workflows-log-store` with the repository configuration.
2082
If you want to utilize the Codefresh SaaS solution for log storage for all workflows in the runtime please set the following values:
@@ -395,14 +457,14 @@ gitops-operator:
395457
| 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 |
396458
| app-proxy.image.pullPolicy | string | `"IfNotPresent"` | |
397459
| app-proxy.image.repository | string | `"quay.io/codefresh/cap-app-proxy"` | |
398-
| app-proxy.image.tag | string | `"1.3706.0"` | |
460+
| app-proxy.image.tag | string | `"1.3718.0"` | |
399461
| app-proxy.imagePullSecrets | list | `[]` | |
400462
| app-proxy.initContainer.command[0] | string | `"./init.sh"` | |
401463
| app-proxy.initContainer.env | object | `{}` | |
402464
| app-proxy.initContainer.extraVolumeMounts | list | `[]` | Extra volume mounts for init container |
403465
| app-proxy.initContainer.image.pullPolicy | string | `"IfNotPresent"` | |
404466
| app-proxy.initContainer.image.repository | string | `"quay.io/codefresh/cap-app-proxy-init"` | |
405-
| app-proxy.initContainer.image.tag | string | `"1.3706.0"` | |
467+
| app-proxy.initContainer.image.tag | string | `"1.3718.0"` | |
406468
| app-proxy.initContainer.resources.limits | object | `{}` | |
407469
| app-proxy.initContainer.resources.requests.cpu | string | `"0.2"` | |
408470
| app-proxy.initContainer.resources.requests.memory | string | `"256Mi"` | |
@@ -549,6 +611,7 @@ gitops-operator:
549611
| event-reporters.workflow.sensor.tolerations | list | `[]` | |
550612
| event-reporters.workflow.serviceAccount.create | bool | `true` | |
551613
| gitops-operator.affinity | object | `{}` | |
614+
| gitops-operator.config | object | `{"commitStatusPollingInterval":"10s","maxConcurrentReleases":100,"promotionWrapperTemplate":"","taskPollingInterval":"10s","workflowMonitorPollingInterval":"10s"}` | GitOps operator configuration |
552615
| gitops-operator.config.commitStatusPollingInterval | string | `"10s"` | Commit status polling interval |
553616
| gitops-operator.config.maxConcurrentReleases | int | `100` | Maximum number of concurrent releases being processed by the operator (this will not affect the number of releases being processed by the gitops runtime) |
554617
| gitops-operator.config.promotionWrapperTemplate | string | `""` | An optional template for the promotion wrapper (empty default will use the embedded one) |
@@ -561,9 +624,7 @@ gitops-operator:
561624
| gitops-operator.crds.keep | bool | `false` | Keep CRDs if gitops runtime release is uninstalled |
562625
| gitops-operator.enabled | bool | `true` | |
563626
| gitops-operator.fullnameOverride | string | `""` | |
564-
| gitops-operator.image.registry | string | `"quay.io"` | defaults |
565-
| gitops-operator.image.repository | string | `"codefresh/codefresh-gitops-operator"` | |
566-
| gitops-operator.image.tag | string | `"v0.11.1"` | |
627+
| gitops-operator.image | object | `{"registry":"quay.io","repository":"codefresh/codefresh-gitops-operator","tag":"v0.11.1"}` | GitOps operator image |
567628
| gitops-operator.imagePullSecrets | list | `[]` | |
568629
| gitops-operator.nameOverride | string | `""` | |
569630
| gitops-operator.nodeSelector | object | `{}` | |
@@ -616,7 +677,7 @@ gitops-operator:
616677
| global.httpsProxy | string | `""` | global HTTPS_PROXY for all components |
617678
| global.noProxy | string | `""` | global NO_PROXY for all components |
618679
| global.nodeSelector | object | `{}` | Global nodeSelector for all components |
619-
| global.runtime | object | `{"cluster":"https://kubernetes.default.svc","codefreshHosted":false,"eventBus":{"annotations":{},"jetstream":{"affinity":{},"containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[],"version":"latest"},"name":"","nats":{"native":{"affinity":{},"auth":"token","containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[]}},"pdb":{"enabled":true,"minAvailable":2},"type":"nats"},"gitCredentials":{"password":{"secretKeyRef":{},"value":null},"username":"username"},"ingress":{"annotations":{},"className":"nginx","enabled":false,"hosts":[],"labels":{},"protocol":"https","skipValidation":false,"tls":[]},"ingressUrl":"","isConfigurationRuntime":false,"name":null}` | Runtime level settings |
680+
| global.runtime | object | `{"cluster":"https://kubernetes.default.svc","codefreshHosted":false,"eventBus":{"annotations":{},"jetstream":{"affinity":{},"containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[],"version":"latest"},"name":"","nats":{"native":{"affinity":{},"auth":"token","containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[]}},"pdb":{"enabled":true,"minAvailable":2},"type":"nats"},"gitCredentials":{"password":{"secretKeyRef":{},"value":null},"username":"username"},"ingress":{"annotations":{},"className":"nginx","enabled":false,"hosts":[],"labels":{},"protocol":"https","skipValidation":false,"tls":[]},"ingressUrl":"","isConfigurationRuntime":false,"name":null,"singleNamespace":false}` | Runtime level settings |
620681
| global.runtime.cluster | string | `"https://kubernetes.default.svc"` | Runtime cluster. Should not be changed. |
621682
| global.runtime.codefreshHosted | bool | `false` | Defines whether this is a Codefresh hosted runtime. Should not be changed. |
622683
| global.runtime.eventBus | object | `{"annotations":{},"jetstream":{"affinity":{},"containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[],"version":"latest"},"name":"","nats":{"native":{"affinity":{},"auth":"token","containerTemplate":{"resources":{"limits":{"cpu":"500m","ephemeral-storage":"2Gi","memory":"4Gi"},"requests":{"cpu":"200m","ephemeral-storage":"2Gi","memory":"1Gi"}}},"maxPayload":"4MB","metadata":{"labels":{"app.kubernetes.io/name":"codefresh-eventbus"}},"nodeSelector":{},"replicas":3,"tolerations":[]}},"pdb":{"enabled":true,"minAvailable":2},"type":"nats"}` | Runtime eventbus |
@@ -637,6 +698,7 @@ gitops-operator:
637698
| global.runtime.ingressUrl | string | `""` | Explicit url for runtime ingress. Provide this value only if you don't want the chart to create and ingress (global.runtime.ingress.enabled=false) and tunnel-client is not used (tunnel-client.enabled=false) |
638699
| global.runtime.isConfigurationRuntime | bool | `false` | is the runtime set as a "configuration runtime". |
639700
| global.runtime.name | string | `nil` | Runtime name. Must be unique per platform account. |
701+
| global.runtime.singleNamespace | bool | `false` | Runtime single namespace mode. When true, runtime operates in single namespace scope. |
640702
| global.tolerations | list | `[]` | Global tolerations for all components |
641703
| installer | object | `{"affinity":{},"argoCdVersionCheck":{"argoServerLabels":{"app.kubernetes.io/component":"server","app.kubernetes.io/part-of":"argocd"}},"image":{"pullPolicy":"IfNotPresent","repository":"quay.io/codefresh/gitops-runtime-installer","tag":""},"nodeSelector":{},"skipUsageValidation":false,"skipValidation":false,"tolerations":[]}` | Runtime installer used for running hooks and checks on the release |
642704
| installer.skipUsageValidation | bool | `false` | if set to true, pre-install hook will *not* run |
@@ -649,7 +711,7 @@ gitops-operator:
649711
| internal-router.fullnameOverride | string | `"internal-router"` | |
650712
| internal-router.image.pullPolicy | string | `"IfNotPresent"` | |
651713
| internal-router.image.repository | string | `"docker.io/nginxinc/nginx-unprivileged"` | |
652-
| internal-router.image.tag | string | `"1.28-alpine3.21"` | |
714+
| internal-router.image.tag | string | `"1.29-alpine3.22"` | |
653715
| internal-router.imagePullSecrets | list | `[]` | |
654716
| internal-router.ipv6 | object | `{"enabled":false}` | For ipv6 enabled clusters switch ipv6 enabled to true |
655717
| internal-router.nameOverride | string | `""` | |

charts/gitops-runtime/README.md.gotmpl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ gitops-operator:
7373
install: true
7474
```
7575

76+
> [!WARNING]
77+
> If you want more than one runtime in your cluster, make sure that all of the runtimes in your cluster are configured with `global.runtime.singleNamespace=true`.
78+
> If you already have a runtime installed in the cluster without this setting, multi runtime installation is not supported.
79+
7680

7781
## Argo-workflows artifact and log storage
7882
Codefresh provides a SaaS object storage based solution for Argo workflows logs storage. The chart deploys a configmap named `codefresh-workflows-log-store` with the repository configuration.

0 commit comments

Comments
 (0)