114 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| apiVersion: v1
 | |
| kind: Secret
 | |
| metadata:
 | |
|   name: outline
 | |
|   namespace: outline
 | |
|   annotations:
 | |
|     kube-1password: maouivotrbgydslnsukbjrwgja
 | |
|     kube-1password/vault: Kubernetes
 | |
|     kube-1password/secret-text-key: .env
 | |
| type: Opaque
 | |
| ---
 | |
| apiVersion: v1
 | |
| kind: Service
 | |
| metadata:
 | |
|   name: outline
 | |
|   namespace: outline
 | |
| spec:
 | |
|   type: ClusterIP
 | |
|   ports:
 | |
|   - port: 80
 | |
|     targetPort: web
 | |
|     name: web
 | |
|   selector:
 | |
|     app.kubernetes.io/name: outline
 | |
| ---
 | |
| apiVersion: apps/v1
 | |
| kind: Deployment
 | |
| metadata:
 | |
|   name: outline
 | |
|   namespace: outline
 | |
|   labels:
 | |
|     app.kubernetes.io/name: outline
 | |
|   annotations:
 | |
|     secret.reloader.stakater.com/reload: "outline"
 | |
| spec:
 | |
|   revisionHistoryLimit: 3
 | |
|   replicas: 1
 | |
|   selector:
 | |
|     matchLabels:
 | |
|       app.kubernetes.io/name: outline
 | |
|   template:
 | |
|     metadata:
 | |
|       labels:
 | |
|         app.kubernetes.io/name: outline
 | |
|     spec:
 | |
|       priorityClassName: critical
 | |
|       containers:
 | |
|       - name: outline
 | |
|         image: outlinewiki/outline:1.0.1
 | |
|         imagePullPolicy: IfNotPresent
 | |
|         env:
 | |
|         - name: ALLOWED_DOMAINS
 | |
|           value: marcusnoble.co.uk,namelessplanet.com,paradoxfox.shop
 | |
|         - name: OIDC_SCOPES
 | |
|           value: "openid profile email"
 | |
|         - name: PGSSLMODE
 | |
|           value: "disable"
 | |
|         ports:
 | |
|         - containerPort: 3000
 | |
|           name: web
 | |
|         livenessProbe:
 | |
|           httpGet:
 | |
|             path: /_health
 | |
|             port: web
 | |
|           initialDelaySeconds: 10
 | |
|         startupProbe:
 | |
|           httpGet:
 | |
|             path: /_health
 | |
|             port: web
 | |
|           failureThreshold: 30
 | |
|           timeoutSeconds: 1
 | |
|           periodSeconds: 5
 | |
|         resources:
 | |
|           requests:
 | |
|             cpu: 8m
 | |
|             memory: 1389M
 | |
|           limits:
 | |
|             memory: 1489M
 | |
|         volumeMounts:
 | |
|           - mountPath: /opt/outline/.env
 | |
|             subPath: .env
 | |
|             name: outline-env
 | |
|             readOnly: true
 | |
|       volumes:
 | |
|         - name: outline-env
 | |
|           secret:
 | |
|             secretName: outline
 | |
| ---
 | |
| apiVersion: networking.k8s.io/v1
 | |
| kind: Ingress
 | |
| metadata:
 | |
|   name: outline
 | |
|   namespace: outline
 | |
|   annotations:
 | |
|     cert-manager.io/cluster-issuer: letsencrypt
 | |
|     nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
 | |
| spec:
 | |
|   ingressClassName: nginx
 | |
|   tls:
 | |
|   - hosts:
 | |
|     - outline.cluster.fun
 | |
|     secretName: outline-ingress
 | |
|   rules:
 | |
|   - host: outline.cluster.fun
 | |
|     http:
 | |
|       paths:
 | |
|       - path: /
 | |
|         pathType: ImplementationSpecific
 | |
|         backend:
 | |
|           service:
 | |
|             name: outline
 | |
|             port:
 | |
|               number: 80
 |