123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- ---
- apiVersion: v1
- kind: Namespace
- metadata:
- name: mastodon
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: mastodon-web-pvc
- namespace: mastodon
- labels:
- app: mastodon
- spec:
- storageClassName: ceph-block
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: mastodon-sidekiq-pvc
- namespace: mastodon
- labels:
- app: mastodon
- spec:
- storageClassName: ceph-block
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: mastodon
- namespace: mastodon
- spec:
- strategy:
- type: Recreate
- selector:
- matchLabels:
- app: mastodon
- replicas: 1
- template:
- metadata:
- labels:
- app: mastodon
- spec:
- containers:
- - name: web
- image: tootsuite/mastodon:v4.0.2
- command: ["bash", "-c", "rm -f /mastodon/tmp/pids/server.pid; bundle exec rails s -p 3000"]
- ports:
- - containerPort: 3000
- name: http-web-svc
- envFrom:
- - secretRef:
- name: mastodon-secret
- volumeMounts:
- - mountPath: "/mastodon/public/system"
- name: system
- livenessProbe:
- httpGet:
- path: /health
- port: 3000
- failureThreshold: 10
- initialDelaySeconds: 30
- periodSeconds: 30
- timeoutSeconds: 10
- - name: streaming
- image: tootsuite/mastodon:v4.0.2
- command: ["node", "./streaming"]
- ports:
- - containerPort: 4000
- name: http-stream-svc
- envFrom:
- - secretRef:
- name: mastodon-secret
- livenessProbe:
- httpGet:
- path: /api/v1/streaming/health
- port: 4000
- failureThreshold: 10
- initialDelaySeconds: 30
- periodSeconds: 30
- timeoutSeconds: 10
- - name: sidekiq
- image: tootsuite/mastodon:v4.0.2
- command: ["bundle", "exec", "sidekiq"]
- envFrom:
- - secretRef:
- name: mastodon-secret
- volumeMounts:
- - mountPath: "/mastodon/public/system"
- name: system
- volumes:
- - name: system
- persistentVolumeClaim:
- claimName: mastodon-web-pvc
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: mastodon-service
- namespace: mastodon
- spec:
- selector:
- app: mastodon
- type: ClusterIP
- ports:
- - name: mast-web-port
- protocol: TCP
- port: 3000
- targetPort: http-web-svc
- - name: mast-stream-port
- protocol: TCP
- port: 4000
- targetPort: http-stream-svc
- ---
- apiVersion: traefik.containo.us/v1alpha1
- kind: IngressRoute
- metadata:
- name: mastodon
- namespace: mastodon
- spec:
- entryPoints:
- - websecure
- routes:
- - kind: Rule
- match: Host(`mastodon.jibby.org`)
- services:
- - kind: Service
- name: mastodon-service
- port: 3000
- - kind: Rule
- match: Host(`streaming.mastodon.jibby.org`)
- services:
- - kind: Service
- name: mastodon-service
- port: 4000
|