3
0
mirror of https://github.com/mastodon/chart synced 2025-05-18 13:03:21 +00:00

allow for an existingClaim for both assets and system

This commit is contained in:
jessebot 2023-07-14 15:34:00 +02:00
parent b41e75092b
commit 0e729406c3
13 changed files with 49 additions and 21 deletions

View File

@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 4.0.9 version: 4.1.0
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to

View File

@ -1,6 +1,6 @@
# mastodon # mastodon
![Version: 4.0.9](https://img.shields.io/badge/Version-4.0.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.1.4](https://img.shields.io/badge/AppVersion-v4.1.4-informational?style=flat-square) ![Version: 4.1.0](https://img.shields.io/badge/Version-4.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v4.1.4](https://img.shields.io/badge/AppVersion-v4.1.4-informational?style=flat-square)
Mastodon is a free, open-source social network server based on ActivityPub. Mastodon is a free, open-source social network server based on ActivityPub.
@ -45,8 +45,10 @@ Mastodon is a free, open-source social network server based on ActivityPub.
| mastodon.locale | string | `"en"` | available locales: https://github.com/mastodon/mastodon/blob/main/config/application.rb#L71 | | mastodon.locale | string | `"en"` | available locales: https://github.com/mastodon/mastodon/blob/main/config/application.rb#L71 |
| mastodon.metrics.statsd.address | string | `""` | Enable statsd publishing via STATSD_ADDR environment variable | | mastodon.metrics.statsd.address | string | `""` | Enable statsd publishing via STATSD_ADDR environment variable |
| mastodon.persistence.assets.accessMode | string | `"ReadWriteOnce"` | ReadWriteOnce is more widely supported than ReadWriteMany, but limits scalability, since it requires the Rails and Sidekiq pods to run on the same node. | | mastodon.persistence.assets.accessMode | string | `"ReadWriteOnce"` | ReadWriteOnce is more widely supported than ReadWriteMany, but limits scalability, since it requires the Rails and Sidekiq pods to run on the same node. |
| mastodon.persistence.assets.existingClaim | string | `nil` | name of existing persistent volume claim to use for assets |
| mastodon.persistence.assets.resources.requests.storage | string | `"10Gi"` | | | mastodon.persistence.assets.resources.requests.storage | string | `"10Gi"` | |
| mastodon.persistence.system.accessMode | string | `"ReadWriteOnce"` | | | mastodon.persistence.system.accessMode | string | `"ReadWriteOnce"` | |
| mastodon.persistence.system.existingClaim | string | `nil` | name of existing persistent volume claim to use for system |
| mastodon.persistence.system.resources.requests.storage | string | `"100Gi"` | | | mastodon.persistence.system.resources.requests.storage | string | `"100Gi"` | |
| mastodon.preparedStatements | bool | `true` | | | mastodon.preparedStatements | bool | `true` | |
| mastodon.s3.access_key | string | `""` | | | mastodon.s3.access_key | string | `""` | |

View File

@ -73,6 +73,28 @@ Create the name of the service account to use
{{- end }} {{- end }}
{{- end }} {{- end }}
{{/*
Create the name of the assets persistent volume to use
*/}}
{{- define "mastodon.pvc.assets" -}}
{{- if .Values.mastodon.persistence.assets.existingClaim }}
{{- printf "%s" (tpl .Values.mastodon.persistence.assets.existingClaim $) -}}
{{- else -}}
{{- printf "%s-assets" (include "common.names.fullname" .) -}}
{{- end -}}
{{- end -}}
{{/*
Create the name of the system persistent volume to use
*/}}
{{- define "mastodon.pvc.system" -}}
{{- if .Values.mastodon.persistence.system.existingClaim }}
{{- printf "%s" (tpl .Values.mastodon.persistence.system.existingClaim $) -}}
{{- else -}}
{{- printf "%s-system" (include "common.names.fullname" .) -}}
{{- end -}}
{{- end -}}
{{/* {{/*
Create a default fully qualified name for dependent services. Create a default fully qualified name for dependent services.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).

View File

@ -36,10 +36,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ include "mastodon.fullname" . }}-media-remove - name: {{ include "mastodon.fullname" . }}-media-remove

View File

@ -58,10 +58,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" $context }}-assets claimName: {{ template "mastodon.pvc.assets" $context }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" $context }}-system claimName: {{ template "mastodon.pvc.system" $context }}
{{- end }} {{- end }}
containers: containers:
- name: {{ $context.Chart.Name }} - name: {{ $context.Chart.Name }}

View File

@ -41,10 +41,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ .Chart.Name }}-web - name: {{ .Chart.Name }}-web

View File

@ -1,7 +1,7 @@
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
name: {{ include "mastodon.fullname" . }}-assets-precompile name: {{ include "mastodon.pvc.assets" . }}-precompile
labels: labels:
{{- include "mastodon.labels" . | nindent 4 }} {{- include "mastodon.labels" . | nindent 4 }}
annotations: annotations:
@ -11,7 +11,7 @@ metadata:
spec: spec:
template: template:
metadata: metadata:
name: {{ include "mastodon.fullname" . }}-assets-precompile name: {{ include "mastodon.pvc.assets" . }}-precompile
{{- with .Values.jobAnnotations }} {{- with .Values.jobAnnotations }}
annotations: annotations:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
@ -36,13 +36,13 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ include "mastodon.fullname" . }}-assets-precompile - name: {{ include "mastodon.pvc.assets" . }}-precompile
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
command: command:

View File

@ -37,10 +37,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ include "mastodon.fullname" . }}-chewy-setup - name: {{ include "mastodon.fullname" . }}-chewy-setup

View File

@ -37,10 +37,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ include "mastodon.fullname" . }}-create-admin - name: {{ include "mastodon.fullname" . }}-create-admin

View File

@ -35,10 +35,10 @@ spec:
volumes: volumes:
- name: assets - name: assets
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-assets claimName: {{ template "mastodon.pvc.assets" . }}
- name: system - name: system
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ template "mastodon.fullname" . }}-system claimName: {{ template "mastodon.pvc.system" . }}
{{- end }} {{- end }}
containers: containers:
- name: {{ include "mastodon.fullname" . }}-db-migrate - name: {{ include "mastodon.fullname" . }}-db-migrate

View File

@ -1,4 +1,4 @@
{{- if (not .Values.mastodon.s3.enabled) -}} {{- if and (not .Values.mastodon.s3.enabled) (not .Values.mastodon.persistence.assets.existingClaim) -}}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:

View File

@ -1,4 +1,4 @@
{{- if (not .Values.mastodon.s3.enabled) -}} {{- if and (not .Values.mastodon.s3.enabled) (not .Values.mastodon.persistence.system.existingClaim) -}}
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
metadata: metadata:

View File

@ -54,11 +54,15 @@ mastodon:
resources: resources:
requests: requests:
storage: 10Gi storage: 10Gi
# -- name of existing persistent volume claim to use for assets
existingClaim:
system: system:
accessMode: ReadWriteOnce accessMode: ReadWriteOnce
resources: resources:
requests: requests:
storage: 100Gi storage: 100Gi
# -- name of existing persistent volume claim to use for system
existingClaim:
s3: s3:
enabled: false enabled: false
access_key: "" access_key: ""