diff --git a/manifests/_apps/calendso.yaml b/manifests/_apps/calendso.yaml new file mode 100644 index 0000000..35e146f --- /dev/null +++ b/manifests/_apps/calendso.yaml @@ -0,0 +1,24 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: calendso + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: calendso + name: cluster-fun (scaleway) + source: + path: manifests/calendso + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data diff --git a/manifests/calendso/calendso.yaml b/manifests/calendso/calendso.yaml new file mode 100644 index 0000000..f5c6e71 --- /dev/null +++ b/manifests/calendso/calendso.yaml @@ -0,0 +1,116 @@ +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: Deployment +metadata: + name: calendso + namespace: calendso +spec: + replicas: 1 + selector: + matchLabels: + app: calendso + template: + metadata: + labels: + app: calendso + spec: + containers: + - name: web + image: calendso/calendso:latest + imagePullPolicy: Always + env: + - name: NEXT_PUBLIC_LICENSE_CONSENT + value: agree + - name: NEXT_PUBLIC_TELEMETRY_KEY + value: "" + - 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 + - name: DATABASE_URL + value: "postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${DATABASE_HOST}/${POSTGRES_DB}" + 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 + +--- + +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