132 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: docker-config
 | |
|   namespace: dashboard
 | |
|   annotations:
 | |
|     kube-1password: i6ngbk5zf4k52xgwdwnfup5bby
 | |
|     kube-1password/vault: Kubernetes
 | |
|     kube-1password/secret-text-key: .dockerconfigjson
 | |
| type: kubernetes.io/dockerconfigjson
 | |
| data:
 | |
|   .dockerconfigjson: e30=
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: dashboard-auth
 | |
|   namespace: dashboard
 | |
|   annotations:
 | |
|     kube-1password: mr6spkkx7n3memkbute6ojaarm
 | |
|     kube-1password/vault: Kubernetes
 | |
| type: Opaque
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: dashboard
 | |
|   namespace: dashboard
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   ports:
 | |
|   - port: 80
 | |
|     targetPort: auth
 | |
|     name: web
 | |
|   selector:
 | |
|     app: dashboard
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: dashboard
 | |
|   namespace: dashboard
 | |
| spec:
 | |
|   replicas: 1
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app: dashboard
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app: dashboard
 | |
|     spec:
 | |
|       imagePullSecrets:
 | |
|         - name: docker-config
 | |
|       containers:
 | |
|       - args:
 | |
|         - --cookie-secure=false
 | |
|         - --provider=oidc
 | |
|         - --provider-display-name=Auth0
 | |
|         - --upstream=http://localhost:80
 | |
|         - --http-address=$(HOST_IP):8000
 | |
|         - --redirect-url=https://dash.cluster.fun/oauth2/callback
 | |
|         - --email-domain=marcusnoble.co.uk
 | |
|         - --pass-basic-auth=false
 | |
|         - --pass-access-token=false
 | |
|         - --oidc-issuer-url=https://marcusnoble.eu.auth0.com/
 | |
|         - --cookie-secret=KDGD6rrK6cBmryyZ4wcJ9xAUNW9AQNFT
 | |
|         env:
 | |
|         - name: HOST_IP
 | |
|           valueFrom:
 | |
|             fieldRef:
 | |
|               apiVersion: v1
 | |
|               fieldPath: status.podIP
 | |
|         - name: OAUTH2_PROXY_CLIENT_ID
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               key: username
 | |
|               name: dashboard-auth
 | |
|         - name: OAUTH2_PROXY_CLIENT_SECRET
 | |
|           valueFrom:
 | |
|             secretKeyRef:
 | |
|               key: password
 | |
|               name: dashboard-auth
 | |
|         image: quay.io/oauth2-proxy/oauth2-proxy:v7.12.0
 | |
|         name: oauth-proxy
 | |
|         ports:
 | |
|         - containerPort: 8000
 | |
|           protocol: TCP
 | |
|           name: auth
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: 50Mi
 | |
|           requests:
 | |
|             memory: 50Mi
 | |
|       - name: web
 | |
|         image: rg.fr-par.scw.cloud/averagemarcus-private/dashboard:latest
 | |
|         imagePullPolicy: Always
 | |
|         ports:
 | |
|         - containerPort: 80
 | |
|           name: web
 | |
|         resources:
 | |
|           limits:
 | |
|             memory: 50Mi
 | |
|           requests:
 | |
|             memory: 50Mi
 | |
| ---
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: Ingress
 | |
| metadata:
 | |
|   name: dashboard
 | |
|   namespace: dashboard
 | |
|   annotations:
 | |
|     cert-manager.io/cluster-issuer: letsencrypt
 | |
|     nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
 | |
| spec:
 | |
|   ingressClassName: nginx
 | |
|   tls:
 | |
|   - hosts:
 | |
|     - dash.cluster.fun
 | |
|     secretName: dashboard-ingress
 | |
|   rules:
 | |
|   - host: dash.cluster.fun
 | |
|     http:
 | |
|       paths:
 | |
|       - path: /
 | |
|         pathType: ImplementationSpecific
 | |
|         backend:
 | |
|           service:
 | |
|             name: dashboard
 | |
|             port:
 | |
|               number: 80
 |