134 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: ConfigMap
 | |
| metadata:
 | |
|   name: host-mappings
 | |
|   namespace: auth-proxy
 | |
|   labels:
 | |
|     app: proxy
 | |
| data:
 | |
|   mapping.json: |
 | |
|     {
 | |
|       "tekton-el.auth-proxy.svc": "tekton-el.cluster.local",
 | |
|       "vmcluster.auth-proxy.svc": "vmcluster.cluster.local",
 | |
|       "loki.auth-proxy.svc": "loki-write.cluster.local",
 | |
|       "loki.auth-proxy.svc:80": "loki-write.cluster.local",
 | |
|       "loki-distributed.auth-proxy.svc": "loki-loki.cluster.local",
 | |
|       "loki-distributed.auth-proxy.svc:80": "loki-loki.cluster.local"
 | |
|     }
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: internal-proxy
 | |
|   namespace: auth-proxy
 | |
|   labels:
 | |
|     app: internal-proxy
 | |
|   annotations:
 | |
|     configmap.reloader.stakater.com/reload: "host-mappings"
 | |
|     secret.reloader.stakater.com/reload: "tailscale-auth"
 | |
| spec:
 | |
|   replicas: 1
 | |
|   strategy:
 | |
|     type: Recreate
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app: internal-proxy
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app: internal-proxy
 | |
|     spec:
 | |
|       priorityClassName: critical
 | |
|       serviceAccountName: default
 | |
|       dnsPolicy: ClusterFirst
 | |
|       dnsConfig:
 | |
|         nameservers:
 | |
|           - 100.100.100.100
 | |
|       containers:
 | |
|       - name: proxy
 | |
|         image: rg.fr-par.scw.cloud/averagemarcus/proxy:latest
 | |
|         imagePullPolicy: Always
 | |
|         env:
 | |
|         - name: PROXY_DESTINATION
 | |
|           value: talos.tail4dfb.ts.net
 | |
|         - name: PORT
 | |
|           value: "8080"
 | |
|         - name: TS_AUTH_KEY
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               name: tailscale-auth
 | |
|               key: password
 | |
|         - name: TS_HOSTNAME
 | |
|           value: auth-proxy-internal-proxy
 | |
|         ports:
 | |
|         - containerPort: 8080
 | |
|           protocol: TCP
 | |
|         volumeMounts:
 | |
|         - name: host-mappings
 | |
|           mountPath: /config/
 | |
| 
 | |
|       - name: oauth-proxy
 | |
|         image: quay.io/oauth2-proxy/oauth2-proxy:v7.12.0
 | |
|         args:
 | |
|         - --cookie-secure=false
 | |
|         - --provider=oidc
 | |
|         - --provider-display-name=Auth0
 | |
|         - --upstream=http://localhost:8080
 | |
|         - --http-address=0.0.0.0:8181
 | |
|         - --email-domain=*
 | |
|         - --pass-basic-auth=false
 | |
|         - --pass-access-token=false
 | |
|         - --oidc-issuer-url=https://marcusnoble.eu.auth0.com/
 | |
|         - --cookie-secret=KDGD6rrK6cBmryyZ4wcJ9xAUNW9AQNFT
 | |
|         - --cookie-expire=336h0m0s
 | |
|         env:
 | |
|         - name: HOST_IP
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               apiVersion: v1
 | |
|               fieldPath: status.podIP
 | |
|         - name: OAUTH2_PROXY_CLIENT_ID
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               key: username
 | |
|               name: auth-proxy
 | |
|         - name: OAUTH2_PROXY_CLIENT_SECRET
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               key: password
 | |
|               name: auth-proxy
 | |
|         ports:
 | |
|         - containerPort: 8181
 | |
|           protocol: TCP
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: 80Mi
 | |
|           requests:
 | |
|             memory: 80Mi
 | |
|       volumes:
 | |
|       - name: host-mappings
 | |
|         configMap:
 | |
|           name: host-mappings
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: tailscale-proxy
 | |
|   namespace: auth-proxy
 | |
|   labels:
 | |
|     app: internal-proxy
 | |
| spec:
 | |
|   ports:
 | |
|   - name: non-auth
 | |
|     port: 80
 | |
|     protocol: TCP
 | |
|     targetPort: 8080
 | |
|   - name: auth
 | |
|     port: 81
 | |
|     protocol: TCP
 | |
|     targetPort: 8181
 | |
|   selector:
 | |
|     app: internal-proxy
 | |
|   type: ClusterIP
 | |
| ---
 |