From e4027ec94feaa1d14ff52053bb0608ef90e4a8e4 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Wed, 16 Nov 2022 12:42:56 +0000 Subject: [PATCH] Completely remove mastodon Signed-off-by: Marcus Noble --- manifests/_apps/mastodon.yaml | 28 --- manifests/mastodon/config.yaml | 33 ---- manifests/mastodon/hpa.yaml | 73 -------- manifests/mastodon/ingess.yaml | 38 ---- manifests/mastodon/mastodon.yaml | 294 ------------------------------- manifests/mastodon/pdb.yaml | 41 ----- manifests/mastodon/utils.yaml | 129 -------------- 7 files changed, 636 deletions(-) delete mode 100644 manifests/_apps/mastodon.yaml delete mode 100644 manifests/mastodon/config.yaml delete mode 100644 manifests/mastodon/hpa.yaml delete mode 100644 manifests/mastodon/ingess.yaml delete mode 100644 manifests/mastodon/mastodon.yaml delete mode 100644 manifests/mastodon/pdb.yaml delete mode 100644 manifests/mastodon/utils.yaml diff --git a/manifests/_apps/mastodon.yaml b/manifests/_apps/mastodon.yaml deleted file mode 100644 index 9e5adeb..0000000 --- a/manifests/_apps/mastodon.yaml +++ /dev/null @@ -1,28 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: mastodon - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: cluster.fun - destination: - namespace: mastodon - name: cluster-fun (scaleway) - source: - path: manifests/mastodon - repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" - targetRevision: HEAD - syncPolicy: - automated: {} - syncOptions: - - CreateNamespace=true - ignoreDifferences: - - kind: Secret - jsonPointers: - - /data - - group: apps - kind: Deployment - jqPathExpressions: - - .spec.template.spec.containers[]?.image diff --git a/manifests/mastodon/config.yaml b/manifests/mastodon/config.yaml deleted file mode 100644 index c962565..0000000 --- a/manifests/mastodon/config.yaml +++ /dev/null @@ -1,33 +0,0 @@ - -apiVersion: v1 -kind: Secret -metadata: - name: mastodon - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: mastodon - annotations: - kube-1password: wjhd3mxtyqslcu7sc4tfihm2dy - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: mastodon-env - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: mastodon -data: - DEFAULT_LOCALE: en - LOCAL_DOMAIN: k8s.social - MALLOC_ARENA_MAX: "2" - NODE_ENV: "production" - RAILS_ENV: "production" - STREAMING_CLUSTER_NUM: "2" - WEB_CONCURRENCY: "2" ---- \ No newline at end of file diff --git a/manifests/mastodon/hpa.yaml b/manifests/mastodon/hpa.yaml deleted file mode 100644 index 938f515..0000000 --- a/manifests/mastodon/hpa.yaml +++ /dev/null @@ -1,73 +0,0 @@ - -# apiVersion: autoscaling/v2beta2 -# kind: HorizontalPodAutoscaler -# metadata: -# name: mastodon-web -# namespace: mastodon -# labels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: web -# spec: -# scaleTargetRef: -# apiVersion: apps/v1 -# kind: Deployment -# name: mastodon-web -# minReplicas: 2 -# maxReplicas: 6 -# metrics: -# - type: Resource -# resource: -# name: cpu -# target: -# averageUtilization: 80 -# type: Utilization -# --- -# apiVersion: autoscaling/v2beta2 -# kind: HorizontalPodAutoscaler -# metadata: -# name: mastodon-sidekiq -# namespace: mastodon -# labels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: sidekiq -# spec: -# scaleTargetRef: -# apiVersion: apps/v1 -# kind: Deployment -# name: mastodon-sidekiq -# minReplicas: 2 -# maxReplicas: 6 -# metrics: -# - type: Resource -# resource: -# name: cpu -# target: -# averageUtilization: 80 -# type: Utilization -# --- -# apiVersion: autoscaling/v2beta2 -# kind: HorizontalPodAutoscaler -# metadata: -# name: mastodon-streaming -# namespace: mastodon -# labels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: streaming -# spec: -# scaleTargetRef: -# apiVersion: apps/v1 -# kind: Deployment -# name: mastodon-streaming -# minReplicas: 2 -# maxReplicas: 6 -# metrics: -# - type: Resource -# resource: -# name: cpu -# target: -# averageUtilization: 80 -# type: Utilization -# --- diff --git a/manifests/mastodon/ingess.yaml b/manifests/mastodon/ingess.yaml deleted file mode 100644 index f83bb88..0000000 --- a/manifests/mastodon/ingess.yaml +++ /dev/null @@ -1,38 +0,0 @@ - -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: mastodon - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - annotations: - cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-body-size: 40m -spec: - tls: - - hosts: - - "k8s.social" - - "streaming.k8s.social" - secretName: mastodon-tls - rules: - - host: "k8s.social" - http: - paths: - - path: / - backend: - service: - name: mastodon-web - port: - number: 3000 - pathType: ImplementationSpecific - - path: /api/v1/streaming - backend: - service: - name: mastodon-streaming - port: - number: 4000 - pathType: ImplementationSpecific ---- diff --git a/manifests/mastodon/mastodon.yaml b/manifests/mastodon/mastodon.yaml deleted file mode 100644 index c86107c..0000000 --- a/manifests/mastodon/mastodon.yaml +++ /dev/null @@ -1,294 +0,0 @@ ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: mastodon - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" ---- - -apiVersion: v1 -kind: Service -metadata: - name: mastodon-streaming - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: streaming -spec: - type: ClusterIP - ports: - - port: 4000 - targetPort: streaming - protocol: TCP - name: streaming - selector: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: streaming - ---- - -apiVersion: v1 -kind: Service -metadata: - name: mastodon-web - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: web -spec: - type: ClusterIP - ports: - - port: 3000 - targetPort: http - protocol: TCP - name: http - selector: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: web - ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mastodon-sidekiq - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: sidekiq - annotations: - configmap.reloader.stakater.com/reload: "mastodon-env" - secret.reloader.stakater.com/reload: "mastodon" -spec: - replicas: 0 - selector: - matchLabels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: sidekiq - template: - metadata: - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: sidekiq - spec: - serviceAccountName: mastodon - securityContext: - fsGroup: 991 - runAsGroup: 991 - runAsUser: 991 - containers: - - name: mastodon - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - bundle - - exec - - sidekiq - - -c - - "25" - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - resources: - requests: - memory: 400Mi - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: "app.kubernetes.io/name" - operator: In - values: - - mastodon - - key: "app.kubernetes.io/instance" - operator: In - values: - - "k8s.social" - - key: "app.kubernetes.io/component" - operator: In - values: - - sidekiq - topologyKey: kubernetes.io/hostname ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mastodon-streaming - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: streaming - annotations: - configmap.reloader.stakater.com/reload: "mastodon-env" - secret.reloader.stakater.com/reload: "mastodon" -spec: - replicas: 0 - selector: - matchLabels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: streaming - template: - metadata: - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: streaming - spec: - serviceAccountName: mastodon - securityContext: - fsGroup: 991 - runAsGroup: 991 - runAsUser: 991 - containers: - - name: mastodon - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - node - - ./streaming - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - env: - - name: "PORT" - value: "4000" - ports: - - name: streaming - containerPort: 4000 - protocol: TCP - livenessProbe: - httpGet: - path: /api/v1/streaming/health - port: streaming - readinessProbe: - httpGet: - path: /api/v1/streaming/health - port: streaming - resources: - requests: - memory: 200Mi - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: "app.kubernetes.io/name" - operator: In - values: - - mastodon - - key: "app.kubernetes.io/instance" - operator: In - values: - - "k8s.social" - - key: "app.kubernetes.io/component" - operator: In - values: - - streaming - topologyKey: kubernetes.io/hostname ---- - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: mastodon-web - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: web - annotations: - configmap.reloader.stakater.com/reload: "mastodon-env" - secret.reloader.stakater.com/reload: "mastodon" -spec: - replicas: 0 - selector: - matchLabels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: web - template: - metadata: - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: web - spec: - serviceAccountName: mastodon - securityContext: - fsGroup: 991 - runAsGroup: 991 - runAsUser: 991 - containers: - - name: mastodon - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - bundle - - exec - - puma - - -C - - config/puma.rb - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - env: - - name: "PORT" - value: "3000" - ports: - - name: http - containerPort: 3000 - protocol: TCP - readinessProbe: - httpGet: - path: /health - port: http - initialDelaySeconds: 30 - periodSeconds: 10 - resources: - requests: - memory: 700Mi - affinity: - podAntiAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 100 - podAffinityTerm: - labelSelector: - matchExpressions: - - key: "app.kubernetes.io/name" - operator: In - values: - - mastodon - - key: "app.kubernetes.io/instance" - operator: In - values: - - "k8s.social" - - key: "app.kubernetes.io/component" - operator: In - values: - - web - topologyKey: kubernetes.io/hostname ---- diff --git a/manifests/mastodon/pdb.yaml b/manifests/mastodon/pdb.yaml deleted file mode 100644 index 4958ba0..0000000 --- a/manifests/mastodon/pdb.yaml +++ /dev/null @@ -1,41 +0,0 @@ -# apiVersion: policy/v1 -# kind: PodDisruptionBudget -# metadata: -# name: mastodon-web -# spec: -# minAvailable: 1 -# selector: -# matchLabels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: web - -# --- - -# apiVersion: policy/v1 -# kind: PodDisruptionBudget -# metadata: -# name: mastodon-streaming -# spec: -# minAvailable: 1 -# selector: -# matchLabels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: streaming - -# --- - -# apiVersion: policy/v1 -# kind: PodDisruptionBudget -# metadata: -# name: mastodon-sidekiq -# spec: -# minAvailable: 1 -# selector: -# matchLabels: -# app.kubernetes.io/name: mastodon -# app.kubernetes.io/instance: "k8s.social" -# app.kubernetes.io/component: sidekiq - -# --- diff --git a/manifests/mastodon/utils.yaml b/manifests/mastodon/utils.yaml deleted file mode 100644 index 1843731..0000000 --- a/manifests/mastodon/utils.yaml +++ /dev/null @@ -1,129 +0,0 @@ -apiVersion: batch/v1 -kind: CronJob -metadata: - name: mastodon-media-remove - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: utils - annotations: - description: | - Runs weekly to remove old media -spec: - schedule: 0 0 * * 0 - jobTemplate: - spec: - backoffLimit: 3 - ttlSecondsAfterFinished: 86400 - template: - metadata: - name: mastodon-media-remove - spec: - restartPolicy: OnFailure - containers: - - name: mastodon-media-remove - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - bash - - -c - - | - bin/tootctl media remove - bin/tootctl preview_cards remove - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - env: - - name: "PORT" - value: "3000" ---- - - -apiVersion: batch/v1 -kind: CronJob -metadata: - name: mastodon-assets-precompile - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: utils - annotations: - description: | - Manually trigger post-install to pre-compile the assets -spec: - schedule: 0 0 * * 0 - suspend: true - jobTemplate: - spec: - backoffLimit: 3 - ttlSecondsAfterFinished: 86400 - template: - metadata: - name: mastodon-assets-precompile - spec: - restartPolicy: OnFailure - containers: - - name: mastodon-assets-precompile - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - bash - - -c - - | - bundle exec rake assets:precompile && yarn cache clean - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - env: - - name: "PORT" - value: "3000" ---- - -apiVersion: batch/v1 -kind: CronJob -metadata: - name: mastodon-db-migrate - namespace: mastodon - labels: - app.kubernetes.io/name: mastodon - app.kubernetes.io/instance: "k8s.social" - app.kubernetes.io/component: utils - annotations: - description: | - Manually trigger post-install/upgrade to migrate the database schema -spec: - schedule: 0 0 * * 0 - suspend: true - jobTemplate: - spec: - backoffLimit: 3 - ttlSecondsAfterFinished: 86400 - template: - metadata: - name: mastodon-db-migrate - spec: - restartPolicy: OnFailure - containers: - - name: mastodon-db-migrate - image: "tootsuite/mastodon:v3.5.3" - imagePullPolicy: IfNotPresent - command: - - bundle - - exec - - rake - - db:migrate - envFrom: - - configMapRef: - name: mastodon-env - - secretRef: - name: mastodon - env: - - name: "PORT" - value: "3000" ----