diff options
Diffstat (limited to 'bundles/cal/files')
| -rw-r--r-- | bundles/cal/files/kube.yaml | 115 | ||||
| -rw-r--r-- | bundles/cal/files/radicale.conf | 7 | ||||
| -rw-r--r-- | bundles/cal/files/secret.yaml | 9 |
3 files changed, 131 insertions, 0 deletions
diff --git a/bundles/cal/files/kube.yaml b/bundles/cal/files/kube.yaml new file mode 100644 index 0000000..eece518 --- /dev/null +++ b/bundles/cal/files/kube.yaml @@ -0,0 +1,115 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: cal +data: + NEXTAUTH_URL: https://cal.gzr.im/web/ + NEXT_PUBLIC_APP_URL: https://cal.gzr.im/web/ + NEXT_PUBLIC_SITE_URL: https://cal.gzr.im/web/ + NEXT_PUBLIC_ENABLE_SAAS_FEATURES: false +--- +apiVersion: v1 +kind: Pod +metadata: + name: cal + labels: + traefik.enable: true + # radicale + traefik.http.routers.radicale.tls: true + traefik.http.routers.radicale.tls.certresolver: le + traefik.http.routers.radicale.entrypoints: http,https + traefik.http.routers.radicale.rule: Host(`cal.gzr.im`) && PathPrefix(`/dav`) + traefik.http.middlewares.radicale-headers.headers.customrequestheaders.X-Script-Name: /dav + traefik.http.middlewares.radicale-stripprefix.stripprefix.prefixes: /dav + traefik.http.routers.radicale.middlewares: radicale-stripprefix@docker + traefik.http.routers.radicale.service: radicale + traefik.http.services.radicale.loadbalancer.server.port: 5232 + # fluidcal + traefik.http.routers.fluidcal.tls: true + traefik.http.routers.fluidcal.tls.certresolver: le + traefik.http.routers.fluidcal.entrypoints: http,https + traefik.http.routers.fluidcal.rule: Host(`cal.gzr.im`) && PathPrefix(`/`) + traefik.http.routers.fluidcal.service: fluidcal + traefik.http.services.fluidcal.loadbalancer.server.port: 3000 + # well-known + traefik.http.middlewares.wellknowncarddav-redirect.redirectregex.regex: ^https://cal.gzr.im/.well-known/carddav + traefik.http.middlewares.wellknowncarddav-redirect.redirectregex.replacement: https://cal.gzr.im/dav/ + traefik.http.middlewares.wellknowncaldav-redirect.redirectregex.regex: ^https://cal.gzr.im/.well-known/caldav + traefik.http.middlewares.wellknowncaldav-redirect.redirectregex.replacement: https://cal.gzr.im/dav/ + traefik.http.routers.fluidcal.middlewares: wellknowncarddav-redirect,wellknowncaldav-redirect +spec: + restartPolicy: Never + dnsPolicy: Default + containers: + - name: radicale + image: index.docker.io/grepular/radicale:3.5 + volumeMounts: + - name: radicale-config + mountPath: /etc/radicale + readOnly: true + - name: radicale-data + mountPath: /var/lib/radicale + ports: + - containerPort: 5232 + protocol: TCP + # livenessProbe: + # httpGet: + # path: / + # port: 5232 + resources: + requests: + cpu: 10m + memory: 25Mi + limits: + cpu: 100m + memory: 128Mi + + # - name: fluidcal + # image: index.docker.io/eibrahim/fluid-calendar:1.4 + # ports: + # - containerPort: 3000 + # protocol: TCP + # envFrom: + # - configMapRef: + # name: cal + # - secretRef: + # name: cal + # livenessProbe: + # httpGet: + # path: / + # port: 3000 + # # resources: + # # limits: + # # cpu: 100m + # # memory: 128Mi + # + # - name: postgres + # image: docker.io/library/postgres:15-alpine + # volumeMounts: + # - name: pg-data + # mountPath: /var/lib/postgresql/data + # envFrom: + # - secretRef: + # name: cal + # livenessProbe: + # exec: + # command: ["pg_isready", "-U", "cal"] + # initialDelaySeconds: 5 + # # resources: + # # limits: + # # cpu: 100m + # # memory: 128Mi + + volumes: + - name: radicale-config + hostPath: + path: /etc/radicale + type: DirectoryOrCreate + - name: radicale-data + hostPath: + path: /var/lib/radicale + type: DirectoryOrCreate + - name: pg-data + hostPath: + path: /var/lib/fluidcal + type: DirectoryOrCreate diff --git a/bundles/cal/files/radicale.conf b/bundles/cal/files/radicale.conf new file mode 100644 index 0000000..e5933ee --- /dev/null +++ b/bundles/cal/files/radicale.conf @@ -0,0 +1,7 @@ +[server] +# Bind all addresses +hosts = 0.0.0.0:5232, [::]:5232 +script_name = /dav + +[auth] +type = none diff --git a/bundles/cal/files/secret.yaml b/bundles/cal/files/secret.yaml new file mode 100644 index 0000000..ddf91fe --- /dev/null +++ b/bundles/cal/files/secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: cal +data: + NEXTAUTH_SECRET: ${repo.vault.password_for("cal_fluidcalendar_secret").b64encode().value} + POSTGRES_USER: ${repo.libs.util.base64("cal")} + POSTGRES_PASSWORD: ${repo.vault.password_for("cal_db_pw").b64encode().value} + DATABASE_URL: ${repo.libs.util.base64(f"postgresql://cal:{repo.vault.password_for("cal_db_pw")}@localhost/fluid_calendar")} |