From 5eaf4a761a01e93e248f966fe54298a7eb2f3762 Mon Sep 17 00:00:00 2001 From: Patrick Sy Date: Thu, 7 May 2026 17:48:17 +0200 Subject: [PATCH 01/12] fix: increased s3 backup disk size --- .../forgejo-server/manifests/forgejo-s3-backup-cronjob.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/stacks/forgejo/forgejo-server/manifests/forgejo-s3-backup-cronjob.yaml b/template/stacks/forgejo/forgejo-server/manifests/forgejo-s3-backup-cronjob.yaml index 3d77021..5037aec 100644 --- a/template/stacks/forgejo/forgejo-server/manifests/forgejo-s3-backup-cronjob.yaml +++ b/template/stacks/forgejo/forgejo-server/manifests/forgejo-s3-backup-cronjob.yaml @@ -72,7 +72,7 @@ spec: - ReadWriteOnce resources: requests: - storage: 100Gi + storage: 500Gi --- apiVersion: v1 kind: Secret From 1f4489bd707073fc60701cbd56e078f44430b4ab Mon Sep 17 00:00:00 2001 From: "Daniel.Sy" Date: Wed, 13 May 2026 10:18:43 +0000 Subject: [PATCH 02/12] fix(ci-sizer): use getenv with default for SIZER_ALLOWED_ORG Prevents gomplate crash when SIZER_ALLOWED_ORG is not set in environment. Falls back to DevFW-CICD as default org. --- template/stacks/ci-sizer/sizer-receiver/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml index 6e0e000..26174c9 100644 --- a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml +++ b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml @@ -62,7 +62,7 @@ spec: - name: RECEIVER_SESSION_TTL value: "12h" - name: RECEIVER_ALLOWED_ORG - value: "{{{ .Env.SIZER_ALLOWED_ORG }}}" + value: "{{{ getenv "SIZER_ALLOWED_ORG" "DevFW-CICD" }}}" - name: RECEIVER_CPU_SIZING_MODE value: "observe" - name: RECEIVER_MEMORY_QOS From adf7f23685c110266c8a6a3170d1b5141a7904a8 Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Fri, 15 May 2026 16:22:20 +0200 Subject: [PATCH 03/12] =?UTF-8?q?fix(sizer):=20=F0=9F=90=9B=20make=20GARM?= =?UTF-8?q?=20env=20vars=20conditional=20in=20receiver=20deployment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clusters without GARM lack the garm-fixed-credentials secret, causing pod crash loops. The receiver already handles empty GARM_URL gracefully. Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/sizer-receiver/deployment.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml index 26174c9..3f38b2d 100644 --- a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml +++ b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml @@ -39,15 +39,17 @@ spec: secretKeyRef: name: sizer-tokens key: hmac-key +{{{ if .Env.GARM_URL }}} - name: GARM_URL - value: "http://garm.garm.svc.cluster.local:80" + value: "{{{ .Env.GARM_URL }}}" - name: GARM_USER - value: "admin" + value: "{{{ .Env.GARM_USER }}}" - name: GARM_PASSWORD valueFrom: secretKeyRef: name: garm-fixed-credentials key: admin_password +{{{ end }}} - name: RECEIVER_OIDC_ISSUER value: "https://dex.{{{ .Env.DOMAIN }}}" - name: RECEIVER_OIDC_CLIENT_ID From fe51e8588cd0bed19db553f381d5e523d333b1cf Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Fri, 15 May 2026 16:22:35 +0200 Subject: [PATCH 04/12] =?UTF-8?q?feat(ci-sizer):=20=E2=9C=A8=20add=20gitla?= =?UTF-8?q?b-webhook=20ArgoCD=20app=20to=20stacks=20template?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the mutating webhook deployment as a managed ArgoCD application alongside the existing sizer-receiver. Includes deployment, service, RBAC, cert-manager certificates, and webhook configuration. Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/gitlab-webhook.yaml | 25 ++++ .../ci-sizer/gitlab-webhook/certificates.yaml | 27 ++++ .../ci-sizer/gitlab-webhook/deployment.yaml | 141 ++++++++++++++++++ .../gitlab-webhook/webhook-config.yaml | 30 ++++ 4 files changed, 223 insertions(+) create mode 100644 template/stacks/ci-sizer/gitlab-webhook.yaml create mode 100644 template/stacks/ci-sizer/gitlab-webhook/certificates.yaml create mode 100644 template/stacks/ci-sizer/gitlab-webhook/deployment.yaml create mode 100644 template/stacks/ci-sizer/gitlab-webhook/webhook-config.yaml diff --git a/template/stacks/ci-sizer/gitlab-webhook.yaml b/template/stacks/ci-sizer/gitlab-webhook.yaml new file mode 100644 index 0000000..c0b1bce --- /dev/null +++ b/template/stacks/ci-sizer/gitlab-webhook.yaml @@ -0,0 +1,25 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: gitlab-sizer-webhook + namespace: argocd + labels: + env: dev + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + syncPolicy: + automated: + selfHeal: true + syncOptions: + - CreateNamespace=true + retry: + limit: -1 + destination: + name: in-cluster + namespace: ci-sizer + source: + repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}} + targetRevision: HEAD + path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/ci-sizer/gitlab-webhook" diff --git a/template/stacks/ci-sizer/gitlab-webhook/certificates.yaml b/template/stacks/ci-sizer/gitlab-webhook/certificates.yaml new file mode 100644 index 0000000..ee1fece --- /dev/null +++ b/template/stacks/ci-sizer/gitlab-webhook/certificates.yaml @@ -0,0 +1,27 @@ +# Self-signed Issuer for webhook TLS. +# For production, replace with a ClusterIssuer backed by a real CA. +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: selfsigned-issuer +spec: + selfSigned: {} +--- +# cert-manager Certificate for the webhook TLS. +# The resulting Secret (gitlab-sizer-webhook-tls) is mounted into the webhook pod. +# cert-manager also injects the CA into the MutatingWebhookConfiguration via the +# cert-manager.io/inject-ca-from annotation. +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: gitlab-sizer-webhook-cert +spec: + secretName: gitlab-sizer-webhook-tls + issuerRef: + name: selfsigned-issuer + kind: Issuer + dnsNames: + - gitlab-sizer-webhook.ci-sizer.svc + - gitlab-sizer-webhook.ci-sizer.svc.cluster.local + duration: 8760h + renewBefore: 720h diff --git a/template/stacks/ci-sizer/gitlab-webhook/deployment.yaml b/template/stacks/ci-sizer/gitlab-webhook/deployment.yaml new file mode 100644 index 0000000..0b99859 --- /dev/null +++ b/template/stacks/ci-sizer/gitlab-webhook/deployment.yaml @@ -0,0 +1,141 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: gitlab-sizer-webhook +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: gitlab-sizer-webhook +rules: + - apiGroups: [""] + resources: ["pods"] + verbs: ["get", "list", "watch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: gitlab-sizer-webhook +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: gitlab-sizer-webhook +subjects: + - kind: ServiceAccount + name: gitlab-sizer-webhook + namespace: ci-sizer +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gitlab-sizer-webhook + labels: + app: gitlab-sizer-webhook +spec: + replicas: 2 + selector: + matchLabels: + app: gitlab-sizer-webhook + template: + metadata: + labels: + app: gitlab-sizer-webhook + spec: + serviceAccountName: gitlab-sizer-webhook + securityContext: + runAsNonRoot: true + runAsUser: 65534 + runAsGroup: 65534 + seccompProfile: + type: RuntimeDefault + containers: + - name: webhook + image: edp.buildth.ing/devfw-cicd/gitlab-webhook-edge-connect:latest + imagePullPolicy: Always + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - ALL + ports: + - containerPort: 8443 + protocol: TCP + args: + - --listen-addr=:8443 + - --tls-cert-file=/etc/webhook/tls/tls.crt + - --tls-key-file=/etc/webhook/tls/tls.key + - --sizer-url=http://sizer-receiver.ci-sizer.svc:8080 + - --sizer-sidecar-image=edp.buildth.ing/devfw-cicd/ci-sizer-collector:latest + env: + - name: WEBHOOK_SIZER_READ_TOKEN + valueFrom: + secretKeyRef: + name: gitlab-sizer-webhook-tokens + key: sizer-read-token + - name: WEBHOOK_SIZER_PUSH_TOKEN + valueFrom: + secretKeyRef: + name: gitlab-sizer-webhook-tokens + key: sizer-push-token + - name: HTTP_PROXY + valueFrom: + configMapKeyRef: + name: gitlab-sizer-webhook-config + key: HTTP_PROXY + optional: true + - name: HTTPS_PROXY + valueFrom: + configMapKeyRef: + name: gitlab-sizer-webhook-config + key: HTTPS_PROXY + optional: true + - name: NO_PROXY + valueFrom: + configMapKeyRef: + name: gitlab-sizer-webhook-config + key: NO_PROXY + optional: true + volumeMounts: + - name: webhook-tls + mountPath: /etc/webhook/tls + readOnly: true + livenessProbe: + httpGet: + path: /healthz + port: 8443 + scheme: HTTPS + initialDelaySeconds: 5 + periodSeconds: 10 + readinessProbe: + httpGet: + path: /healthz + port: 8443 + scheme: HTTPS + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 200m + memory: 128Mi + volumes: + - name: webhook-tls + secret: + secretName: gitlab-sizer-webhook-tls +--- +apiVersion: v1 +kind: Service +metadata: + name: gitlab-sizer-webhook + labels: + app: gitlab-sizer-webhook +spec: + selector: + app: gitlab-sizer-webhook + ports: + - port: 443 + targetPort: 8443 + protocol: TCP diff --git a/template/stacks/ci-sizer/gitlab-webhook/webhook-config.yaml b/template/stacks/ci-sizer/gitlab-webhook/webhook-config.yaml new file mode 100644 index 0000000..72aea4a --- /dev/null +++ b/template/stacks/ci-sizer/gitlab-webhook/webhook-config.yaml @@ -0,0 +1,30 @@ +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + name: gitlab-sizer-webhook + annotations: + cert-manager.io/inject-ca-from: ci-sizer/gitlab-sizer-webhook-cert +webhooks: + - name: gitlab-sizer-webhook.ci-sizer.svc + admissionReviewVersions: ["v1"] + sideEffects: NoneOnDryRun + failurePolicy: Ignore + timeoutSeconds: 5 + reinvocationPolicy: Never + clientConfig: + service: + name: gitlab-sizer-webhook + namespace: ci-sizer + path: /mutate + rules: + - apiGroups: [""] + apiVersions: ["v1"] + operations: ["CREATE"] + resources: ["pods"] + namespaceSelector: + matchLabels: + ci-sizer.devfw.io/watch: "true" + objectSelector: + matchExpressions: + - key: job.runner.gitlab.com/pod + operator: Exists From d161b8ea4d2c623e8a06f58f20ac8e2d3c3db83f Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Fri, 15 May 2026 16:33:52 +0200 Subject: [PATCH 05/12] =?UTF-8?q?docs(ci-sizer):=20=F0=9F=93=9D=20add=20op?= =?UTF-8?q?t-in=20comment=20to=20gitlab=20webhook=20app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Clarifies that the GitLab webhook ArgoCD app is optional and should only be hydrated for clusters running GitLab Runner. Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/gitlab-webhook.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/template/stacks/ci-sizer/gitlab-webhook.yaml b/template/stacks/ci-sizer/gitlab-webhook.yaml index c0b1bce..c92cae5 100644 --- a/template/stacks/ci-sizer/gitlab-webhook.yaml +++ b/template/stacks/ci-sizer/gitlab-webhook.yaml @@ -1,3 +1,7 @@ +# Optional: GitLab CI integration +# Only hydrate this app for clusters that run GitLab Runner. +# For Forgejo/GitHub-only deployments, omit this app from stacks-instances. +# See: ci-sizer/docs/deployment-modes.md apiVersion: argoproj.io/v1alpha1 kind: Application metadata: From 2a12a568ce636562b31b247de5bf5b65060408b9 Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Fri, 15 May 2026 16:35:02 +0200 Subject: [PATCH 06/12] =?UTF-8?q?docs(stacks):=20=F0=9F=93=9D=20add=20clar?= =?UTF-8?q?ifying=20comments=20to=20stack=20templates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document which components are required vs opt-in for deployment modes. Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/sizer-receiver.yaml | 4 ++++ template/stacks/garm/garm.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/template/stacks/ci-sizer/sizer-receiver.yaml b/template/stacks/ci-sizer/sizer-receiver.yaml index cd36a47..1fc7279 100644 --- a/template/stacks/ci-sizer/sizer-receiver.yaml +++ b/template/stacks/ci-sizer/sizer-receiver.yaml @@ -1,3 +1,7 @@ +# Required: CI Sizer receiver +# Always deploy this — it stores metrics and computes sizing recommendations. +# Works standalone or with GARM (Forgejo/GitHub) and/or GitLab webhook. +# See: ci-sizer/docs/deployment-modes.md apiVersion: argoproj.io/v1alpha1 kind: Application metadata: diff --git a/template/stacks/garm/garm.yaml b/template/stacks/garm/garm.yaml index b643346..67fc4a3 100644 --- a/template/stacks/garm/garm.yaml +++ b/template/stacks/garm/garm.yaml @@ -1,3 +1,7 @@ +# Default: Forgejo/GitHub Actions runner manager +# Deploys GARM with the ci-sizer provider for automatic sizing + collector injection. +# For GitLab-only deployments, omit this and use gitlab-webhook instead. +# See: ci-sizer/docs/deployment-modes.md apiVersion: argoproj.io/v1alpha1 kind: Application metadata: From 32665ff6203bc90b44b69d1a0c2190e731c21950 Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Mon, 18 May 2026 10:15:58 +0200 Subject: [PATCH 07/12] =?UTF-8?q?fix(ci-sizer):=20=F0=9F=90=9B=20use=20saf?= =?UTF-8?q?e=20map=20access=20for=20optional=20GARM=5FURL=20env=20var?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `index .Env "GARM_URL"` returns empty string for missing keys instead of panicking with "map has no entry for key". Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/sizer-receiver/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml index 3f38b2d..884edb2 100644 --- a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml +++ b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml @@ -39,7 +39,7 @@ spec: secretKeyRef: name: sizer-tokens key: hmac-key -{{{ if .Env.GARM_URL }}} +{{{ if index .Env "GARM_URL" }}} - name: GARM_URL value: "{{{ .Env.GARM_URL }}}" - name: GARM_USER From a8ce4c5c38ba05324bf3b1e97d4be11c232d452e Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Mon, 18 May 2026 10:22:26 +0200 Subject: [PATCH 08/12] =?UTF-8?q?fix(sizer):=20=F0=9F=90=9B=20use=20intern?= =?UTF-8?q?al=20K8s=20service=20URL=20for=20GARM=20connection?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch GARM conditional from explicit GARM_URL env var to DOMAIN_GITEA presence check. When Forgejo is deployed, GARM is always available at its cluster-internal service (http://garm.garm.svc:80). Hardcode admin user since GARM always uses that. GitLab-only deploys skip the block. Ref: IPCEICIS-6886 --- template/stacks/ci-sizer/sizer-receiver/deployment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml index 884edb2..91d0bce 100644 --- a/template/stacks/ci-sizer/sizer-receiver/deployment.yaml +++ b/template/stacks/ci-sizer/sizer-receiver/deployment.yaml @@ -39,17 +39,17 @@ spec: secretKeyRef: name: sizer-tokens key: hmac-key -{{{ if index .Env "GARM_URL" }}} +{{{- if index .Env "DOMAIN_GITEA" }}} - name: GARM_URL - value: "{{{ .Env.GARM_URL }}}" + value: "http://garm.garm.svc:80" - name: GARM_USER - value: "{{{ .Env.GARM_USER }}}" + value: "admin" - name: GARM_PASSWORD valueFrom: secretKeyRef: name: garm-fixed-credentials key: admin_password -{{{ end }}} + {{{- end }}} - name: RECEIVER_OIDC_ISSUER value: "https://dex.{{{ .Env.DOMAIN }}}" - name: RECEIVER_OIDC_CLIENT_ID From 707a7b933a2fe86004a9253c2e15cdfe5957bd06 Mon Sep 17 00:00:00 2001 From: Martin McCaffery Date: Mon, 18 May 2026 16:27:56 +0200 Subject: [PATCH 09/12] feat(registry): add ci-sizer registry template --- template/registry/ci-sizer.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 template/registry/ci-sizer.yaml diff --git a/template/registry/ci-sizer.yaml b/template/registry/ci-sizer.yaml new file mode 100644 index 0000000..ce415d6 --- /dev/null +++ b/template/registry/ci-sizer.yaml @@ -0,0 +1,24 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: ci-sizer-reg + namespace: argocd + labels: + env: dev + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + destination: + name: in-cluster + namespace: argocd + source: + path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/ci-sizer" + repoURL: "https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}" + targetRevision: HEAD + project: default + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true From d857f155a864952bfc70270916db2c9344ff6987 Mon Sep 17 00:00:00 2001 From: Martin McCaffery Date: Mon, 18 May 2026 17:18:44 +0200 Subject: [PATCH 10/12] feat(dex): add ci-sizer OIDC static client to template --- template/stacks/core/dex/values.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/template/stacks/core/dex/values.yaml b/template/stacks/core/dex/values.yaml index c6f8b1c..1802203 100644 --- a/template/stacks/core/dex/values.yaml +++ b/template/stacks/core/dex/values.yaml @@ -34,6 +34,11 @@ envVars: secretKeyRef: name: dex-argo-client key: clientSecret + - name: FORGEJO_RUNNER_SIZER_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: dex-sizer-client + key: clientSecret - name: LOG_LEVEL value: debug @@ -74,3 +79,8 @@ config: - "https://{{{ .Env.DOMAIN_GRAFANA }}}/login/generic_oauth" name: "Grafana" secretEnv: "OIDC_DEX_GRAFANA_CLIENT_SECRET" + - id: ci-sizer + name: "CI Sizer" + redirectURIs: + - "https://sizer.{{{ .Env.DOMAIN }}}/ui/callback" + secretEnv: "FORGEJO_RUNNER_SIZER_CLIENT_SECRET" From aaf9e6eade3e72dc510e4ff319e4edfd27cfb918 Mon Sep 17 00:00:00 2001 From: Martin McCaffery Date: Tue, 19 May 2026 09:51:38 +0200 Subject: [PATCH 11/12] bump garm-helm to v0.0.16 (RBAC fix) Co-Authored-By: Claude Opus 4.6 --- template/stacks/garm/garm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/stacks/garm/garm.yaml b/template/stacks/garm/garm.yaml index 67fc4a3..695e1b4 100644 --- a/template/stacks/garm/garm.yaml +++ b/template/stacks/garm/garm.yaml @@ -24,7 +24,7 @@ spec: sources: - repoURL: https://edp.buildth.ing/DevFW-CICD/garm-helm path: charts/garm - targetRevision: v0.0.15 + targetRevision: v0.0.16 helm: valueFiles: - $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/garm/garm/values.yaml From 02308cf633e998889080fae4d362e8aade2596cd Mon Sep 17 00:00:00 2001 From: Daniel Sy Date: Tue, 19 May 2026 16:14:31 +0200 Subject: [PATCH 12/12] chore: bump garm image to v0.1.7-forgejo-23 (OOM detection) --- template/stacks/garm/garm/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/stacks/garm/garm/values.yaml b/template/stacks/garm/garm/values.yaml index f25d10a..887519d 100644 --- a/template/stacks/garm/garm/values.yaml +++ b/template/stacks/garm/garm/values.yaml @@ -26,7 +26,7 @@ credentials: image: repository: {{{ .Env.CLIENT_REPO_DOMAIN }}}/devfw-cicd/garm-forgejo - tag: v0.1.7-forgejo-22 + tag: v0.1.7-forgejo-23 providerConfig: edgeConnect: