apiVersion: v1 kind: Secret metadata: name: donetick namespace: donetick labels: app: donetick app.kubernetes.io/name: donetick annotations: kube-1password: p7zyebs55g25wq7be2g2kv7wbm kube-1password/vault: Kubernetes kube-1password/secret-text-key: selfhosted.yaml type: Opaque --- apiVersion: apps/v1 kind: Deployment metadata: name: donetick namespace: donetick labels: app: donetick app.kubernetes.io/name: donetick spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 selector: matchLabels: app: donetick template: metadata: labels: app: donetick app.kubernetes.io/name: donetick spec: securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 containers: - name: donetick image: donetick/donetick:v0.1.80 imagePullPolicy: IfNotPresent env: - name: DT_ENV value: selfhosted - name: DT_SERVER_CORS_ALLOW_ORIGINS value: "http://localhost:2021,https://localhost:2021,https://localhost,capacitor://localhost,http://127.0.0.1,https://donetick.cluster.fun" ports: - containerPort: 2021 name: web volumeMounts: - mountPath: /config name: config - mountPath: /donetick-data name: data volumes: - name: data persistentVolumeClaim: claimName: donetick - name: config secret: secretName: donetick --- apiVersion: v1 kind: Service metadata: name: donetick namespace: donetick labels: app: donetick app.kubernetes.io/name: donetick spec: type: ClusterIP ports: - port: 80 targetPort: web name: web selector: app: donetick --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: donetick namespace: donetick labels: app: donetick app.kubernetes.io/name: donetick annotations: cert-manager.io/cluster-issuer: letsencrypt nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/client-body-buffer-size: 25m nginx.ingress.kubernetes.io/proxy-connect-timeout: "300" nginx.ingress.kubernetes.io/proxy-send-timeout: "300" nginx.ingress.kubernetes.io/proxy-read-timeout: "300" nginx.ingress.kubernetes.io/proxy-next-upstream: "300" nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "300" spec: ingressClassName: nginx tls: - hosts: - donetick.cluster.fun secretName: donetick-ingress rules: - host: donetick.cluster.fun http: paths: - path: / pathType: ImplementationSpecific backend: service: name: donetick port: name: web