Skip to content

Commit 0ad33f3

Browse files
ATGardnerCopilotilia-medvedev-codefresh
authored
added global proxy variables (#573)
* added global proxy variables * removed unused code * removed unused code * reverted white space changes * fixed typo Co-authored-by: Copilot <[email protected]> * feat: add global proxy environment variable support Introduce a new helper function to set proxy environment variables for HTTP, HTTPS, and noProxy. Update various templates to utilize this function, ensuring consistent proxy configuration across components. This change enhances the flexibility of proxy settings in the GitOps runtime. * add proxy env vars to hook jobs * simplified helper func * removed this by accident * reorder * move app proxy proxy env handling to defaults and add test * cleaned up env var hacks, bumped subcharts instead * fixed func comment --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Ilia Medvedev <[email protected]>
1 parent 22f8f45 commit 0ad33f3

File tree

14 files changed

+124
-40
lines changed

14 files changed

+124
-40
lines changed

charts/gitops-runtime/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ dependencies:
3939
condition: tunnel-client.enabled
4040
- name: codefresh-gitops-operator
4141
repository: oci://quay.io/codefresh/charts
42-
version: 0.8.0
42+
version: 0.8.1
4343
alias: gitops-operator
4444
condition: gitops-operator.enabled
4545
- name: cf-argocd-extras
4646
repository: oci://quay.io/codefresh/charts
47-
version: 0.5.7
47+
version: 0.5.8

charts/gitops-runtime/templates/_components/cap-app-proxy/environment-variables/_main-container.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,14 @@ IRW_JIRA_ENRICHMENT_TASK_IMAGE:
211211
key: enrichmentJiraEnrichmentImage
212212
optional: true
213213
NODE_EXTRA_CA_CERTS: /app/config/all/all.cer
214+
{{ include "codefresh-gitops-runtime.get-proxy-env-vars" . }}
214215
{{- end -}}
215216

216217
{{/*
217218
Read defaults from the template above and merge with the values provided in values file
218219
*/}}
219220
{{- define "cap-app-proxy.environment-variables" -}}
220-
{{- $defaults := (include "cap-app-proxy.environment-variables.defaults" . | fromYaml ) }}
221+
{{- $defaults := (include "cap-app-proxy.environment-variables.defaults" . | fromYaml) }}
221222
{{- $overrides := .Values.env }}
222223
{{- $mergedValues := mergeOverwrite $defaults $overrides }}
223224
{{- include "codefresh-gitops-runtime.components.common_helpers.container-templates.env-vars" $mergedValues }}

charts/gitops-runtime/templates/_helpers.tpl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,3 +507,18 @@ valueFrom:
507507
optional: true
508508
{{- end }}
509509
# ------------------------------------------------------------------------------------------------------------
510+
511+
{{/*
512+
Print proxy environment variables
513+
*/}}
514+
{{- define "codefresh-gitops-runtime.get-proxy-env-vars" -}}
515+
{{- if .Values.global.httpProxy }}
516+
HTTP_PROXY: {{ .Values.global.httpProxy }}
517+
{{- end }}
518+
{{- if .Values.global.httpsProxy }}
519+
HTTPS_PROXY: {{ .Values.global.httpsProxy }}
520+
{{- end }}
521+
{{- if .Values.global.noProxy }}
522+
NO_PROXY: {{ .Values.global.noProxy }}
523+
{{- end }}
524+
{{- end -}}

charts/gitops-runtime/templates/app-proxy/_app-proxy-env.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Some app-proxy environment variables are determined by values provided in other
33
to keep the separation of components as pseudo library charts, they are defined here to be merged when
44
app-proxy components are generated.
55
*/}}
6-
{{- define "codefresh-gitops-runtime.app-proxy.calculated-env-vars"}}
6+
{{- define "codefresh-gitops-runtime.app-proxy.calculated-env-vars" }}
77
HELM_RELEASE_NAME: {{ .Release.Name }}
88
USER_TOKEN:
99
{{- include "codefresh-gitops-runtime.installation-token-env-var-value" . | nindent 2 }}

charts/gitops-runtime/templates/event-reporters/rollout-reporter/sensor.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
{{- $eventReporterContext := deepCopy . }}
33
{{- $_ := set $eventReporterContext "Values" (deepCopy (get .Values "event-reporters")) }}
44
{{- $_ := set $eventReporterContext.Values "global" (deepCopy (get .Values "global")) }}
5+
6+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
7+
{{- $mergedEnv := mergeOverwrite $globalProxyEnv $eventReporterContext.Values.rollout.sensor.env }}
8+
{{- $_ := set $eventReporterContext.Values.rollout.sensor "env" $mergedEnv }}
9+
510
{{- include "event-reporters.rollout-reporter.sensor" $eventReporterContext }}
611
{{- end }}

charts/gitops-runtime/templates/event-reporters/workflow-reporter/sensor.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,10 @@
33
{{- $eventReporterContext := deepCopy . }}
44
{{- $_ := set $eventReporterContext "Values" (deepCopy (get .Values "event-reporters")) }}
55
{{- $_ := set $eventReporterContext.Values "global" (deepCopy (get .Values "global")) }}
6+
7+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
8+
{{- $mergedEnv := mergeOverwrite $globalProxyEnv $eventReporterContext.Values.workflow.sensor.env }}
9+
{{- $_ := set $eventReporterContext.Values.workflow.sensor "env" $mergedEnv }}
10+
611
{{- include "event-reporters.workflow-reporter.sensor" $eventReporterContext }}
712
{{- end }}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{{- define "installer.validate-usage.environment-variables.defaults" -}}
2+
NAMESPACE:
3+
valueFrom:
4+
fieldRef:
5+
fieldPath: metadata.namespace
6+
{{- end -}}
7+
8+
{{- define "installer.validate-usage.environment-variables" -}}
9+
{{- $defaults := (include "installer.validate-usage.environment-variables.defaults" . | fromYaml) }}
10+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
11+
{{- $mergedValues := mergeOverwrite $defaults $globalProxyEnv }}
12+
{{- include "codefresh-gitops-runtime.components.common_helpers.container-templates.env-vars" $mergedValues }}
13+
{{- end -}}
14+
15+
{{- define "installer.validate-values.environment-variables.defaults" -}}
16+
ARGOCD_CHECK_VERSION: {{ not (get .Values "argo-cd").enabled | quote }}
17+
ARGOCD_LABELS: "{{ range $k, $v := .Values.installer.argoCdVersionCheck.argoServerLabels }}{{ $k }}={{ $v }},{{ end }}"
18+
ARGOCD_ROOT_PATH: {{ index .Values "global" "external-argo-cd" "server" "rootpath" | quote }}
19+
ARGOCD_VERSION_PATH: "/api/version"
20+
CHART_VERSION: {{ .Chart.Version }}
21+
NAMESPACE:
22+
valueFrom:
23+
fieldRef:
24+
fieldPath: metadata.namespace
25+
REQUIRED_VERSION_CONSTRAINT: ">=2.12 <3"
26+
{{- end -}}
27+
28+
{{- define "installer.validate-values.environment-variables" -}}
29+
{{- $defaults := (include "installer.validate-values.environment-variables.defaults" . | fromYaml) }}
30+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
31+
{{- $mergedValues := mergeOverwrite $defaults $globalProxyEnv }}
32+
{{- include "codefresh-gitops-runtime.components.common_helpers.container-templates.env-vars" $mergedValues }}
33+
{{- end -}}

charts/gitops-runtime/templates/hooks/pre-install/validate-usage.yaml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@ spec:
1818
- name: validate-usage
1919
image: "{{ .Values.installer.image.repository }}:{{ .Values.installer.image.tag | default .Chart.Version }}"
2020
imagePullPolicy: {{ .Values.installer.image.pullPolicy }}
21-
env:
22-
- name: NAMESPACE
23-
valueFrom:
24-
fieldRef:
25-
fieldPath: metadata.namespace
21+
{{- include "installer.validate-usage.environment-variables" . | nindent 8}}
2622
command: ["sh", "-c"]
2723
args:
2824
- |

charts/gitops-runtime/templates/hooks/pre-install/validate-values.yaml

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,7 @@ spec:
1717
- name: validate-values
1818
image: "{{ .Values.installer.image.repository }}:{{ .Values.installer.image.tag | default .Chart.Version }}"
1919
imagePullPolicy: {{ .Values.installer.image.pullPolicy }}
20-
env:
21-
- name: NAMESPACE
22-
valueFrom:
23-
fieldRef:
24-
fieldPath: metadata.namespace
25-
- name: CHART_VERSION
26-
value: {{ .Chart.Version }}
27-
- name: ARGOCD_CHECK_VERSION
28-
value: {{ not (get .Values "argo-cd").enabled | quote }}
29-
- name: ARGOCD_LABELS
30-
value: "{{ range $k, $v := .Values.installer.argoCdVersionCheck.argoServerLabels }}{{ $k }}={{ $v }},{{ end }}"
31-
- name: ARGOCD_VERSION_PATH
32-
value: "/api/version"
33-
- name: REQUIRED_VERSION_CONSTRAINT
34-
value: ">=2.12 <3"
35-
- name: ARGOCD_ROOT_PATH
36-
value: {{ index .Values "global" "external-argo-cd" "server" "rootpath" | default "" }}
20+
{{- include "installer.validate-values.environment-variables" . | nindent 8}}
3721
command: ["sh", "-c"]
3822
args:
3923
- | # shell
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{{- define "installer.cleanup-resources.environment-variables" -}}
2+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
3+
{{- include "codefresh-gitops-runtime.components.common_helpers.container-templates.env-vars" $globalProxyEnv }}
4+
{{- end -}}
5+
6+
{{- define "installer.delete-runtime-from-platform.environment-variables.defaults" -}}
7+
{{- $customCASecretKey := ""}}
8+
{{- if or .Values.global.codefresh.tls.caCerts.secret.create .Values.global.codefresh.tls.caCerts.secretKeyRef }}
9+
{{- $customCASecretKey = .Values.global.codefresh.tls.caCerts.secret.create | ternary (default "ca-bundle.crt" .Values.global.codefresh.tls.caCerts.secret.key) .Values.global.codefresh.tls.caCerts.secretKeyRef.key }}
10+
{{- end }}
11+
PLATFORM_URL: {{ .Values.global.codefresh.url }}
12+
RUNTIME_NAME: {{ .Values.global.runtime.name }}
13+
{{- if $customCASecretKey }}
14+
SSL_CERT_FILE: /app/config/codefresh-tls-certs/{{ $customCASecretKey }}
15+
{{- end }}
16+
USER_TOKEN:
17+
{{- include "codefresh-gitops-runtime.installation-token-env-var-value" . | nindent 2 }}
18+
{{- end -}}
19+
20+
{{- define "installer.delete-runtime-from-platform.environment-variables" -}}
21+
{{- $defaults := (include "installer.delete-runtime-from-platform.environment-variables.defaults" . | fromYaml) }}
22+
{{- $globalProxyEnv := (include "codefresh-gitops-runtime.get-proxy-env-vars" . | fromYaml) }}
23+
{{- $mergedValues := mergeOverwrite $defaults $globalProxyEnv }}
24+
{{- include "codefresh-gitops-runtime.components.common_helpers.container-templates.env-vars" $mergedValues }}
25+
{{- end -}}

0 commit comments

Comments
 (0)