From b4cd4042e4a88158d919aedb3c772f99b32925e4 Mon Sep 17 00:00:00 2001 From: Julien Bouquillon Date: Thu, 16 Feb 2023 22:54:30 +0100 Subject: [PATCH] fix(helm): use merge+dict to prevent memoize fix #59 --- .../charts/app/templates/ingress.yaml | 2 +- .../charts/app/templates/redirect.yaml | 2 +- .../charts/hasura/templates/ingress.yaml | 2 +- .../charts/maildev/templates/ingress.yaml | 2 +- .../charts/metabase/templates/ingress.yaml | 2 +- .../oauth2-proxy/templates/ingress.yaml | 2 +- .../charts/pgweb/templates/ingress.yaml | 2 +- .../__snapshots__/multiple-apps.dev.yaml | 297 +++++++++++++++++ .../__snapshots__/multiple-apps.prod.yaml | 299 ++++++++++++++++++ .../tests/__snapshots__/sample-1.dev.yaml | 11 - .../tests/__snapshots__/sample-1.preprod.yaml | 11 - .../tests/__snapshots__/sample-1.prod.yaml | 11 - .../tests/samples/multiple-apps/dev/.gitkeep | 0 .../tests/samples/multiple-apps/prod/.gitkeep | 0 .../samples/multiple-apps/prod/values.yaml | 4 + .../tests/samples/multiple-apps/values.yaml | 5 + 16 files changed, 612 insertions(+), 40 deletions(-) create mode 100644 packages/workflow/tests/__snapshots__/multiple-apps.dev.yaml create mode 100644 packages/workflow/tests/__snapshots__/multiple-apps.prod.yaml create mode 100644 packages/workflow/tests/samples/multiple-apps/dev/.gitkeep create mode 100644 packages/workflow/tests/samples/multiple-apps/prod/.gitkeep create mode 100644 packages/workflow/tests/samples/multiple-apps/prod/values.yaml create mode 100644 packages/workflow/tests/samples/multiple-apps/values.yaml diff --git a/packages/workflow/charts/app/templates/ingress.yaml b/packages/workflow/charts/app/templates/ingress.yaml index f92afadb..0bc6e389 100644 --- a/packages/workflow/charts/app/templates/ingress.yaml +++ b/packages/workflow/charts/app/templates/ingress.yaml @@ -4,7 +4,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/charts/app/templates/redirect.yaml b/packages/workflow/charts/app/templates/redirect.yaml index ef36b7d8..cfe45e3d 100644 --- a/packages/workflow/charts/app/templates/redirect.yaml +++ b/packages/workflow/charts/app/templates/redirect.yaml @@ -9,7 +9,7 @@ metadata: {{- include "annotations.letsencrypt-cert" . | nindent 4 }} {{- end }} nginx.ingress.kubernetes.io/permanent-redirect: https://{{- include "defaults.ingress-host" . -}}$request_uri - {{- range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{- range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{- end }} diff --git a/packages/workflow/charts/hasura/templates/ingress.yaml b/packages/workflow/charts/hasura/templates/ingress.yaml index 40bf0a0a..19df033c 100644 --- a/packages/workflow/charts/hasura/templates/ingress.yaml +++ b/packages/workflow/charts/hasura/templates/ingress.yaml @@ -3,7 +3,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/charts/maildev/templates/ingress.yaml b/packages/workflow/charts/maildev/templates/ingress.yaml index 40bf0a0a..19df033c 100644 --- a/packages/workflow/charts/maildev/templates/ingress.yaml +++ b/packages/workflow/charts/maildev/templates/ingress.yaml @@ -3,7 +3,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/charts/metabase/templates/ingress.yaml b/packages/workflow/charts/metabase/templates/ingress.yaml index 4edb60fd..8c60445f 100644 --- a/packages/workflow/charts/metabase/templates/ingress.yaml +++ b/packages/workflow/charts/metabase/templates/ingress.yaml @@ -4,7 +4,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/charts/oauth2-proxy/templates/ingress.yaml b/packages/workflow/charts/oauth2-proxy/templates/ingress.yaml index 9c0c32f7..5e681f8f 100644 --- a/packages/workflow/charts/oauth2-proxy/templates/ingress.yaml +++ b/packages/workflow/charts/oauth2-proxy/templates/ingress.yaml @@ -4,7 +4,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/charts/pgweb/templates/ingress.yaml b/packages/workflow/charts/pgweb/templates/ingress.yaml index 40bf0a0a..19df033c 100644 --- a/packages/workflow/charts/pgweb/templates/ingress.yaml +++ b/packages/workflow/charts/pgweb/templates/ingress.yaml @@ -3,7 +3,7 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - {{ range $key, $val := (merge .Values.global.ingress.annotations .Values.ingress.annotations) }} + {{ range $key, $val := (merge dict .Values.global.ingress.annotations .Values.ingress.annotations) }} "{{ $key }}": | {{- $val | nindent 6 }} {{ end }} diff --git a/packages/workflow/tests/__snapshots__/multiple-apps.dev.yaml b/packages/workflow/tests/__snapshots__/multiple-apps.dev.yaml new file mode 100644 index 00000000..90af9db8 --- /dev/null +++ b/packages/workflow/tests/__snapshots__/multiple-apps.dev.yaml @@ -0,0 +1,297 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`multiple-apps.dev 1`] = ` +"apiVersion: v1 +kind: Namespace +metadata: + annotations: + janitor/ttl: 7d + field.cattle.io/projectId: '1234' + kubeworkflow/gitBranch: feature-branch-1 + kubeworkflow/mainNamespace: 'true' + kapp.k14s.io/exists: '' + labels: + application: test-multiple-apps + cert: wildcard + name: test-multiple-apps-feature-branch-1 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: netpol-ingress + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/disable-original: '' +spec: + ingress: + - from: + - podSelector: {} + - from: + - namespaceSelector: + matchLabels: + network-policy/source: ingress-controller + - from: + - namespaceSelector: + matchLabels: + network-policy/source: monitoring + podSelector: {} + policyTypes: + - Ingress +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: default + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/disable-original: '' +automountServiceAccountToken: false +--- +apiVersion: v1 +kind: Service +metadata: + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/disable-default-ownership-label-rules: '' + kapp.k14s.io/disable-default-label-scoping-rules: '' + kapp.k14s.io/disable-original: '' +spec: + ports: + - name: http + port: 80 + targetPort: 3000 + selector: + component: app-api + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/disable-default-ownership-label-rules: '' + kapp.k14s.io/disable-default-label-scoping-rules: '' + kapp.k14s.io/disable-original: '' +spec: + ports: + - name: http + port: 80 + targetPort: 3000 + selector: + component: app-www + type: ClusterIP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/change-group: kube-workflow/test-multiple-apps-feature-branch-1 + kapp.k14s.io/change-group.app-api: kube-workflow/app-api.test-multiple-apps-feature-branch-1 + kapp.k14s.io/disable-original: '' + kapp.k14s.io/create-strategy: fallback-on-update + kapp.k14s.io/update-strategy: fallback-on-replace + kapp.k14s.io/nonce: '' +spec: + replicas: 1 + selector: + matchLabels: + component: app-api + template: + metadata: + labels: + component: app-api + application: test-multiple-apps + spec: + containers: + - image: >- + ghcr.io/socialgouv/test-multiple-apps/app:sha-ffac537e6cbbf934b08745a378932722df287a53 + livenessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 5 + name: app + ports: + - containerPort: 3000 + name: http + readinessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 50m + memory: 128Mi + startupProbe: + failureThreshold: 30 + httpGet: + path: /index.html + port: http + periodSeconds: 5 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/change-group: kube-workflow/test-multiple-apps-feature-branch-1 + kapp.k14s.io/change-group.app-www: kube-workflow/app-www.test-multiple-apps-feature-branch-1 + kapp.k14s.io/disable-original: '' + kapp.k14s.io/create-strategy: fallback-on-update + kapp.k14s.io/update-strategy: fallback-on-replace + kapp.k14s.io/nonce: '' +spec: + replicas: 1 + selector: + matchLabels: + component: app-www + template: + metadata: + labels: + component: app-www + application: test-multiple-apps + spec: + containers: + - image: >- + ghcr.io/socialgouv/test-multiple-apps/app:sha-ffac537e6cbbf934b08745a378932722df287a53 + livenessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 5 + name: app + ports: + - containerPort: 3000 + name: http + readinessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 50m + memory: 128Mi + startupProbe: + failureThreshold: 30 + httpGet: + path: /index.html + port: http + periodSeconds: 5 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + kubernetes.io/ingress.class: nginx + kapp.k14s.io/disable-original: '' + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps-feature-branch-1 +spec: + rules: + - host: app-api-test-multiple-apps-feature-branch-1.dev.fabrique.social.gouv.fr + http: + paths: + - backend: + service: + name: app-api + port: + name: http + path: / + pathType: Prefix + tls: + - hosts: + - >- + app-api-test-multiple-apps-feature-branch-1.dev.fabrique.social.gouv.fr + secretName: wildcard-crt +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + kubernetes.io/ingress.class: nginx + kapp.k14s.io/disable-original: '' + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps-feature-branch-1 +spec: + rules: + - host: app-www-test-multiple-apps-feature-branch-1.dev.fabrique.social.gouv.fr + http: + paths: + - backend: + service: + name: app-www + port: + name: http + path: / + pathType: Prefix + tls: + - hosts: + - >- + app-www-test-multiple-apps-feature-branch-1.dev.fabrique.social.gouv.fr + secretName: wildcard-crt +--- +apiVersion: kapp.k14s.io/v1alpha1 +kind: Config +rebaseRules: + - path: + - metadata + - annotations + - field.cattle.io/publicEndpoints + type: copy + sources: + - existing + resourceMatchers: + - apiVersionKindMatcher: + apiVersion: apps/v1 + kind: Deployment +metadata: + namespace: test-multiple-apps-feature-branch-1 + annotations: + kapp.k14s.io/disable-original: '' +" +`; diff --git a/packages/workflow/tests/__snapshots__/multiple-apps.prod.yaml b/packages/workflow/tests/__snapshots__/multiple-apps.prod.yaml new file mode 100644 index 00000000..fa6b9114 --- /dev/null +++ b/packages/workflow/tests/__snapshots__/multiple-apps.prod.yaml @@ -0,0 +1,299 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`multiple-apps.prod 1`] = ` +"apiVersion: v1 +kind: Namespace +metadata: + annotations: + field.cattle.io/projectId: '1234' + kubeworkflow/gitBranch: feature-branch-1 + kubeworkflow/mainNamespace: 'true' + kapp.k14s.io/exists: '' + labels: + application: test-multiple-apps + name: test-multiple-apps +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: netpol-ingress + namespace: test-multiple-apps + annotations: + kapp.k14s.io/disable-original: '' +spec: + ingress: + - from: + - podSelector: {} + - from: + - namespaceSelector: + matchLabels: + network-policy/source: ingress-controller + - from: + - namespaceSelector: + matchLabels: + network-policy/source: monitoring + podSelector: {} + policyTypes: + - Ingress +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: default + namespace: test-multiple-apps + annotations: + kapp.k14s.io/disable-original: '' +automountServiceAccountToken: false +--- +apiVersion: v1 +kind: Service +metadata: + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps + annotations: + kapp.k14s.io/disable-default-ownership-label-rules: '' + kapp.k14s.io/disable-default-label-scoping-rules: '' + kapp.k14s.io/disable-original: '' +spec: + ports: + - name: http + port: 80 + targetPort: 3000 + selector: + component: app-api + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps + annotations: + kapp.k14s.io/disable-default-ownership-label-rules: '' + kapp.k14s.io/disable-default-label-scoping-rules: '' + kapp.k14s.io/disable-original: '' +spec: + ports: + - name: http + port: 80 + targetPort: 3000 + selector: + component: app-www + type: ClusterIP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps + annotations: + kapp.k14s.io/change-group: kube-workflow/test-multiple-apps + kapp.k14s.io/change-group.app-api: kube-workflow/app-api.test-multiple-apps + kapp.k14s.io/disable-original: '' + kapp.k14s.io/create-strategy: fallback-on-update + kapp.k14s.io/update-strategy: fallback-on-replace + kapp.k14s.io/nonce: '' +spec: + replicas: 1 + selector: + matchLabels: + component: app-api + template: + metadata: + labels: + component: app-api + application: test-multiple-apps + spec: + containers: + - image: ghcr.io/socialgouv/test-multiple-apps/app:prod + livenessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 5 + name: app + ports: + - containerPort: 3000 + name: http + readinessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 50m + memory: 128Mi + startupProbe: + failureThreshold: 30 + httpGet: + path: /index.html + port: http + periodSeconds: 5 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps + annotations: + kapp.k14s.io/change-group: kube-workflow/test-multiple-apps + kapp.k14s.io/change-group.app-www: kube-workflow/app-www.test-multiple-apps + kapp.k14s.io/disable-original: '' + kapp.k14s.io/create-strategy: fallback-on-update + kapp.k14s.io/update-strategy: fallback-on-replace + kapp.k14s.io/nonce: '' +spec: + replicas: 1 + selector: + matchLabels: + component: app-www + template: + metadata: + labels: + component: app-www + application: test-multiple-apps + spec: + containers: + - image: ghcr.io/socialgouv/test-multiple-apps/app:prod + livenessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 30 + periodSeconds: 5 + timeoutSeconds: 5 + name: app + ports: + - containerPort: 3000 + name: http + readinessProbe: + failureThreshold: 15 + httpGet: + path: /index.html + port: http + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 50m + memory: 128Mi + startupProbe: + failureThreshold: 30 + httpGet: + path: /index.html + port: http + periodSeconds: 5 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + kubernetes.io/ingress.class: nginx + cert-manager.io: cluster-issuer + cert-manager.io/cluster-issuer: letsencrypt-prod + kubernetes.io/tls-acme: 'true' + kapp.k14s.io/disable-original: '' + labels: + component: app-api + application: test-multiple-apps + name: app-api + namespace: test-multiple-apps +spec: + rules: + - host: app-api-test-multiple-apps.fabrique.social.gouv.fr + http: + paths: + - backend: + service: + name: app-api + port: + name: http + path: / + pathType: Prefix + tls: + - hosts: + - app-api-test-multiple-apps.fabrique.social.gouv.fr + secretName: app-api-crt +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + kubernetes.io/ingress.class: nginx + pouet: | + 42 + cert-manager.io: cluster-issuer + cert-manager.io/cluster-issuer: letsencrypt-prod + kubernetes.io/tls-acme: 'true' + kapp.k14s.io/disable-original: '' + labels: + component: app-www + application: test-multiple-apps + name: app-www + namespace: test-multiple-apps +spec: + rules: + - host: app-www-test-multiple-apps.fabrique.social.gouv.fr + http: + paths: + - backend: + service: + name: app-www + port: + name: http + path: / + pathType: Prefix + tls: + - hosts: + - app-www-test-multiple-apps.fabrique.social.gouv.fr + secretName: app-www-crt +--- +apiVersion: kapp.k14s.io/v1alpha1 +kind: Config +rebaseRules: + - path: + - metadata + - annotations + - field.cattle.io/publicEndpoints + type: copy + sources: + - existing + resourceMatchers: + - apiVersionKindMatcher: + apiVersion: apps/v1 + kind: Deployment +metadata: + namespace: test-multiple-apps + annotations: + kapp.k14s.io/disable-original: '' +" +`; diff --git a/packages/workflow/tests/__snapshots__/sample-1.dev.yaml b/packages/workflow/tests/__snapshots__/sample-1.dev.yaml index de1ec3b5..fc8a7dc6 100644 --- a/packages/workflow/tests/__snapshots__/sample-1.dev.yaml +++ b/packages/workflow/tests/__snapshots__/sample-1.dev.yaml @@ -458,17 +458,6 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/configuration-snippet: > - more_set_headers \\"Content-Security-Policy: default-src 'none'; connect-src - 'self' https://*.gouv.fr; font-src 'self'; img-src 'self'; prefetch-src - 'self' https://*.gouv.fr; script-src 'self' https://*.gouv.fr; frame-src - 'self' https://*.gouv.fr; style-src 'self' 'unsafe-inline'\\"; - - more_set_headers \\"X-Frame-Options: deny\\"; - - more_set_headers \\"X-XSS-Protection: 1; mode=block\\"; - - more_set_headers \\"X-Content-Type-Options: nosniff\\"; kapp.k14s.io/disable-original: '' labels: component: app-2nd-instance diff --git a/packages/workflow/tests/__snapshots__/sample-1.preprod.yaml b/packages/workflow/tests/__snapshots__/sample-1.preprod.yaml index 68854ce2..8e51767e 100644 --- a/packages/workflow/tests/__snapshots__/sample-1.preprod.yaml +++ b/packages/workflow/tests/__snapshots__/sample-1.preprod.yaml @@ -445,17 +445,6 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/configuration-snippet: > - more_set_headers \\"Content-Security-Policy: default-src 'none'; connect-src - 'self' https://*.gouv.fr; font-src 'self'; img-src 'self'; prefetch-src - 'self' https://*.gouv.fr; script-src 'self' https://*.gouv.fr; frame-src - 'self' https://*.gouv.fr; style-src 'self' 'unsafe-inline'\\"; - - more_set_headers \\"X-Frame-Options: deny\\"; - - more_set_headers \\"X-XSS-Protection: 1; mode=block\\"; - - more_set_headers \\"X-Content-Type-Options: nosniff\\"; kapp.k14s.io/disable-original: '' labels: component: app-2nd-instance diff --git a/packages/workflow/tests/__snapshots__/sample-1.prod.yaml b/packages/workflow/tests/__snapshots__/sample-1.prod.yaml index ff123a03..e5696959 100644 --- a/packages/workflow/tests/__snapshots__/sample-1.prod.yaml +++ b/packages/workflow/tests/__snapshots__/sample-1.prod.yaml @@ -441,17 +441,6 @@ kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx - nginx.ingress.kubernetes.io/configuration-snippet: > - more_set_headers \\"Content-Security-Policy: default-src 'none'; connect-src - 'self' https://*.gouv.fr; font-src 'self'; img-src 'self'; prefetch-src - 'self' https://*.gouv.fr; script-src 'self' https://*.gouv.fr; frame-src - 'self' https://*.gouv.fr; style-src 'self' 'unsafe-inline'\\"; - - more_set_headers \\"X-Frame-Options: deny\\"; - - more_set_headers \\"X-XSS-Protection: 1; mode=block\\"; - - more_set_headers \\"X-Content-Type-Options: nosniff\\"; cert-manager.io: cluster-issuer cert-manager.io/cluster-issuer: letsencrypt-prod kubernetes.io/tls-acme: 'true' diff --git a/packages/workflow/tests/samples/multiple-apps/dev/.gitkeep b/packages/workflow/tests/samples/multiple-apps/dev/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/packages/workflow/tests/samples/multiple-apps/prod/.gitkeep b/packages/workflow/tests/samples/multiple-apps/prod/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/packages/workflow/tests/samples/multiple-apps/prod/values.yaml b/packages/workflow/tests/samples/multiple-apps/prod/values.yaml new file mode 100644 index 00000000..59bf1e5e --- /dev/null +++ b/packages/workflow/tests/samples/multiple-apps/prod/values.yaml @@ -0,0 +1,4 @@ +app-www: + ingress: + annotations: + pouet: "42" diff --git a/packages/workflow/tests/samples/multiple-apps/values.yaml b/packages/workflow/tests/samples/multiple-apps/values.yaml new file mode 100644 index 00000000..b8c9a082 --- /dev/null +++ b/packages/workflow/tests/samples/multiple-apps/values.yaml @@ -0,0 +1,5 @@ +app-www: + enabled: true + +app-api: + enabled: true