From 2ce9c33dbd966eb8abb4e3adcc67ccabde2fd3c3 Mon Sep 17 00:00:00 2001 From: Ruben Hensen Date: Thu, 22 Oct 2026 10:11:06 +0200 Subject: [PATCH] Remove ghost-blog and whishper Neither is used any more: the blog moves to a self-written site, and whishper needs more compute than this setup has. Ghost also ran Node 18, which won't get the eMudhra root store fix. Drops both apps, the blog DNS record, Gatus check and node001 tunnel entry, their ca-bundle namespaces, and the leftover ExternalSecret for the old hensen.io blog namespace. Final Velero backups keep the data: ghost-blog-final-202610220955 until 22 October 2027 and whisper-final-202610220955 until 20 January 2027. --- apps/templates/ghost-blog-folder.yaml | 21 --- apps/templates/whisper-folder.yaml | 21 --- ca-bundle/values.yaml | 2 - dns/domains/rubenhensen.nl.yaml | 4 - gatus/config.yaml | 5 - ghost-blog/ghost-config-es.yaml | 42 ----- ghost-blog/ghost-deployment.yaml | 178 ------------------ ghost-blog/ingress.yaml | 33 ---- ghost-blog/mysql-es.yaml | 36 ---- ghost-blog/mysql.yaml | 114 ----------- ghost-blog/pvc.yaml | 41 ---- ghost-blog/services.yaml | 44 ----- nix-infra-machine/nodes/node001.nix | 1 - secrets/blog.yaml | 33 ---- whishper/env-configmap.yaml | 12 -- .../mongo-claim0-persistentvolumeclaim.yaml | 12 -- .../mongo-claim1-persistentvolumeclaim.yaml | 12 -- whishper/mongo-deployment.yaml | 76 -------- whishper/mongo-service.yaml | 16 -- ...ranslate-claim0-persistentvolumeclaim.yaml | 12 -- ...ranslate-claim1-persistentvolumeclaim.yaml | 12 -- whishper/translate-deployment.yaml | 97 ---------- whishper/translate-service.yaml | 16 -- ...whishper-claim0-persistentvolumeclaim.yaml | 12 -- ...whishper-claim1-persistentvolumeclaim.yaml | 12 -- whishper/whishper-deployment.yaml | 96 ---------- whishper/whishper-service.yaml | 16 -- 27 files changed, 976 deletions(-) delete mode 100644 apps/templates/ghost-blog-folder.yaml delete mode 100644 apps/templates/whisper-folder.yaml delete mode 100644 ghost-blog/ghost-config-es.yaml delete mode 100644 ghost-blog/ghost-deployment.yaml delete mode 100644 ghost-blog/ingress.yaml delete mode 100644 ghost-blog/mysql-es.yaml delete mode 100644 ghost-blog/mysql.yaml delete mode 100644 ghost-blog/pvc.yaml delete mode 100644 ghost-blog/services.yaml delete mode 100644 secrets/blog.yaml delete mode 100644 whishper/env-configmap.yaml delete mode 100644 whishper/mongo-claim0-persistentvolumeclaim.yaml delete mode 100644 whishper/mongo-claim1-persistentvolumeclaim.yaml delete mode 100644 whishper/mongo-deployment.yaml delete mode 100644 whishper/mongo-service.yaml delete mode 100644 whishper/translate-claim0-persistentvolumeclaim.yaml delete mode 100644 whishper/translate-claim1-persistentvolumeclaim.yaml delete mode 100644 whishper/translate-deployment.yaml delete mode 100644 whishper/translate-service.yaml delete mode 100644 whishper/whishper-claim0-persistentvolumeclaim.yaml delete mode 100644 whishper/whishper-claim1-persistentvolumeclaim.yaml delete mode 100644 whishper/whishper-deployment.yaml delete mode 100644 whishper/whishper-service.yaml diff --git a/apps/templates/ghost-blog-folder.yaml b/apps/templates/ghost-blog-folder.yaml deleted file mode 100644 index e953dac..0000000 --- a/apps/templates/ghost-blog-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: ghost-blog - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: ghost-blog - destination: - server: https://kubernetes.default.svc - namespace: ghost-blog - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true diff --git a/apps/templates/whisper-folder.yaml b/apps/templates/whisper-folder.yaml deleted file mode 100644 index 27011af..0000000 --- a/apps/templates/whisper-folder.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: whisper - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: default - source: - repoURL: https://github.com/rubenhensen/k8scd.git - targetRevision: HEAD - path: whishper - destination: - server: https://kubernetes.default.svc - namespace: whisper - syncPolicy: - syncOptions: - - CreateNamespace=true - automated: - selfHeal: true \ No newline at end of file diff --git a/ca-bundle/values.yaml b/ca-bundle/values.yaml index 4afc2db..0039a01 100644 --- a/ca-bundle/values.yaml +++ b/ca-bundle/values.yaml @@ -6,9 +6,7 @@ namespaces: - bolletjestrui - cert-manager - gatus - - ghost-blog - gitea - immich - ntfy - serpbear - - whisper diff --git a/dns/domains/rubenhensen.nl.yaml b/dns/domains/rubenhensen.nl.yaml index 9165162..ece6b3a 100644 --- a/dns/domains/rubenhensen.nl.yaml +++ b/dns/domains/rubenhensen.nl.yaml @@ -39,10 +39,6 @@ records: expire: 300 type: A content: "46.224.26.65" - - name: "blog" - expire: 300 - type: A - content: "46.224.26.65" - name: "serpbear" expire: 300 type: A diff --git a/gatus/config.yaml b/gatus/config.yaml index 7d74f4b..c736179 100644 --- a/gatus/config.yaml +++ b/gatus/config.yaml @@ -73,11 +73,6 @@ endpoints: conditions: - "[STATUS] == 401" - "[CERTIFICATE_EXPIRATION] > 168h" - - name: blog - group: rubenhensen.nl - url: https://blog.rubenhensen.nl - interval: 60s - conditions: *http-ok - name: serpbear group: rubenhensen.nl url: https://serpbear.rubenhensen.nl diff --git a/ghost-blog/ghost-config-es.yaml b/ghost-blog/ghost-config-es.yaml deleted file mode 100644 index 7041b6f..0000000 --- a/ghost-blog/ghost-config-es.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ghost-mail-config - namespace: ghost-blog -spec: - refreshInterval: "15m" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: ghost-mail-config - creationPolicy: Owner - data: - - secretKey: mail__transport - remoteRef: - key: kv/ghost-blog/config - property: email_transport - - secretKey: mail__from - remoteRef: - key: kv/ghost-blog/config - property: email_from - - secretKey: mail__options__service - remoteRef: - key: kv/ghost-blog/config - property: email_service - - secretKey: mail__options__host - remoteRef: - key: kv/ghost-blog/config - property: email_host - - secretKey: mail__options__port - remoteRef: - key: kv/ghost-blog/config - property: email_port - - secretKey: mail__options__auth__user - remoteRef: - key: kv/ghost-blog/config - property: email_user - - secretKey: mail__options__auth__pass - remoteRef: - key: kv/ghost-blog/config - property: email_password \ No newline at end of file diff --git a/ghost-blog/ghost-deployment.yaml b/ghost-blog/ghost-deployment.yaml deleted file mode 100644 index c7cc01d..0000000 --- a/ghost-blog/ghost-deployment.yaml +++ /dev/null @@ -1,178 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: ghost-blog - namespace: ghost-blog - labels: - app: ghost-blog - app.kubernetes.io/name: ghost-blog - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: ghost - app.kubernetes.io/part-of: ghost-blog -spec: - replicas: 1 - selector: - matchLabels: - app: ghost-blog - minReadySeconds: 5 - strategy: - type: RollingUpdate - rollingUpdate: - maxUnavailable: 0 - maxSurge: 3 - revisionHistoryLimit: 4 - progressDeadlineSeconds: 600 - template: - metadata: - namespace: ghost-blog - labels: - app: ghost-blog - spec: - automountServiceAccountToken: false - volumes: - - name: ghost-content - persistentVolumeClaim: - claimName: ghost-content - - name: tmp - emptyDir: - sizeLimit: 64Mi - - name: patched-ca-bundle - configMap: - name: patched-ca-bundle - - initContainers: - - name: permissions-fix - imagePullPolicy: IfNotPresent - image: docker.io/busybox:stable-musl - env: - - name: GHOST_CONTENT - value: /var/lib/ghost/content - securityContext: - readOnlyRootFilesystem: true - allowPrivilegeEscalation: false - resources: - limits: - cpu: 500m - memory: 256Mi - requests: - cpu: 100m - memory: 128Mi - command: - - /bin/sh - - '-c' - - | - set -e - export DIRS='files logs apps themes data public settings images media' - echo 'Check if base dirs exists, if not, create them' - echo "Directories to check: $DIRS" - for dir in $DIRS; do - if [ ! -d $GHOST_CONTENT/$dir ]; then - echo "Creating $GHOST_CONTENT/$dir directory" - mkdir -pv $GHOST_CONTENT/$dir || echo "Error creating $GHOST_CONTENT/$dir directory" - fi - chown -Rfv 1000:1000 $GHOST_CONTENT/$dir && echo "chown ok on $dir" || echo "Error changing ownership of $GHOST_CONTENT/$dir directory" - done - exit 0 - volumeMounts: - - name: ghost-content - mountPath: /var/lib/ghost/content - readOnly: false - - containers: - - name: ghost-blog - image: ghost:5.114.1-alpine - imagePullPolicy: Always - ports: - - name: ghost - containerPort: 2368 - protocol: TCP - readinessProbe: - httpGet: - path: /ghost/api/v4/admin/site/ - port: ghost - httpHeaders: - - name: X-Forwarded-Proto - value: https - - name: Host - value: blog.rubenhensen.nl - periodSeconds: 10 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 3 - initialDelaySeconds: 10 - livenessProbe: - httpGet: - path: /ghost/api/v4/admin/site/ - port: ghost - httpHeaders: - - name: X-Forwarded-Proto - value: https - - name: Host - value: blog.rubenhensen.nl - periodSeconds: 300 - timeoutSeconds: 3 - successThreshold: 1 - failureThreshold: 1 - initialDelaySeconds: 30 - env: - - name: NODE_ENV - value: production - - name: database__client - value: mysql - - name: database__connection__host - value: ghost-mysql-service - - name: database__connection__user - valueFrom: - secretKeyRef: - name: ghost-mysql-env - key: MYSQL_USER - - name: database__connection__password - valueFrom: - secretKeyRef: - name: ghost-mysql-env - key: MYSQL_PASSWORD - - name: database__connection__database - valueFrom: - secretKeyRef: - name: ghost-mysql-env - key: MYSQL_DATABASE - - name: url - value: https://blog.rubenhensen.nl - # Node trusts its built-in roots, which still include the ones above - # the compromised eMudhra intermediates. Use patched-ca-bundle through - # OpenSSL instead until Node ships a fix. - - name: NODE_OPTIONS - value: --use-openssl-ca - - name: SSL_CERT_FILE - value: /etc/ssl/certs/ca-certificates.crt - envFrom: - - secretRef: - name: ghost-mail-config - resources: - limits: - cpu: 800m - memory: 800Mi - requests: - cpu: 200m - memory: 400Mi - volumeMounts: - - name: ghost-content - mountPath: /var/lib/ghost/content - readOnly: false - - name: tmp - mountPath: /tmp - readOnly: false - - name: patched-ca-bundle - mountPath: /etc/ssl/certs - readOnly: true - securityContext: - allowPrivilegeEscalation: false - runAsNonRoot: true - runAsUser: 1000 - restartPolicy: Always - terminationGracePeriodSeconds: 15 - dnsPolicy: ClusterFirst - securityContext: - seccompProfile: - type: RuntimeDefault \ No newline at end of file diff --git a/ghost-blog/ingress.yaml b/ghost-blog/ingress.yaml deleted file mode 100644 index 3b2fe80..0000000 --- a/ghost-blog/ingress.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: ghost-blog-ingress - namespace: ghost-blog - labels: - app: ghost-blog - app.kubernetes.io/name: ghost-blog-ingress - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: ingress - app.kubernetes.io/part-of: ghost-blog - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/proxy-body-size: 1G - argocd.argoproj.io/sync-wave: "7" -spec: - ingressClassName: nginx - tls: - - hosts: - - blog.rubenhensen.nl - secretName: ghost-tls-secret - rules: - - host: blog.rubenhensen.nl - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: ghost-service - port: - name: ghost diff --git a/ghost-blog/mysql-es.yaml b/ghost-blog/mysql-es.yaml deleted file mode 100644 index da9b44a..0000000 --- a/ghost-blog/mysql-es.yaml +++ /dev/null @@ -1,36 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ghost-mysql-env - namespace: ghost-blog - annotations: - argocd.argoproj.io/sync-wave: "1" -spec: - refreshInterval: "15m" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: ghost-mysql-env - creationPolicy: Owner - data: - - secretKey: MYSQL_DATABASE - remoteRef: - key: kv/ghost-blog/mysql - property: database - - secretKey: MYSQL_USER - remoteRef: - key: kv/ghost-blog/mysql - property: username - - secretKey: MYSQL_PASSWORD - remoteRef: - key: kv/ghost-blog/mysql - property: password - - secretKey: MYSQL_ROOT_PASSWORD - remoteRef: - key: kv/ghost-blog/mysql - property: root_password - # - secretKey: MYSQL_HOST - # remoteRef: - # key: kv/ghost-blog/mysql - # property: host diff --git a/ghost-blog/mysql.yaml b/ghost-blog/mysql.yaml deleted file mode 100644 index 7baa6e1..0000000 --- a/ghost-blog/mysql.yaml +++ /dev/null @@ -1,114 +0,0 @@ -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: ghost-mysql - namespace: ghost-blog - labels: - app: ghost-mysql - app.kubernetes.io/name: ghost-mysql - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: database - app.kubernetes.io/part-of: ghost-blog - annotations: - argocd.argoproj.io/sync-wave: "5" -spec: - serviceName: ghost-mysql-service - replicas: 1 - selector: - matchLabels: - app: ghost-mysql - template: - metadata: - labels: - app: ghost-mysql - spec: - initContainers: - - name: ghost-mysql-init - securityContext: - allowPrivilegeEscalation: false - privileged: false - readOnlyRootFilesystem: true - image: docker.io/busybox:stable-musl - imagePullPolicy: IfNotPresent - command: - - /bin/sh - - -c - - | - set -e - echo 'Changing ownership of mysql mount directory to 65534:65534' - chown -Rfv 65534:65534 /mnt/mysql || echo 'Error changing ownership of mysql mount directory to 65534:65534' - echo 'Changing ownership of tmp mount directory to 65534:65534' - chown -Rfv 65534:65534 /mnt/tmp || echo 'Error changing ownership of tmp mount directory to 65534:65534' - echo 'Changing ownership of socket mount directory to 65534:65534' - chown -Rfv 65534:65534 /mnt/var/run/mysqld || echo 'Error changing ownership of socket mount directory to 65534:65534' - volumeMounts: - - name: ghost-mysql-volume - mountPath: /mnt/mysql - subPath: mysql-empty-subdir - readOnly: false - - name: ghost-mysql-tmp - mountPath: /mnt/tmp - readOnly: false - - name: ghost-mysql-socket - mountPath: /mnt/var/run/mysqld - readOnly: false - resources: - requests: - memory: 50Mi - cpu: 50m - limits: - memory: 100Mi - cpu: 100m - - containers: - - name: ghost-mysql - securityContext: - allowPrivilegeEscalation: false - privileged: false - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 65534 - image: docker.io/mysql:8.4 - imagePullPolicy: IfNotPresent - envFrom: - - secretRef: - name: ghost-mysql-env - resources: - requests: - memory: 256Mi - cpu: 100m - limits: - memory: 512Mi - cpu: 500m - ports: - - containerPort: 3306 - protocol: TCP - name: mysql - volumeMounts: - - name: ghost-mysql-volume - mountPath: /var/lib/mysql - subPath: mysql-empty-subdir - readOnly: false - - name: ghost-mysql-tmp - mountPath: /tmp - readOnly: false - - name: ghost-mysql-socket - mountPath: /var/run/mysqld - readOnly: false - - automountServiceAccountToken: false - securityContext: - seccompProfile: - type: RuntimeDefault - - volumes: - - name: ghost-mysql-volume - persistentVolumeClaim: - claimName: ghost-mysql-pvc - - name: ghost-mysql-tmp - emptyDir: - sizeLimit: 128Mi - - name: ghost-mysql-socket - emptyDir: - sizeLimit: 128Mi diff --git a/ghost-blog/pvc.yaml b/ghost-blog/pvc.yaml deleted file mode 100644 index a82bd4e..0000000 --- a/ghost-blog/pvc.yaml +++ /dev/null @@ -1,41 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: ghost-content - namespace: ghost-blog - labels: - app: ghost-blog - app.kubernetes.io/name: ghost-content - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: storage - app.kubernetes.io/part-of: ghost-blog -spec: - storageClassName: "longhorn" - volumeMode: Filesystem - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: ghost-mysql-pvc - namespace: ghost-blog - labels: - app: ghost-mysql - app.kubernetes.io/name: ghost-mysql-pvc - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: database-storage - app.kubernetes.io/part-of: ghost-blog -spec: - storageClassName: "longhorn" - volumeMode: Filesystem - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/ghost-blog/services.yaml b/ghost-blog/services.yaml deleted file mode 100644 index 43551ad..0000000 --- a/ghost-blog/services.yaml +++ /dev/null @@ -1,44 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: ghost-service - namespace: ghost-blog - labels: - app: ghost-blog - app.kubernetes.io/name: ghost-service - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: service-frontend - app.kubernetes.io/part-of: ghost-blog -spec: - ports: - - port: 2368 - protocol: TCP - targetPort: ghost - name: ghost - type: ClusterIP - selector: - app: ghost-blog - ---- -apiVersion: v1 -kind: Service -metadata: - name: ghost-mysql-service - namespace: ghost-blog - labels: - app: ghost-mysql - app.kubernetes.io/name: ghost-mysql-service - app.kubernetes.io/instance: ghost-blog - app.kubernetes.io/version: '5.92' - app.kubernetes.io/component: service-database - app.kubernetes.io/part-of: ghost-blog -spec: - ports: - - port: 3306 - protocol: TCP - targetPort: mysql - name: mysql - type: ClusterIP - selector: - app: ghost-mysql diff --git a/nix-infra-machine/nodes/node001.nix b/nix-infra-machine/nodes/node001.nix index f96c7d6..ce82835 100644 --- a/nix-infra-machine/nodes/node001.nix +++ b/nix-infra-machine/nodes/node001.nix @@ -16,7 +16,6 @@ let "argocd.rubenhensen.nl" "ha.rubenhensen.nl" "longhorn.rubenhensen.nl" - "blog.rubenhensen.nl" "serpbear.rubenhensen.nl" "git.rubenhensen.nl" "vic.rubenhensen.nl" diff --git a/secrets/blog.yaml b/secrets/blog.yaml deleted file mode 100644 index 19872af..0000000 --- a/secrets/blog.yaml +++ /dev/null @@ -1,33 +0,0 @@ -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: hensenio-ghost-secrets - namespace: blog -spec: - refreshInterval: "15m" - secretStoreRef: - name: vault-backend - kind: ClusterSecretStore - target: - name: ghost-es - creationPolicy: Owner - data: - - secretKey: mysql-root-password - remoteRef: - key: kv/ghost - property: ghostmsqlrootpw - - - secretKey: mysql-password - remoteRef: - key: kv/ghost - property: ghostmsqlpw - - - secretKey: ghost-password - remoteRef: - key: kv/ghost - property: ghostpw - - - secretKey: smtp-password - remoteRef: - key: kv/hensenio/smtp - property: password \ No newline at end of file diff --git a/whishper/env-configmap.yaml b/whishper/env-configmap.yaml deleted file mode 100644 index c9d3a79..0000000 --- a/whishper/env-configmap.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -data: - DB_PASS: whishper - DB_USER: whishper - LT_LOAD_ONLY: es,en,fr,nl - WHISHPER_HOST: http://127.0.0.1:8082 - WHISPER_MODELS: tiny,small,large-v3 -kind: ConfigMap -metadata: - labels: - io.kompose.service: mongo-env - name: env diff --git a/whishper/mongo-claim0-persistentvolumeclaim.yaml b/whishper/mongo-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index cda1e34..0000000 --- a/whishper/mongo-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: mongo-claim10 - name: mongo-claim10 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/whishper/mongo-claim1-persistentvolumeclaim.yaml b/whishper/mongo-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index b873d38..0000000 --- a/whishper/mongo-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# apiVersion: v1 -# kind: PersistentVolumeClaim -# metadata: -# labels: -# io.kompose.service: mongo-claim1 -# name: mongo-claim1 -# spec: -# accessModes: -# - ReadWriteOnce -# resources: -# requests: -# storage: 10Gi diff --git a/whishper/mongo-deployment.yaml b/whishper/mongo-deployment.yaml deleted file mode 100644 index 3a903f2..0000000 --- a/whishper/mongo-deployment.yaml +++ /dev/null @@ -1,76 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - name: mongo -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: mongo - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - spec: - containers: - # - args: - # - --logpath - # - /var/log/mongodb/mongod.log - - env: - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: MONGO_INITDB_ROOT_PASSWORD - value: whishper - - name: MONGO_INITDB_ROOT_USERNAME - value: whishper - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - image: mongo - name: mongo - ports: - - containerPort: 27017 - protocol: TCP - volumeMounts: - - mountPath: /data/db - name: mongo-claim0 - # - mountPath: /var/log/mongodb - # name: mongo-claim1 - restartPolicy: Always - volumes: - - name: mongo-claim0 - persistentVolumeClaim: - claimName: mongo-claim10 - # - name: mongo-claim1 - # persistentVolumeClaim: - # claimName: mongo-claim1 diff --git a/whishper/mongo-service.yaml b/whishper/mongo-service.yaml deleted file mode 100644 index 11e7802..0000000 --- a/whishper/mongo-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: mongo - name: mongo -spec: - ports: - - name: "27017" - port: 27017 - targetPort: 27017 - selector: - io.kompose.service: mongo diff --git a/whishper/translate-claim0-persistentvolumeclaim.yaml b/whishper/translate-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index 091672b..0000000 --- a/whishper/translate-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: translate-claim0 - name: translate-claim0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/whishper/translate-claim1-persistentvolumeclaim.yaml b/whishper/translate-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 756fe6c..0000000 --- a/whishper/translate-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: translate-claim1 - name: translate-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/whishper/translate-deployment.yaml b/whishper/translate-deployment.yaml deleted file mode 100644 index b041fe2..0000000 --- a/whishper/translate-deployment.yaml +++ /dev/null @@ -1,97 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - name: translate -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: translate - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - spec: - containers: - - image: libretranslate/libretranslate:latest - securityContext: - runAsUser: 0 - runAsGroup: 0 - runAsNonRoot: false - livenessProbe: - exec: - command: - - ./venv/bin/python scripts/healthcheck.py - failureThreshold: 5 - periodSeconds: 2 - timeoutSeconds: 3 - name: whisper-libretranslate - ports: - - containerPort: 5000 - protocol: TCP - tty: true - volumeMounts: - - mountPath: /home/libretranslate/.local/share - name: translate-claim0 - - mountPath: /home/libretranslate/.local/cache - name: translate-claim1 - - mountPath: /etc/ssl/certs - name: patched-ca-bundle - readOnly: true - env: - # Trust store without the compromised eMudhra intermediates, see - # ca-bundle/. requests would otherwise use certifi. - - name: SSL_CERT_FILE - value: /etc/ssl/certs/ca-certificates.crt - - name: REQUESTS_CA_BUNDLE - value: /etc/ssl/certs/ca-certificates.crt - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_DISABLE_WEB_UI - value: "true" - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: LT_UPDATE_MODELS - value: "true" - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - restartPolicy: Always - volumes: - - name: patched-ca-bundle - configMap: - name: patched-ca-bundle - - name: translate-claim0 - persistentVolumeClaim: - claimName: translate-claim0 - - name: translate-claim1 - persistentVolumeClaim: - claimName: translate-claim1 diff --git a/whishper/translate-service.yaml b/whishper/translate-service.yaml deleted file mode 100644 index 0225668..0000000 --- a/whishper/translate-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: translate - name: translate -spec: - ports: - - name: "5000" - port: 5000 - targetPort: 5000 - selector: - io.kompose.service: translate diff --git a/whishper/whishper-claim0-persistentvolumeclaim.yaml b/whishper/whishper-claim0-persistentvolumeclaim.yaml deleted file mode 100644 index 14b490c..0000000 --- a/whishper/whishper-claim0-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: whishper-claim0 - name: whishper-claim0 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/whishper/whishper-claim1-persistentvolumeclaim.yaml b/whishper/whishper-claim1-persistentvolumeclaim.yaml deleted file mode 100644 index 4a499ec..0000000 --- a/whishper/whishper-claim1-persistentvolumeclaim.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - io.kompose.service: whishper-claim1 - name: whishper-claim1 -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi diff --git a/whishper/whishper-deployment.yaml b/whishper/whishper-deployment.yaml deleted file mode 100644 index f1120b3..0000000 --- a/whishper/whishper-deployment.yaml +++ /dev/null @@ -1,96 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - name: whishper -spec: - replicas: 1 - selector: - matchLabels: - io.kompose.service: whishper - strategy: - type: Recreate - template: - metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - spec: - containers: - - env: - - name: CPU_THREADS - value: "4" - - name: DB_PASS - valueFrom: - configMapKeyRef: - key: DB_PASS - name: env - - name: DB_USER - valueFrom: - configMapKeyRef: - key: DB_USER - name: env - - name: LT_LOAD_ONLY - valueFrom: - configMapKeyRef: - key: LT_LOAD_ONLY - name: env - - name: PUBLIC_API_HOST - - name: PUBLIC_INTERNAL_API_HOST - value: http://127.0.0.1:80 - - name: PUBLIC_TRANSLATION_API_HOST - - name: PUBLIC_WHISHPER_PROFILE - value: cpu - - name: UPLOAD_DIR - value: /app/uploads - - name: WHISHPER_HOST - valueFrom: - configMapKeyRef: - key: WHISHPER_HOST - name: env - - name: WHISPER_MODELS - valueFrom: - configMapKeyRef: - key: WHISPER_MODELS - name: env - - name: WHISPER_MODELS_DIR - value: /app/models - # Trust store without the compromised eMudhra intermediates, see - # ca-bundle/. Node needs --use-openssl-ca to stop using its - # built-in roots; requests would otherwise use certifi. - - name: NODE_OPTIONS - value: --use-openssl-ca - - name: SSL_CERT_FILE - value: /etc/ssl/certs/ca-certificates.crt - - name: REQUESTS_CA_BUNDLE - value: /etc/ssl/certs/ca-certificates.crt - image: pluja/whishper:latest - name: whishper - ports: - - containerPort: 80 - protocol: TCP - volumeMounts: - - mountPath: /app/uploads - name: whishper-claim0 - - mountPath: /var/log/whishper - name: whishper-claim1 - - mountPath: /etc/ssl/certs - name: patched-ca-bundle - readOnly: true - restartPolicy: Always - volumes: - - name: patched-ca-bundle - configMap: - name: patched-ca-bundle - - name: whishper-claim0 - persistentVolumeClaim: - claimName: whishper-claim0 - - name: whishper-claim1 - persistentVolumeClaim: - claimName: whishper-claim1 diff --git a/whishper/whishper-service.yaml b/whishper/whishper-service.yaml deleted file mode 100644 index b4cda44..0000000 --- a/whishper/whishper-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - annotations: - kompose.cmd: kompose convert - kompose.version: 1.34.0 (cbf2835db) - labels: - io.kompose.service: whishper - name: whishper -spec: - ports: - - name: "8082" - port: 8082 - targetPort: 80 - selector: - io.kompose.service: whishper