From eda474ec92d891b10c2d17d953e7a77b005428e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beatrice=20Dellac=C3=A0?= Date: Mon, 14 Apr 2025 11:59:56 +0200 Subject: [PATCH] add plausible --- deploy/plausible/clickhouse-config.yaml | 22 +++++++++++ deploy/plausible/clickhouse-deploy.yaml | 41 ++++++++++++++++++++ deploy/plausible/clickhouse-pvc.yaml | 11 ++++++ deploy/plausible/clickhouse-user-config.yaml | 14 +++++++ deploy/plausible/kustomization.yaml | 17 ++++++++ deploy/plausible/mail-deploy.yaml | 19 +++++++++ deploy/plausible/mail-svc.yaml | 11 ++++++ deploy/plausible/plausible-deploy.yaml | 26 +++++++++++++ deploy/plausible/plausible-ingress.yaml | 24 ++++++++++++ deploy/plausible/plausible-secret.yaml | 20 ++++++++++ deploy/plausible/plausible-svc.yaml | 11 ++++++ 11 files changed, 216 insertions(+) create mode 100644 deploy/plausible/clickhouse-config.yaml create mode 100644 deploy/plausible/clickhouse-deploy.yaml create mode 100644 deploy/plausible/clickhouse-pvc.yaml create mode 100644 deploy/plausible/clickhouse-user-config.yaml create mode 100644 deploy/plausible/kustomization.yaml create mode 100644 deploy/plausible/mail-deploy.yaml create mode 100644 deploy/plausible/mail-svc.yaml create mode 100644 deploy/plausible/plausible-deploy.yaml create mode 100644 deploy/plausible/plausible-ingress.yaml create mode 100644 deploy/plausible/plausible-secret.yaml create mode 100644 deploy/plausible/plausible-svc.yaml diff --git a/deploy/plausible/clickhouse-config.yaml b/deploy/plausible/clickhouse-config.yaml new file mode 100644 index 0000000..30ed3af --- /dev/null +++ b/deploy/plausible/clickhouse-config.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: clickhouse-config +data: + clickhouse-config.xml: | + + + warning + true + + + + + + + + + + + + \ No newline at end of file diff --git a/deploy/plausible/clickhouse-deploy.yaml b/deploy/plausible/clickhouse-deploy.yaml new file mode 100644 index 0000000..3484a10 --- /dev/null +++ b/deploy/plausible/clickhouse-deploy.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: clickhouse +spec: + replicas: 1 + selector: + matchLabels: + app: clickhouse + template: + metadata: + labels: + app: clickhouse + spec: + containers: + - name: clickhouse + image: clickhouse/clickhouse-server:22.6-alpine + # You may expose ports if needed (for example, HTTP on 8123) + ports: + - containerPort: 8123 + volumeMounts: + - name: event-data + mountPath: /var/lib/clickhouse + - name: clickhouse-config + mountPath: /etc/clickhouse-server/config.d/logging.xml + subPath: clickhouse-config.xml + readOnly: true + - name: clickhouse-user-config + mountPath: /etc/clickhouse-server/users.d/logging.xml + subPath: clickhouse-user-config.xml + readOnly: true + volumes: + - name: event-data + persistentVolumeClaim: + claimName: event-data-pvc + - name: clickhouse-config + configMap: + name: clickhouse-config + - name: clickhouse-user-config + configMap: + name: clickhouse-user-config diff --git a/deploy/plausible/clickhouse-pvc.yaml b/deploy/plausible/clickhouse-pvc.yaml new file mode 100644 index 0000000..c1faab3 --- /dev/null +++ b/deploy/plausible/clickhouse-pvc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: event-data-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + storageClassName: longhorn diff --git a/deploy/plausible/clickhouse-user-config.yaml b/deploy/plausible/clickhouse-user-config.yaml new file mode 100644 index 0000000..c1bdba5 --- /dev/null +++ b/deploy/plausible/clickhouse-user-config.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: clickhouse-user-config +data: + clickhouse-user-config.xml: | + + + + 0 + 0 + + + \ No newline at end of file diff --git a/deploy/plausible/kustomization.yaml b/deploy/plausible/kustomization.yaml new file mode 100644 index 0000000..af8d533 --- /dev/null +++ b/deploy/plausible/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: plausible + +resources: + - clickhouse-config.yaml + - clickhouse-pvc.yaml + - kustomization.yaml + - mail-svc.yaml + - plausible-secret.yaml + - clickhouse-deploy.yaml + - clickhouse-user-config.yaml + - mail-deploy.yaml + - plausible-deploy.yaml + - plausible-ingress.yaml + - plausible-svc.yaml \ No newline at end of file diff --git a/deploy/plausible/mail-deploy.yaml b/deploy/plausible/mail-deploy.yaml new file mode 100644 index 0000000..c0de7d6 --- /dev/null +++ b/deploy/plausible/mail-deploy.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mail +spec: + replicas: 1 + selector: + matchLabels: + app: mail + template: + metadata: + labels: + app: mail + spec: + containers: + - name: mail + image: bytemark/smtp + ports: + - containerPort: 25 diff --git a/deploy/plausible/mail-svc.yaml b/deploy/plausible/mail-svc.yaml new file mode 100644 index 0000000..a727f93 --- /dev/null +++ b/deploy/plausible/mail-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: mail +spec: + selector: + app: mail + ports: + - protocol: TCP + port: 25 + targetPort: 25 diff --git a/deploy/plausible/plausible-deploy.yaml b/deploy/plausible/plausible-deploy.yaml new file mode 100644 index 0000000..06418d3 --- /dev/null +++ b/deploy/plausible/plausible-deploy.yaml @@ -0,0 +1,26 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: plausible +spec: + replicas: 1 + selector: + matchLabels: + app: plausible + template: + metadata: + labels: + app: plausible + spec: + containers: + - name: plausible + image: plausible/analytics:latest + command: + - sh + - -c + - "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run" + ports: + - containerPort: 8000 + envFrom: + - secretRef: + name: plausible-env \ No newline at end of file diff --git a/deploy/plausible/plausible-ingress.yaml b/deploy/plausible/plausible-ingress.yaml new file mode 100644 index 0000000..95965e8 --- /dev/null +++ b/deploy/plausible/plausible-ingress.yaml @@ -0,0 +1,24 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: plausible + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTP" +spec: + tls: + - hosts: + - webstats.beatrice.wtf + secretName: plausible-tls + rules: + - host: webstats.beatrice.wtf + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: plausible + port: + number: 8000 \ No newline at end of file diff --git a/deploy/plausible/plausible-secret.yaml b/deploy/plausible/plausible-secret.yaml new file mode 100644 index 0000000..dab2e21 --- /dev/null +++ b/deploy/plausible/plausible-secret.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +data: + ADMIN_USER_EMAIL: aGVsbG9AYmVhdHJpY2Uud3Rm + ADMIN_USER_NAME: YmVhdHJpY2U= + ADMIN_USER_PWD: Xl55Z1d4UGtEMiRQSlF1JXZAQ1Q1ZF5lNnRDbmhBXk5qZnpTVlYyISNTN2U3N25wU25wZkpUYWF6RGVWRFVSTA== + BASE_URL: aHR0cHM6Ly93ZWJzdGF0cy5iZWF0cmljZS53dGY= + DATABASE_URL: cG9zdGdyZXM6Ly9wbGF1c2libGU6cnY5Mzhnd2d3ZzQzNGYyZjRoZzNnN2gzMDg5N2czaDVnMDk4akBwb3N0Z3Jlcy1iYXNlLXJ3LnBvc3RncmVzOjU0MzIvcGxhdXNpYmxlX2Ri + DISABLE_REGISTRATION: dHJ1ZQ== + MAILER_EMAIL: Y2xvdWRAbWluZC1vdmVyZmxvdy5uZXQ= + PORT: ODAwMA== + SECRET_KEY_BASE: M1FRQS9EdEdmR3c3cytjMzF2dnlmZ3lVc2F4RStNOWsxSWIvNVBjTUJIQjVHNWdpek00a2tSQ2lvbUFkU0lKR3FybGJ5R2h6VEFOcUJLWWZyeFZ0eHc9PQ== + SMTP_HOST_ADDR: bWFpbC5taW5kLW92ZXJmbG93Lm5ldA== + SMTP_HOST_PORT: NTg3 + SMTP_HOST_SSL_ENABLED: ZmFsc2U= + SMTP_USER_NAME: Y2xvdWRAbWluZC1vdmVyZmxvdy5uZXQ= + SMTP_USER_PWD: UGNZY2h1TExVeWZUMmd2WTRUeDd3UTU3NVRucWp4ODR6Vk5vUDZNYg== +kind: Secret +metadata: + creationTimestamp: null + name: plausible-env diff --git a/deploy/plausible/plausible-svc.yaml b/deploy/plausible/plausible-svc.yaml new file mode 100644 index 0000000..28b0b3e --- /dev/null +++ b/deploy/plausible/plausible-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: plausible +spec: + selector: + app: plausible + ports: + - protocol: TCP + port: 8000 + targetPort: 8000 \ No newline at end of file