From 417dbcaa0207d1d165c925dd9ec215daf32a64df Mon Sep 17 00:00:00 2001 From: Michael Thomson Date: Tue, 17 Jun 2025 15:54:03 -0400 Subject: [PATCH] remove roundcube --- apps/roundcube/namespace.yaml | 4 -- apps/roundcube/roundcubedb-deployment.yaml | 49 ------------- apps/roundcube/roundcubedb-pvc.yaml | 11 --- apps/roundcube/roundcubedb-service.yaml | 13 ---- .../roundcubemail-cronjob-cleandb.yaml | 51 ------------- apps/roundcube/roundcubemail-deployment.yaml | 72 ------------------- .../roundcube/roundcubemail-dns-endpoint.yaml | 16 ----- apps/roundcube/roundcubemail-service.yaml | 15 ---- .../roundcubemail-shared-secret-sealed.yaml | 16 ----- apps/roundcube/roundcubemail-temp-pvc.yaml | 12 ---- apps/roundcube/roundcubemail-www-pvc.yaml | 12 ---- apps/roundcube/roundcubenginx-config.yaml | 33 --------- apps/roundcube/roundcubenginx-deployment.yaml | 45 ------------ apps/roundcube/roundcubenginx-ingress.yaml | 26 ------- apps/roundcube/roundcubenginx-service.yaml | 14 ---- bootstrap/apps/kustomization-roundcube.yaml | 15 ---- 16 files changed, 404 deletions(-) delete mode 100644 apps/roundcube/namespace.yaml delete mode 100644 apps/roundcube/roundcubedb-deployment.yaml delete mode 100644 apps/roundcube/roundcubedb-pvc.yaml delete mode 100644 apps/roundcube/roundcubedb-service.yaml delete mode 100644 apps/roundcube/roundcubemail-cronjob-cleandb.yaml delete mode 100644 apps/roundcube/roundcubemail-deployment.yaml delete mode 100644 apps/roundcube/roundcubemail-dns-endpoint.yaml delete mode 100644 apps/roundcube/roundcubemail-service.yaml delete mode 100644 apps/roundcube/roundcubemail-shared-secret-sealed.yaml delete mode 100644 apps/roundcube/roundcubemail-temp-pvc.yaml delete mode 100644 apps/roundcube/roundcubemail-www-pvc.yaml delete mode 100644 apps/roundcube/roundcubenginx-config.yaml delete mode 100644 apps/roundcube/roundcubenginx-deployment.yaml delete mode 100644 apps/roundcube/roundcubenginx-ingress.yaml delete mode 100644 apps/roundcube/roundcubenginx-service.yaml delete mode 100644 bootstrap/apps/kustomization-roundcube.yaml diff --git a/apps/roundcube/namespace.yaml b/apps/roundcube/namespace.yaml deleted file mode 100644 index d1bc720..0000000 --- a/apps/roundcube/namespace.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: roundcube diff --git a/apps/roundcube/roundcubedb-deployment.yaml b/apps/roundcube/roundcubedb-deployment.yaml deleted file mode 100644 index e76df69..0000000 --- a/apps/roundcube/roundcubedb-deployment.yaml +++ /dev/null @@ -1,49 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: roundcubedb - namespace: roundcube - labels: - service: roundcubedb -spec: - replicas: 1 - selector: - matchLabels: - service: roundcubedb - strategy: - type: Recreate - template: - metadata: - labels: - service: roundcubedb - spec: - containers: - - name: roundcubedb - image: postgres:alpine - imagePullPolicy: "" - env: - - name: POSTGRES_DB - value: roundcube - - name: POSTGRES_USER - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_USER - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_PASSWORD - - name: PGDATA - value: /var/lib/postgresql/data/pgdata - ports: - - containerPort: 5432 - volumeMounts: - - mountPath: /var/lib/postgresql/data - name: roundcubedb-pvc - restartPolicy: Always - serviceAccountName: "" - volumes: - - name: roundcubedb-pvc - persistentVolumeClaim: - claimName: roundcubedb-pvc diff --git a/apps/roundcube/roundcubedb-pvc.yaml b/apps/roundcube/roundcubedb-pvc.yaml deleted file mode 100644 index 3b08b20..0000000 --- a/apps/roundcube/roundcubedb-pvc.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: roundcubedb-pvc - namespace: roundcube -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/apps/roundcube/roundcubedb-service.yaml b/apps/roundcube/roundcubedb-service.yaml deleted file mode 100644 index 84c3025..0000000 --- a/apps/roundcube/roundcubedb-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: roundcubedb - namespace: roundcube - labels: - service: roundcubedb -spec: - ports: - - port: 5432 - protocol: TCP - selector: - service: roundcubedb diff --git a/apps/roundcube/roundcubemail-cronjob-cleandb.yaml b/apps/roundcube/roundcubemail-cronjob-cleandb.yaml deleted file mode 100644 index 3c42489..0000000 --- a/apps/roundcube/roundcubemail-cronjob-cleandb.yaml +++ /dev/null @@ -1,51 +0,0 @@ -apiVersion: batch/v1 -kind: CronJob -metadata: - name: cleandb - namespace: roundcube -spec: - schedule: "@daily" - concurrencyPolicy: Replace - jobTemplate: - spec: - template: - metadata: - name: cleandb - spec: - restartPolicy: OnFailure - containers: - - name: roundcubemail - image: roundcube/roundcubemail:latest-fpm-alpine - imagePullPolicy: "" - env: - - name: ROUNDCUBEMAIL_DB_TYPE - value: pgsql - - name: ROUNDCUBEMAIL_DB_HOST - value: roundcubedb - - name: ROUNDCUBEMAIL_DB_NAME - value: roundcube - - name: ROUNDCUBEMAIL_DB_USER - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_USER - - name: ROUNDCUBEMAIL_DB_PASSWORD - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_PASSWORD - - name: ROUNDCUBEMAIL_DES_KEY - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DES_KEY - - name: ROUNDCUBEMAIL_DEFAULT_HOST - value: tls://mail.michaelthomson.dev - - name: ROUNDCUBEMAIL_SMTP_SERVER - value: tls://mail.michaelthomson.dev - - name: ROUNDCUBEMAIL_SKIN - value: elastic - - name: ROUNDCUBEMAIL_PLUGINS - value: archive,zipdownload,newmail_notifier - args: - - bin/cleandb.sh diff --git a/apps/roundcube/roundcubemail-deployment.yaml b/apps/roundcube/roundcubemail-deployment.yaml deleted file mode 100644 index 6c7de4a..0000000 --- a/apps/roundcube/roundcubemail-deployment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: roundcubemail - namespace: roundcube - labels: - service: roundcubemail -spec: - replicas: 1 - selector: - matchLabels: - service: roundcubemail - strategy: - type: Recreate - template: - metadata: - labels: - service: roundcubemail - spec: - containers: - - name: roundcubemail - image: roundcube/roundcubemail:latest-fpm-alpine - imagePullPolicy: "" - env: &env - - name: ROUNDCUBEMAIL_DB_TYPE - value: pgsql - - name: ROUNDCUBEMAIL_DB_HOST - value: roundcubedb - - name: ROUNDCUBEMAIL_DB_NAME - value: roundcube - - name: ROUNDCUBEMAIL_DB_USER - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_USER - - name: ROUNDCUBEMAIL_DB_PASSWORD - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DB_PASSWORD - - name: ROUNDCUBEMAIL_DES_KEY - valueFrom: - secretKeyRef: - name: roundcubemail-shared-secret - key: DES_KEY - - name: ROUNDCUBEMAIL_DEFAULT_HOST - value: ssl://mail.michaelthomson.dev - - name: ROUNDCUBEMAIL_DEFAULT_PORT - value: "993" - - name: ROUNDCUBEMAIL_SMTP_SERVER - value: ssl://mail.michaelthomson.dev - - name: ROUNDCUBEMAIL_SMTP_PORT - value: "465" - - name: ROUNDCUBEMAIL_SKIN - value: elastic - - name: ROUNDCUBEMAIL_PLUGINS - value: archive,zipdownload,newmail_notifier - ports: - - containerPort: 9000 - volumeMounts: - - mountPath: /var/www/html - name: www-data - - mountPath: /tmp/roundcube-temp - name: temp-data - restartPolicy: Always - volumes: - - name: www-data - persistentVolumeClaim: - claimName: roundcubemail-www-pvc - - name: temp-data - persistentVolumeClaim: - claimName: roundcubemail-temp-pvc diff --git a/apps/roundcube/roundcubemail-dns-endpoint.yaml b/apps/roundcube/roundcubemail-dns-endpoint.yaml deleted file mode 100644 index 68f4a93..0000000 --- a/apps/roundcube/roundcubemail-dns-endpoint.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: externaldns.k8s.io/v1alpha1 -kind: DNSEndpoint -metadata: - name: roundcube.michaelthomson.dev - namespace: roundcube -spec: - endpoints: - - dnsName: roundcube.michaelthomson.dev - recordTTL: 180 - recordType: CNAME - targets: - - michaelthomson.ddns.net - providerSpecific: - - name: external-dns.alpha.kubernetes.io/cloudflare-proxied - value: "false" - diff --git a/apps/roundcube/roundcubemail-service.yaml b/apps/roundcube/roundcubemail-service.yaml deleted file mode 100644 index 73690c7..0000000 --- a/apps/roundcube/roundcubemail-service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: roundcubemail - namespace: roundcube - labels: - service: roundcubemail -spec: - type: NodePort - ports: - - port: 9000 - protocol: TCP - name: http - selector: - service: roundcubemail diff --git a/apps/roundcube/roundcubemail-shared-secret-sealed.yaml b/apps/roundcube/roundcubemail-shared-secret-sealed.yaml deleted file mode 100644 index e0d391d..0000000 --- a/apps/roundcube/roundcubemail-shared-secret-sealed.yaml +++ /dev/null @@ -1,16 +0,0 @@ -kind: SealedSecret -apiVersion: bitnami.com/v1alpha1 -metadata: - name: roundcubemail-shared-secret - namespace: roundcube - creationTimestamp: -spec: - template: - metadata: - name: roundcubemail-shared-secret - namespace: roundcube - creationTimestamp: - encryptedData: - DB_PASSWORD: AgAQFytD8tTEQitB8aFQyfWCwT5tvlDNXb+s+nyMkwQIk6jxNXcjG4hoxwVfkr7XTbxJFM5a+jr2kVDXAjRMS7jcTAJ51foEyjOpCu6fDJqmtcf3NxM5TckDf/KgL8oxfX4qBCyw4bsd9BUNuWzdxX2Ds6BvEAIldLTLzDMBwhuuRaJreN2paUXkTfQ7WUhTXveYpyj1pZfmtTBH5dmiixkpAFSZXPTTuqlniEc1vkyMB+i1aPTIZ3HQgT5NL3vZE9mcUsShzGrgjW0xudR51HPFZlaQDjFUIN7Hw19TQ1l1HuiCkQmxRm1+tKBfmk4tkAQlPqyfcFx1zqCOucE8+Wsq4VP/p216QHCftVgHfBncway/5WncO6WW4F0RkhlGuxFbyMn5tfrmpYyBzKO/McAxoOw93od0rNjG+UwI4zHARV6Rx6AbQ5HMBDVprW4en4WVy280a+15eazOTo+MNRuC2vhNrn6FzvfOUX41u65SZiR2XbE+ilN4n1uxMNxAwaNNQfK4AfSGz5xuyvKguyVmn5CIhwS6kmOkus8wgVdZfpmqMJrUaYBsajvtEOlzIamR2+wLalJTBtuxmeh7jzmlsAdcUk0Larz/zbLKqqIe3cpxM3Ph65rElneZuR1Jg/hrT29l7wqg9vjCXz0/mbCAU2rvcmBEhSI6E6WsQR+hFWK7Y/FpRRW1DXYUvj2aIR7dOq2zr8Q74FHrx8hCvdkTGFOZNb4ZVl9GnWI= - DB_USER: AgBEYaAj58I62GNWycn0D9oMpjmWlvvpNI9guc166EGKsw3bxft9D+sxyxR39YW/9QVLL8dLE7UHwrhurNLQq7o2ij+uWGLoY9fKic/afX2Cn5egESgr2Vw8baQtROuwcJX9ZPgQSXr09Bz6d9HklygWSnu4sq8mWc8WZ+SB2E4SvpL9kRG9Y8A9lUZWg1Hv9LkOvtmjfzblGkRF0PbW2OCE++a5FWpms/yYtmWjll7/BeRCpVnqWPNa4q+TE/d1L6JJfTs5BdUvc77bTgYfogqkrPAHD+RjmwPqMtOvTQcXuQBT4OCNS31jHcP483B8Ky6/SL6PJhdYA7h6uFgaLc6lYcHBwesAUMeg4+vG5BWatS2rxsv2bVvn1kQfwstvL2e+I+Rs71fAfmKcuE93E4yXSMQT95hLcoPq5JIp8NY2CBkBEpB/KcJfDNfDUs0Dr8qyQPkJVdjL6qfaq+23MLCHXIu1fHcsqpfG5x3NVmi29GzqDdkDzNDaxIv93iTwlSyiGdY++z/1IP6iCPT6ogO0e1ptYmFmrX6mHo3p6dIcna3laSvVoJ2LgJ49W3obVOxWYrh83uKagM4WWRB3RwDtW4ipB5bz+w/YcPVec0bjacOJbk+QLiJFYip9qLsAyErB/m66rgIzs2EtzAD8glr5J/7+pdT8O/rxY29aeS3DWWG3mfLupmbBk3okdalr7VcYBh2JLlyzxUU= - DES_KEY: AgCEwv0WDCrEHdlZhYyUo0h5+W0DRr8zMTUrjtFgSfDJ7p/Fz+22ZPPy7IoVA++MhjMCHJxICX6HR9dyoUBLwGTbjSUU/P90W4ecf3DNr85Y+Pc9ZiwPbXMlNMVVFfXSaAic4fCJ4knioNYz+jLj72pVlE4RIqnRMpkmu9mIx0HgUICoC2SRpqUkk1wXTIcMYBuekwzLQD4/CcxD2P/kuypBKGnDrKL55CtSHDHH2U9YWE/a3q7a8DNn4U6Xi7/3VzuwH89IPHBw/Fok71Z4/l1nTzWca45ZoAkubvRrLkQHUbLZTTVZUvApjqna4uqsAVTFhlw9uRO9VRiBDCs7N9SZp6y9rHQkrhu6IlOfOApLecELlLe2i12t07n2uEvXli0olGhLuFQFYGdB31H+bTzMn1br29ho/WaHTOi4xwvc7QYcwFwUTWBAA/nl4hnNuTfjVyruwXPmkSPPTO8wF3CBdEJ1FlPCaXaI9pMkIWVJ8s1fbIj8oZbbO5B9u0AGr+/vRjDY08EOUEQjzgY61fajcUUVIgx1ZScBeMxzc4v8bLWy7BnErC9AgXKzuNLSHWDDSMRyDQvtzrHfvMH9pwI/RaWYbiXLrMBRBO/2LB0GGuNvu9vLhLsAWUVsEPjeBs8Lm7S0sxUO2uR5OEPzD8aVVgNwQMmHqyd4WXvQ70I57CCHykobP/8jJrLifc0B5EJBSnaZNhzdj+OtBUszmAm/GkpcjfQY9Q8yr60= diff --git a/apps/roundcube/roundcubemail-temp-pvc.yaml b/apps/roundcube/roundcubemail-temp-pvc.yaml deleted file mode 100644 index e5529c7..0000000 --- a/apps/roundcube/roundcubemail-temp-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: roundcubemail-temp-pvc - namespace: roundcube -spec: - storageClassName: longhorn - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/apps/roundcube/roundcubemail-www-pvc.yaml b/apps/roundcube/roundcubemail-www-pvc.yaml deleted file mode 100644 index c19d7d9..0000000 --- a/apps/roundcube/roundcubemail-www-pvc.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: roundcubemail-www-pvc - namespace: roundcube -spec: - storageClassName: longhorn - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 200Mi diff --git a/apps/roundcube/roundcubenginx-config.yaml b/apps/roundcube/roundcubenginx-config.yaml deleted file mode 100644 index 8c3dd20..0000000 --- a/apps/roundcube/roundcubenginx-config.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: roundcubenginx-config - namespace: roundcube -data: - default.conf: | - server { - listen 80 default_server; - server_name _; - root /var/www/html; - - location / { - try_files $uri /index.php$is_args$args; - } - - location ~ \.php(/|$) { - try_files $uri =404; - fastcgi_pass roundcubemail:9000; - fastcgi_read_timeout 300; - proxy_read_timeout 300; - fastcgi_split_path_info ^(.+\.php)(/.*)$; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; - fastcgi_param DOCUMENT_ROOT $realpath_root; - internal; - } - - client_max_body_size 6m; - - error_log /var/log/nginx/error.log; - access_log /var/log/nginx/access.log; - } diff --git a/apps/roundcube/roundcubenginx-deployment.yaml b/apps/roundcube/roundcubenginx-deployment.yaml deleted file mode 100644 index 8f2c7c8..0000000 --- a/apps/roundcube/roundcubenginx-deployment.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: roundcubenginx - namespace: roundcube - labels: - service: roundcubenginx -spec: - replicas: 1 - selector: - matchLabels: - service: roundcubenginx - strategy: - type: Recreate - template: - metadata: - labels: - service: roundcubenginx - spec: - containers: - - name: roundcubenginx - image: nginx:alpine - imagePullPolicy: "" - env: - - name: NGINX_HOST - value: localhost - - name: NGINX_PHP_CGI - value: roundcubemail:9000 - ports: - - containerPort: 80 - volumeMounts: - - name: www-data - mountPath: /var/www/html - - name: nginx-config - mountPath: /etc/nginx/conf.d/default.conf - subPath: default.conf - restartPolicy: Always - serviceAccountName: "" - volumes: - - name: www-data - persistentVolumeClaim: - claimName: roundcubemail-www-pvc - - name: nginx-config - configMap: - name: roundcubenginx-config diff --git a/apps/roundcube/roundcubenginx-ingress.yaml b/apps/roundcube/roundcubenginx-ingress.yaml deleted file mode 100644 index 7569a0c..0000000 --- a/apps/roundcube/roundcubenginx-ingress.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: roundcubenginx-ingress - namespace: roundcube - annotations: - traefik.ingress.kubernetes.io/router.entrypoints: websecure - traefik.ingress.kubernetes.io/router.tls: "true" - labels: - service: roundcubenginx -spec: - rules: - - host: roundcube.michaelthomson.dev - http: - paths: - - pathType: ImplementationSpecific - path: / - backend: - service: - name: roundcubenginx - port: - name: http - tls: - - hosts: - - roundcube.michaelthomson.dev - secretName: letsencrypt-wildcard-cert-michaelthomson.dev diff --git a/apps/roundcube/roundcubenginx-service.yaml b/apps/roundcube/roundcubenginx-service.yaml deleted file mode 100644 index 3c81ffe..0000000 --- a/apps/roundcube/roundcubenginx-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: roundcubenginx - namespace: roundcube - labels: - service: roundcubenginx -spec: - ports: - - name: http - port: 8080 - targetPort: 80 - selector: - service: roundcubenginx diff --git a/bootstrap/apps/kustomization-roundcube.yaml b/bootstrap/apps/kustomization-roundcube.yaml deleted file mode 100644 index e0986de..0000000 --- a/bootstrap/apps/kustomization-roundcube.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: roundcube - namespace: flux-system -spec: - interval: 15m - path: ./apps/roundcube - prune: true # remove any elements later removed from the above path - wait: true - sourceRef: - kind: GitRepository - name: flux-system - dependsOn: - - name: infra-configs