mirror of
				https://github.com/optim-enterprises-bv/terraform-talos.git
				synced 2025-10-30 01:52:18 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			468 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			468 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| ---
 | |
| # Source: ingress-nginx/templates/controller-serviceaccount.yaml
 | |
| apiVersion: v1
 | |
| kind: ServiceAccount
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   name: ingress-nginx
 | |
|   namespace: ingress-nginx
 | |
| automountServiceAccountToken: true
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-configmap.yaml
 | |
| apiVersion: v1
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| data:
 | |
|   allow-snippet-annotations: "true"
 | |
|   client-body-timeout: "30"
 | |
|   client-header-timeout: "30"
 | |
|   enable-access-log-for-default-backend: "true"
 | |
|   error-log-level: "error"
 | |
|   hsts: "true"
 | |
|   hsts-include-subdomains: "true"
 | |
|   hsts-max-age: "31536000"
 | |
|   hsts-preload: "true"
 | |
|   http-redirect-code: "301"
 | |
|   limit-req-status-code: "429"
 | |
|   log-format-escape-json: "true"
 | |
|   log-format-upstream: "{\"ip\":\"$remote_addr\", \"ssl\":\"$ssl_protocol\", \"method\":\"$request_method\", \"proto\":\"$scheme\", \"host\":\"$host\", \"uri\":\"$request_uri\", \"status\":$status, \"size\":$bytes_sent, \"agent\":\"$http_user_agent\", \"referer\":\"$http_referer\", \"namespace\":\"$namespace\"}"
 | |
|   proxy-connect-timeout: "10"
 | |
|   proxy-headers-hash-bucket-size: "128"
 | |
|   proxy-hide-headers: "strict-transport-security"
 | |
|   proxy-read-timeout: "60"
 | |
|   proxy-real-ip-cidr: "173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,172.64.0.0/13,131.0.72.0/22,104.16.0.0/13,104.24.0.0/14"
 | |
|   proxy-send-timeout: "60"
 | |
|   server-name-hash-bucket-size: "64"
 | |
|   server-name-hash-max-size: "512"
 | |
|   server-tokens: "false"
 | |
|   ssl-protocols: "TLSv1.3"
 | |
|   upstream-keepalive-connections: "32"
 | |
|   use-forwarded-headers: "true"
 | |
|   use-geoip: "false"
 | |
|   use-geoip2: "false"
 | |
|   use-gzip: "true"
 | |
|   worker-cpu-affinity: "auto"
 | |
|   worker-processes: "auto"
 | |
| ---
 | |
| # Source: ingress-nginx/templates/clusterrole.yaml
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRole
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|   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
 | |
| ---
 | |
| # Source: ingress-nginx/templates/clusterrolebinding.yaml
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|   name: ingress-nginx
 | |
| roleRef:
 | |
|   apiGroup: rbac.authorization.k8s.io
 | |
|   kind: ClusterRole
 | |
|   name: ingress-nginx
 | |
| subjects:
 | |
|   - kind: ServiceAccount
 | |
|     name: ingress-nginx
 | |
|     namespace: "ingress-nginx"
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-role.yaml
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: Role
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   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:
 | |
|       - coordination.k8s.io
 | |
|     resources:
 | |
|       - leases
 | |
|     resourceNames:
 | |
|       - ingress-nginx-leader
 | |
|     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
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-rolebinding.yaml
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: RoleBinding
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   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"
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-service.yaml
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   annotations:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   clusterIP: None
 | |
|   ipFamilyPolicy: RequireDualStack
 | |
|   ipFamilies: 
 | |
|     - IPv4
 | |
|     - IPv6
 | |
|   ports:
 | |
|     - name: http
 | |
|       port: 80
 | |
|       protocol: TCP
 | |
|       targetPort: http
 | |
|       appProtocol: http
 | |
|     - name: https
 | |
|       port: 443
 | |
|       protocol: TCP
 | |
|       targetPort: https
 | |
|       appProtocol: https
 | |
|   selector:
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/component: controller
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-daemonset.yaml
 | |
| apiVersion: apps/v1
 | |
| kind: DaemonSet
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   name: ingress-nginx-controller
 | |
|   namespace: ingress-nginx
 | |
| spec:
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/name: ingress-nginx
 | |
|       app.kubernetes.io/instance: ingress-nginx
 | |
|       app.kubernetes.io/component: controller
 | |
|   revisionHistoryLimit: 2
 | |
|   updateStrategy: 
 | |
|     rollingUpdate:
 | |
|       maxUnavailable: 1
 | |
|     type: RollingUpdate
 | |
|   minReadySeconds: 15
 | |
|   template:
 | |
|     metadata:
 | |
|       annotations:
 | |
|         prometheus.io/port: "10254"
 | |
|         prometheus.io/scrape: "true"
 | |
|       labels:
 | |
|         helm.sh/chart: ingress-nginx-4.6.0
 | |
|         app.kubernetes.io/name: ingress-nginx
 | |
|         app.kubernetes.io/instance: ingress-nginx
 | |
|         app.kubernetes.io/version: "1.7.0"
 | |
|         app.kubernetes.io/part-of: ingress-nginx
 | |
|         app.kubernetes.io/managed-by: Helm
 | |
|         app.kubernetes.io/component: controller
 | |
|     spec:
 | |
|       dnsPolicy: ClusterFirstWithHostNet
 | |
|       containers:
 | |
|         - name: controller
 | |
|           image: "registry.k8s.io/ingress-nginx/controller:v1.7.0@sha256:7612338342a1e7b8090bef78f2a04fffcadd548ccaabe8a47bf7758ff549a5f7"
 | |
|           imagePullPolicy: IfNotPresent
 | |
|           lifecycle: 
 | |
|             preStop:
 | |
|               exec:
 | |
|                 command:
 | |
|                 - /wait-shutdown
 | |
|           args:
 | |
|             - /nginx-ingress-controller
 | |
|             - --election-id=ingress-nginx-leader
 | |
|             - --controller-class=k8s.io/ingress-nginx
 | |
|             - --ingress-class=nginx
 | |
|             - --configmap=$(POD_NAMESPACE)/ingress-nginx-controller
 | |
|           securityContext: 
 | |
|             capabilities:
 | |
|               drop:
 | |
|               - ALL
 | |
|               add:
 | |
|               - NET_BIND_SERVICE
 | |
|             runAsUser: 101
 | |
|             allowPrivilegeEscalation: true
 | |
|           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
 | |
|             - name: NODE_NAME
 | |
|               valueFrom:
 | |
|                 fieldRef:
 | |
|                   fieldPath: metadata.name
 | |
|           livenessProbe: 
 | |
|             failureThreshold: 5
 | |
|             httpGet:
 | |
|               path: /healthz
 | |
|               port: 10254
 | |
|               scheme: HTTP
 | |
|             initialDelaySeconds: 15
 | |
|             periodSeconds: 30
 | |
|             successThreshold: 1
 | |
|             timeoutSeconds: 1
 | |
|           readinessProbe: 
 | |
|             failureThreshold: 3
 | |
|             httpGet:
 | |
|               path: /healthz
 | |
|               port: 10254
 | |
|               scheme: HTTP
 | |
|             initialDelaySeconds: 10
 | |
|             periodSeconds: 30
 | |
|             successThreshold: 1
 | |
|             timeoutSeconds: 1
 | |
|           ports:
 | |
|             - name: http
 | |
|               containerPort: 80
 | |
|               protocol: TCP
 | |
|             - name: https
 | |
|               containerPort: 443
 | |
|               protocol: TCP
 | |
|           resources: 
 | |
|             limits:
 | |
|               cpu: 1
 | |
|               memory: 1Gi
 | |
|             requests:
 | |
|               cpu: 100m
 | |
|               memory: 128Mi
 | |
|       hostNetwork: true
 | |
|       nodeSelector: 
 | |
|         kubernetes.io/os: linux
 | |
|       affinity: 
 | |
|         nodeAffinity:
 | |
|           requiredDuringSchedulingIgnoredDuringExecution:
 | |
|             nodeSelectorTerms:
 | |
|             - matchExpressions:
 | |
|               - key: project.io/node-pool
 | |
|                 operator: In
 | |
|                 values:
 | |
|                 - web
 | |
|       serviceAccountName: ingress-nginx
 | |
|       terminationGracePeriodSeconds: 300
 | |
| ---
 | |
| # Source: ingress-nginx/templates/controller-ingressclass.yaml
 | |
| # We don't support namespaced ingressClass yet
 | |
| # So a ClusterRole and a ClusterRoleBinding is required
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: IngressClass
 | |
| metadata:
 | |
|   labels:
 | |
|     helm.sh/chart: ingress-nginx-4.6.0
 | |
|     app.kubernetes.io/name: ingress-nginx
 | |
|     app.kubernetes.io/instance: ingress-nginx
 | |
|     app.kubernetes.io/version: "1.7.0"
 | |
|     app.kubernetes.io/part-of: ingress-nginx
 | |
|     app.kubernetes.io/managed-by: Helm
 | |
|     app.kubernetes.io/component: controller
 | |
|   name: nginx
 | |
| spec:
 | |
|   controller: k8s.io/ingress-nginx
 | 
