cluster.fun/manifests/calendso/calendso.yaml
2022-03-20 18:14:01 +00:00

139 lines
3.0 KiB
YAML

apiVersion: v1
kind: Secret
metadata:
name: docker-config
namespace: calendso
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: calendso
namespace: calendso
annotations:
kube-1password: shgjmetsq7fcizmzzdn5ishzxu
kube-1password/vault: Kubernetes
kube-1password/secret-text-parse: "true"
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
name: calendso
namespace: calendso
spec:
type: ClusterIP
ports:
- port: 80
targetPort: web
name: web
selector:
app: calendso
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: calendso
namespace: calendso
spec:
replicas: 1
serviceName: calendso
selector:
matchLabels:
app: calendso
template:
metadata:
labels:
app: calendso
spec:
imagePullSecrets:
- name: docker-config
containers:
- name: web
image: docker.cluster.fun/private/calendso:latest
imagePullPolicy: Always
env:
- name: BASE_URL
value: "https://meet.marcusnoble.co.uk"
- name: NEXT_PUBLIC_APP_URL
value: "https://meet.marcusnoble.co.uk"
- name: NODE_ENV
value: production
- name: POSTGRES_DB
value: calendso
- name: DATABASE_HOST
value: localhost:5432
envFrom:
- secretRef:
name: calendso
ports:
- containerPort: 3000
name: web
- name: postgres
image: postgres:9-alpine
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5432
name: db
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: calendso
key: POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: calendso
key: POSTGRES_PASSWORD
- name: POSTGRES_DB
value: calendso
- name: PGDATA
value: /var/lib/postgresql/data/calendso
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: calendso
namespace: calendso
annotations:
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- meet.marcusnoble.co.uk
secretName: calendso-ingress
rules:
- host: meet.marcusnoble.co.uk
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: calendso
port:
number: 80