Proxy Friendly Operators
Proxy-friendly Operators should inspect their environment for the standard proxy variables (HTTPS_PROXY
, HTTP_PROXY
, and NO_PROXY
) and pass the values to Operands.
This can be accomplished by modifying the watches.yaml
to include the overrides based on an environment variable:
- group: demo.example.com
version: v1alpha1
kind: Nginx
chart: helm-charts/nginx
overrideValues:
proxy.http: $HTTP_PROXY
#+kubebuilder:scaffold:watch
Note: This example assumes that proxy.http
is included in your chart’s Values.yaml
. The nginx tutorial does not have this value, but you can add to the helmcharts/nginx/Values.yaml
:
proxy:
http: ""
https: ""
no_proxy: ""
You will also need to make sure the chart template supports the usage of these values. Using the nginx tutorial, edit helm-charts/nginx/templates/deployment.yaml
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: http_proxy
value: "{{ .Values.proxy.http }}"
You can set the environment variable on the Operator deployment. Using the nginx tutorial, edit config/manager/manager.yaml
:
containers:
- args:
- --leader-elect
- --leader-election-id=helm-proxy-demo
image: controller:latest
name: manager
env:
- name: "HTTP_PROXY"
value: "http_proxy_test"
Last modified September 13, 2021: Add docs for proxy-friendly operators (#5204) (2f6e5242)