@@ -50,17 +50,55 @@ spec:
5050 - name : ndots
5151 value : " 1"
5252 priorityClassName : system-cluster-critical
53+ serviceAccountName : skipper-validation-webhook
5354 containers :
5455 - name : skipper-admission-webhook
5556 image : 926694233939.dkr.ecr.eu-central-1.amazonaws.com/production_namespace/teapot/skipper:v0.22.142
57+ env :
58+ {{ if or (eq .Cluster.ConfigItems.skipper_local_tokeninfo "production") (eq .Cluster.ConfigItems.skipper_local_tokeninfo "bridge") }}
59+ - name : LOCAL_TOKENINFO
60+ value : " true"
61+ {{ end }}
62+ {{ if eq .Cluster.ConfigItems.skipper_local_tokeninfo "bridge" }}
63+ - name : LOCAL_TOKENINFO_SANDBOX
64+ value : " true"
65+ {{ end }}
66+ {{ if or (eq .Cluster.ConfigItems.nlb_switch "pre") (eq .Cluster.ConfigItems.nlb_switch "exec") }}
67+ - name : HTTP_REDIRECT
68+ value : " true"
69+ {{ end }}
70+ {{ if eq .Cluster.ConfigItems.skipper_lua_scripts_enabled "true" }}
71+ - name : LUA_PATH
72+ value : /etc/skipper/lua/?.lua
73+ - name : DATADOME_API_KEY
74+ valueFrom :
75+ secretKeyRef :
76+ name : skipper-ingress
77+ key : datadome-api-key
78+ - name : KASADA_API_KEY
79+ valueFrom :
80+ secretKeyRef :
81+ name : skipper-ingress
82+ key : kasada-api-key
83+ {{ end }}
5684 args :
5785 - skipper
58- - -support-listener=:9981
59- - --validation-webhook-enabled=true
60- - --validation-webhook-address=:9085
61- - --validation-webhook-cert-file=/etc/tls-certs/skipper-validation-webhook.pem
62- - --validation-webhook-key-file=/etc/tls-certs/skipper-validation-webhook-key.pem
63- - " --enable-advanced-validation={{ .Cluster.ConfigItems.enable_advanced_validation }}"
86+ - " -support-listener=:9981"
87+ - " -validation-webhook-enabled=true"
88+ - " -validation-webhook-address=:9085"
89+ - " -validation-webhook-cert-file=/etc/tls-certs/skipper-validation-webhook.pem"
90+ - " -validation-webhook-key-file=/etc/tls-certs/skipper-validation-webhook-key.pem"
91+ - " -enable-profile"
92+ - " -memory-profile-rate={{ .Cluster.ConfigItems.skipper_memory_profile_rate }}"
93+ - " -block-profile-rate={{ .Cluster.ConfigItems.skipper_block_profile_rate }}"
94+ - " -mutex-profile-fraction={{ .Cluster.ConfigItems.skipper_mutex_profile_fraction }}"
95+ - " -kubernetes"
96+ - " -kubernetes-in-cluster"
97+ - " -kubernetes-healthcheck=false" # see -inline-routes
98+ - " -kubernetes-path-mode=path-prefix"
99+ - " -enable-kubernetes-endpointslices={{ .Cluster.ConfigItems.skipper_endpointslices_enabled }}"
100+ - " -enable-advanced-validation={{ .Cluster.ConfigItems.enable_advanced_validation }}"
101+ - " -source-poll-timeout=9223372036854775807" # Max Duration
64102 - " -metrics-flavour=prometheus"
65103 - " -metrics-exp-decay-sample"
66104 - " -enable-prometheus-start-label={{ .Cluster.ConfigItems.skipper_prometheus_start_label_enabled }}"
@@ -73,6 +111,22 @@ spec:
73111 - " -disable-metrics-compat"
74112 - " -histogram-metric-buckets=.0001,.00025,.0005,.00075,.001,.0025,.005,.0075,.01,.025,.05,.075,.1,.2,.3,.4,.5,.75,1,2,3,4,5,7,10,15,20,30,60,120,300,600"
75113 - " -disabled-filters={{ .Cluster.ConfigItems.skipper_disabled_filters }}"
114+ - " -compress-encodings={{ .Cluster.ConfigItems.skipper_compress_encodings }}"
115+ - " -enable-ratelimits"
116+ {{ if eq .Cluster.ConfigItems.skipper_ingress_redis_swarm_enabled "true" }}
117+ - " -enable-swarm"
118+ - " -swarm-redis-dial-timeout={{ .Cluster.ConfigItems.skipper_redis_dial_timeout }}"
119+ - " -swarm-redis-pool-timeout={{ .Cluster.ConfigItems.skipper_redis_pool_timeout }}"
120+ - " -swarm-redis-read-timeout={{ .Cluster.ConfigItems.skipper_redis_read_timeout }}"
121+ - " -swarm-redis-write-timeout={{ .Cluster.ConfigItems.skipper_redis_write_timeout }}"
122+ - " -cluster-ratelimit-max-group-shards={{ .Cluster.ConfigItems.skipper_cluster_ratelimit_max_group_shards }}"
123+ - " -swarm-redis-min-conns={{ .Cluster.ConfigItems.skipper_redis_min_conns }}"
124+ - " -swarm-redis-max-conns={{ .Cluster.ConfigItems.skipper_redis_max_conns }}"
125+ - " -kubernetes-redis-service-namespace=kube-system"
126+ - " -kubernetes-redis-service-name=skipper-ingress-redis"
127+ - " -kubernetes-redis-service-port=6379"
128+ {{ end }}
129+ - " -lua-sources={{ .Cluster.ConfigItems.skipper_lua_sources }}"
76130 - " -default-filters-dir=/etc/config/default-filters"
77131 - ' -default-filters-prepend={{ .Cluster.ConfigItems.skipper_default_filters }}'
78132 - ' -default-filters-append={{ .Cluster.ConfigItems.skipper_default_filters_authentication }}'
@@ -81,6 +135,27 @@ spec:
81135 - ' -kubernetes-annotation-filters-append={{ .Cluster.ConfigItems.skipper_kubernetes_annotation_filters_append }}'
82136 - ' -kubernetes-east-west-range-annotation-predicates={{ .Cluster.ConfigItems.skipper_kubernetes_east_west_range_annotation_predicates }}'
83137 - ' -kubernetes-east-west-range-annotation-filters-append={{ .Cluster.ConfigItems.skipper_kubernetes_east_west_range_annotation_filters_append }}'
138+ - " -oauth2-tokeninfo-url=http://127.0.0.1:9021/oauth2/tokeninfo"
139+ {{ if eq .Cluster.ConfigItems.skipper_oauth2_ui_login "true" }}
140+ - " -enable-oauth2-grant-flow"
141+ - " -oauth2-auth-url={{ .Cluster.ConfigItems.skipper_oauth2_auth_url }}"
142+ - " -oauth2-token-url={{ .Cluster.ConfigItems.skipper_oauth2_token_url }}"
143+ - " -oauth2-secret-file=/etc/skipper/secret/encryption-key"
144+ - " -oauth2-client-id-file=/etc/skipper/hostname-credentials/{host}-grant-credentials-employee-client-id"
145+ - " -oauth2-client-secret-file=/etc/skipper/hostname-credentials/{host}-grant-credentials-employee-client-secret"
146+ - " -credentials-update-interval=1m"
147+ - " -oauth2-token-cookie-name={{ .Cluster.ConfigItems.skipper_oauth2_cookie_name }}"
148+ - " -oauth2-token-cookie-remove-subdomains=0"
149+ - " -oauth2-callback-path={{ .Cluster.ConfigItems.skipper_oauth2_redirect_uri_path }}"
150+ - " -oauth2-grant-tokeninfo-keys={{ .Cluster.ConfigItems.skipper_oauth2_ui_login_tokeninfo_keys }}"
151+ {{ end }}
152+ {{ if eq .Cluster.ConfigItems.skipper_open_policy_agent_enabled "true" }}
153+ - " -enable-open-policy-agent"
154+ - " -open-policy-agent-config-template=/etc/skipper/open-policy-agent/opaconfig.yaml"
155+ - " -open-policy-agent-envoy-metadata=/etc/skipper/open-policy-agent/envoymetadata.json"
156+ - " -enable-open-policy-agent-data-preprocessing-optimization={{ .Cluster.ConfigItems.skipper_open_policy_agent_data_preprocessing_optimization_enabled }}"
157+ - " -enable-open-policy-agent-preloading={{ .Cluster.ConfigItems.skipper_open_policy_agent_preloading_enabled }}"
158+ {{ end }}
84159 lifecycle :
85160 preStop :
86161 sleep :
@@ -110,6 +185,24 @@ spec:
110185 readOnly : true
111186 - name : filters
112187 mountPath : /etc/config/default-filters
188+ {{ if eq .Cluster.ConfigItems.skipper_lua_scripts_enabled "true" }}
189+ - name : lua
190+ mountPath : /etc/skipper/lua
191+ readOnly : true
192+ {{ end }}
193+ {{ if eq .Cluster.ConfigItems.skipper_oauth2_ui_login "true"}}
194+ - name : hostname-credentials
195+ mountPath : /etc/skipper/hostname-credentials
196+ readOnly : true
197+ - name : encryption-key
198+ mountPath : /etc/skipper/secret
199+ readOnly : true
200+ {{ end }}
201+ {{ if eq .Cluster.ConfigItems.skipper_open_policy_agent_enabled "true" }}
202+ - name : open-policy-agent-config
203+ mountPath : /etc/skipper/open-policy-agent
204+ readOnly : true
205+ {{ end }}
113206 volumes :
114207 - name : tls-certs
115208 secret :
@@ -118,3 +211,22 @@ spec:
118211 configMap :
119212 name : skipper-default-filters
120213 optional : true
214+ {{ if eq .Cluster.ConfigItems.skipper_lua_scripts_enabled "true" }}
215+ - name : lua
216+ configMap :
217+ name : skipper-ingress-lua
218+ optional : true
219+ {{ end }}
220+ {{ if eq .Cluster.ConfigItems.skipper_oauth2_ui_login "true"}}
221+ - name : hostname-credentials
222+ secret :
223+ secretName : hostname-credentials
224+ - name : encryption-key
225+ secret :
226+ secretName : skipper-ingress
227+ {{ end }}
228+ {{ if eq .Cluster.ConfigItems.skipper_open_policy_agent_enabled "true" }}
229+ - name : open-policy-agent-config
230+ configMap :
231+ name : open-policy-agent-config
232+ {{ end }}
0 commit comments