722 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			722 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: Namespace
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|   name: ingress-nginx
 | |
| ---
 | |
| apiVersion: v1
 | |
| automountServiceAccountToken: true
 | |
| kind: ServiceAccount
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: ServiceAccount
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-admission
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: Role
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| rules:
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - namespaces
 | |
|   verbs:
 | |
|   - get
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - configmaps
 | |
|   - pods
 | |
|   - secrets
 | |
|   - endpoints
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - services
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingresses
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingresses/status
 | |
|   verbs:
 | |
|   - update
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingressclasses
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resourceNames:
 | |
|   - ingress-nginx-leader
 | |
|   resources:
 | |
|   - configmaps
 | |
|   verbs:
 | |
|   - get
 | |
|   - update
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - configmaps
 | |
|   verbs:
 | |
|   - create
 | |
| - apiGroups:
 | |
|   - coordination.k8s.io
 | |
|   resourceNames:
 | |
|   - ingress-nginx-leader
 | |
|   resources:
 | |
|   - leases
 | |
|   verbs:
 | |
|   - get
 | |
|   - update
 | |
| - apiGroups:
 | |
|   - coordination.k8s.io
 | |
|   resources:
 | |
|   - leases
 | |
|   verbs:
 | |
|   - create
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - events
 | |
|   verbs:
 | |
|   - create
 | |
|   - patch
 | |
| - apiGroups:
 | |
|   - discovery.k8s.io
 | |
|   resources:
 | |
|   - endpointslices
 | |
|   verbs:
 | |
|   - list
 | |
|   - watch
 | |
|   - get
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: Role
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-admission
 | |
|   namespace: ingress-nginx
 | |
| rules:
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - secrets
 | |
|   verbs:
 | |
|   - get
 | |
|   - create
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRole
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
| rules:
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - configmaps
 | |
|   - endpoints
 | |
|   - nodes
 | |
|   - pods
 | |
|   - secrets
 | |
|   - namespaces
 | |
|   verbs:
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - coordination.k8s.io
 | |
|   resources:
 | |
|   - leases
 | |
|   verbs:
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - nodes
 | |
|   verbs:
 | |
|   - get
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - services
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingresses
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - events
 | |
|   verbs:
 | |
|   - create
 | |
|   - patch
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingresses/status
 | |
|   verbs:
 | |
|   - update
 | |
| - apiGroups:
 | |
|   - networking.k8s.io
 | |
|   resources:
 | |
|   - ingressclasses
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - watch
 | |
| - apiGroups:
 | |
|   - discovery.k8s.io
 | |
|   resources:
 | |
|   - endpointslices
 | |
|   verbs:
 | |
|   - list
 | |
|   - watch
 | |
|   - get
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRole
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-admission
 | |
| rules:
 | |
| - apiGroups:
 | |
|   - admissionregistration.k8s.io
 | |
|   resources:
 | |
|   - validatingwebhookconfigurations
 | |
|   verbs:
 | |
|   - get
 | |
|   - update
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: RoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: Role
 | |
|   name: ingress-nginx
 | |
| subjects:
 | |
| - kind: ServiceAccount
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: RoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-admission
 | |
|   namespace: ingress-nginx
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: Role
 | |
|   name: ingress-nginx-admission
 | |
| subjects:
 | |
| - kind: ServiceAccount
 | |
|   name: ingress-nginx-admission
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: ClusterRole
 | |
|   name: ingress-nginx
 | |
| subjects:
 | |
| - kind: ServiceAccount
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-admission
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: ClusterRole
 | |
|   name: ingress-nginx-admission
 | |
| subjects:
 | |
| - kind: ServiceAccount
 | |
|   name: ingress-nginx-admission
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: v1
 | |
| data:
 | |
|   annotations-risk-level: Critical
 | |
|   allow-snippet-annotations: "true"
 | |
|   use-proxy-protocol: "true"
 | |
|   log-format-upstream: '{"time": "$time_iso8601", "request_id": "$req_id", "remote_user": "$remote_user", "remote_addr_masked": "$remote_addr_masked", "bytes_sent": $bytes_sent, "request_time": $request_time, "status": $status, "host": "$host", "request_proto": "$server_protocol", "path": "$uri", "request_query": "$args", "request_length": $request_length, "duration": $request_time,"method": "$request_method", "http_referrer": "$http_referer", "http_user_agent": "$http_user_agent", "redirect_location": "$redirect_location" }'
 | |
|   plugins: "redirect_location"
 | |
|   location-snippet: |
 | |
|     set $redirect_location '';
 | |
|   server-snippet: |
 | |
|     set_by_lua_block $remote_addr_masked {
 | |
|       local bit = require("bit")
 | |
| 
 | |
|       local hval = 2166136261
 | |
|       local rem_addr = ngx.var.remote_addr
 | |
| 
 | |
|       for w in rem_addr:gmatch(".") do
 | |
|         hval = bit.bxor(hval,string.byte(w))
 | |
|         hval = hval + bit.lshift(hval,1) + bit.lshift(hval,4) + bit.lshift(hval,7) + bit.lshift(hval,8) + bit.lshift(hval,24)
 | |
|       end
 | |
|       if hval < 0 then
 | |
|         hval = bit.bnot(hval)
 | |
|       end
 | |
|       local octet1 = bit.band(bit.rshift(hval,24), 255)
 | |
|       local octet2 = bit.band(bit.rshift(hval,16), 255)
 | |
|       local octet3 = bit.band(bit.rshift(hval,8), 255)
 | |
|       local octet4 = bit.band(hval, 255)
 | |
|       local op = octet1 .. "." .. octet2 .. "." .. octet3 .. "." .. octet4
 | |
|       return op
 | |
|     }
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     k8s.scw.cloud/ingress: nginx
 | |
|     k8s.scw.cloud/object: ConfigMap
 | |
|     k8s.scw.cloud/system: ingress
 | |
|   name: ingress-nginx-plugin-redirect-location
 | |
|   namespace: ingress-nginx
 | |
| data:
 | |
|   main.lua: |
 | |
|     local ngx = ngx
 | |
|     local _M = {}
 | |
|     function _M.header_filter()
 | |
|       ngx.var.redirect_location = ngx.resp.get_headers()["Location"]
 | |
|     end
 | |
|     return _M
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   annotations:
 | |
|     service.beta.kubernetes.io/scw-loadbalancer-proxy-protocol-v2: "true"
 | |
|     service.beta.kubernetes.io/scw-loadbalancer-use-hostname: "true"
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   externalTrafficPolicy: Local
 | |
|   ipFamilies:
 | |
|   - IPv4
 | |
|   ipFamilyPolicy: SingleStack
 | |
|   ports:
 | |
|   - appProtocol: http
 | |
|     name: http
 | |
|     port: 80
 | |
|     protocol: TCP
 | |
|     targetPort: http
 | |
|   - appProtocol: https
 | |
|     name: https
 | |
|     port: 443
 | |
|     protocol: TCP
 | |
|     targetPort: https
 | |
|   selector:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|   type: LoadBalancer
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-controller-admission
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   ports:
 | |
|   - appProtocol: https
 | |
|     name: https-webhook
 | |
|     port: 443
 | |
|     targetPort: webhook
 | |
|   selector:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|   type: ClusterIP
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   minReadySeconds: 0
 | |
|   revisionHistoryLimit: 10
 | |
|   replicas: 2
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/component: controller
 | |
|       app.kubernetes.io/instance: ingress-nginx
 | |
|       app.kubernetes.io/name: ingress-nginx
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/component: controller
 | |
|         app.kubernetes.io/instance: ingress-nginx
 | |
|         app.kubernetes.io/name: ingress-nginx
 | |
|     spec:
 | |
|       containers:
 | |
|       - args:
 | |
|         - /nginx-ingress-controller
 | |
|         - --publish-service=$(POD_NAMESPACE)/ingress-nginx-controller
 | |
|         - --election-id=ingress-nginx-leader
 | |
|         - --controller-class=k8s.io/ingress-nginx
 | |
|         - --ingress-class=nginx
 | |
|         - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
 | |
|         - --validating-webhook=:8443
 | |
|         - --validating-webhook-certificate=/usr/local/certificates/cert
 | |
|         - --validating-webhook-key=/usr/local/certificates/key
 | |
|         - --annotations-prefix=nginx.ingress.kubernetes.io
 | |
|         - --watch-ingress-without-class
 | |
|         - --enable-metrics
 | |
|         env:
 | |
|         - name: POD_NAME
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               fieldPath: metadata.name
 | |
|         - name: POD_NAMESPACE
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               fieldPath: metadata.namespace
 | |
|         - name: LD_PRELOAD
 | |
|           value: /usr/local/lib/libmimalloc.so
 | |
|         image: registry.k8s.io/ingress-nginx/controller:v1.13.3@sha256:1b044f6dcac3afbb59e05d98463f1dec6f3d3fb99940bc12ca5d80270358e3bd
 | |
|         imagePullPolicy: IfNotPresent
 | |
|         lifecycle:
 | |
|           preStop:
 | |
|             exec:
 | |
|               command:
 | |
|               - /wait-shutdown
 | |
|         livenessProbe:
 | |
|           failureThreshold: 5
 | |
|           httpGet:
 | |
|             path: /healthz
 | |
|             port: 10254
 | |
|             scheme: HTTP
 | |
|           initialDelaySeconds: 10
 | |
|           periodSeconds: 10
 | |
|           successThreshold: 1
 | |
|           timeoutSeconds: 1
 | |
|         name: controller
 | |
|         ports:
 | |
|         - containerPort: 80
 | |
|           name: http
 | |
|           protocol: TCP
 | |
|         - containerPort: 443
 | |
|           name: https
 | |
|           protocol: TCP
 | |
|         - containerPort: 8443
 | |
|           name: webhook
 | |
|           protocol: TCP
 | |
|         readinessProbe:
 | |
|           failureThreshold: 3
 | |
|           httpGet:
 | |
|             path: /healthz
 | |
|             port: 10254
 | |
|             scheme: HTTP
 | |
|           initialDelaySeconds: 10
 | |
|           periodSeconds: 10
 | |
|           successThreshold: 1
 | |
|           timeoutSeconds: 1
 | |
|         resources:
 | |
|           requests:
 | |
|             cpu: 100m
 | |
|             memory: 150Mi
 | |
|         securityContext:
 | |
|           allowPrivilegeEscalation: true
 | |
|           capabilities:
 | |
|             add:
 | |
|             - NET_BIND_SERVICE
 | |
|             drop:
 | |
|             - ALL
 | |
|           runAsUser: 101
 | |
|         volumeMounts:
 | |
|         - mountPath: /usr/local/certificates/
 | |
|           name: webhook-cert
 | |
|           readOnly: true
 | |
|         - name: plugins
 | |
|           mountPath: /etc/nginx/lua/plugins/redirect_location
 | |
|       dnsPolicy: ClusterFirst
 | |
|       nodeSelector:
 | |
|         kubernetes.io/os: linux
 | |
|       serviceAccountName: ingress-nginx
 | |
|       terminationGracePeriodSeconds: 300
 | |
|       volumes:
 | |
|       - name: webhook-cert
 | |
|         secret:
 | |
|           secretName: ingress-nginx-admission
 | |
|       - name: plugins
 | |
|         configMap:
 | |
|           name: ingress-nginx-plugin-redirect-location
 | |
| ---
 | |
| apiVersion: batch/v1
 | |
| kind: Job
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/version: 1.5.1
 | |
|   name: ingress-nginx-admission-create
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/component: admission-webhook
 | |
|         app.kubernetes.io/instance: ingress-nginx
 | |
|         app.kubernetes.io/name: ingress-nginx
 | |
|         app.kubernetes.io/part-of: ingress-nginx
 | |
|         app.kubernetes.io/version: 1.5.1
 | |
|       name: ingress-nginx-admission-create
 | |
|     spec:
 | |
|       containers:
 | |
|       - args:
 | |
|         - create
 | |
|         - --host=ingress-nginx-controller-admission,ingress-nginx-controller-admission.$(POD_NAMESPACE).svc
 | |
|         - --namespace=$(POD_NAMESPACE)
 | |
|         - --secret-name=ingress-nginx-admission
 | |
|         env:
 | |
|         - name: POD_NAMESPACE
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               fieldPath: metadata.namespace
 | |
|         image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343@sha256:39c5b2e3310dc4264d638ad28d9d1d96c4cbb2b2dcfb52368fe4e3c63f61e10f
 | |
|         imagePullPolicy: IfNotPresent
 | |
|         name: create
 | |
|         securityContext:
 | |
|           allowPrivilegeEscalation: false
 | |
|       nodeSelector:
 | |
|         kubernetes.io/os: linux
 | |
|       restartPolicy: OnFailure
 | |
|       securityContext:
 | |
|         fsGroup: 2000
 | |
|         runAsNonRoot: true
 | |
|         runAsUser: 2000
 | |
|       serviceAccountName: ingress-nginx-admission
 | |
| ---
 | |
| apiVersion: batch/v1
 | |
| kind: Job
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/version: 1.5.1
 | |
|   name: ingress-nginx-admission-patch
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/component: admission-webhook
 | |
|         app.kubernetes.io/instance: ingress-nginx
 | |
|         app.kubernetes.io/name: ingress-nginx
 | |
|         app.kubernetes.io/part-of: ingress-nginx
 | |
|         app.kubernetes.io/version: 1.5.1
 | |
|       name: ingress-nginx-admission-patch
 | |
|     spec:
 | |
|       containers:
 | |
|       - args:
 | |
|         - patch
 | |
|         - --webhook-name=ingress-nginx-admission
 | |
|         - --namespace=$(POD_NAMESPACE)
 | |
|         - --patch-mutating=false
 | |
|         - --secret-name=ingress-nginx-admission
 | |
|         - --patch-failure-policy=Fail
 | |
|         env:
 | |
|         - name: POD_NAMESPACE
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               fieldPath: metadata.namespace
 | |
|         image: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343@sha256:39c5b2e3310dc4264d638ad28d9d1d96c4cbb2b2dcfb52368fe4e3c63f61e10f
 | |
|         imagePullPolicy: IfNotPresent
 | |
|         name: patch
 | |
|         securityContext:
 | |
|           allowPrivilegeEscalation: false
 | |
|       nodeSelector:
 | |
|         kubernetes.io/os: linux
 | |
|       restartPolicy: OnFailure
 | |
|       securityContext:
 | |
|         fsGroup: 2000
 | |
|         runAsNonRoot: true
 | |
|         runAsUser: 2000
 | |
|       serviceAccountName: ingress-nginx-admission
 | |
| ---
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: IngressClass
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/version: 1.5.1
 | |
|   name: nginx
 | |
| spec:
 | |
|   controller: k8s.io/ingress-nginx
 | |
| ---
 | |
| apiVersion: admissionregistration.k8s.io/v1
 | |
| kind: ValidatingWebhookConfiguration
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: admission-webhook
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/version: 1.5.1
 | |
|   name: ingress-nginx-admission
 | |
| webhooks:
 | |
| - admissionReviewVersions:
 | |
|   - v1
 | |
|   clientConfig:
 | |
|     service:
 | |
|       name: ingress-nginx-controller-admission
 | |
|       namespace: ingress-nginx
 | |
|       path: /networking/v1/ingresses
 | |
|   failurePolicy: Fail
 | |
|   matchPolicy: Equivalent
 | |
|   name: validate.nginx.ingress.kubernetes.io
 | |
|   rules:
 | |
|   - apiGroups:
 | |
|     - networking.k8s.io
 | |
|     apiVersions:
 | |
|     - v1
 | |
|     operations:
 | |
|     - CREATE
 | |
|     - UPDATE
 | |
|     resources:
 | |
|     - ingresses
 | |
|   sideEffects: None
 | |
| ---
 | |
| apiVersion: policy/v1
 | |
| kind: PodDisruptionBudget
 | |
| metadata:
 | |
|   labels:
 | |
|     app.kubernetes.io/component: controller
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|   name: ingress-nginx
 | |
| spec:
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/component: controller
 | |
|       app.kubernetes.io/instance: ingress-nginx
 | |
|       app.kubernetes.io/name: ingress-nginx
 | |
|   minAvailable: 1
 |