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
 |