mirror of
https://github.com/mastodon/chart
synced 2025-03-14 21:11:50 +00:00
Allow customization of rollout strategies for deployments (#142)
This commit is contained in:
parent
a695b425da
commit
c437b0ad15
|
@ -15,7 +15,7 @@ type: application
|
||||||
# This is the chart version. This version number should be incremented each time
|
# 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.
|
# you make changes 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: 5.1.3
|
version: 5.2.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
|
||||||
|
|
|
@ -18,8 +18,9 @@ spec:
|
||||||
{{- if (gt (int .replicas) 1) }}
|
{{- if (gt (int .replicas) 1) }}
|
||||||
{{ fail "The scheduler queue should never have more than 1 replicas" }}
|
{{ fail "The scheduler queue should never have more than 1 replicas" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
strategy:
|
{{- end }}
|
||||||
type: Recreate
|
{{- if $context.Values.mastodon.sidekiq.updateStrategy }}
|
||||||
|
strategy: {{- toYaml $context.Values.mastodon.sidekiq.updateStrategy | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
replicas: {{ .replicas }}
|
replicas: {{ .replicas }}
|
||||||
{{- if (ne (toString $context.Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
{{- if (ne (toString $context.Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
||||||
|
@ -200,6 +201,18 @@ spec:
|
||||||
{{- with $context.Values.volumeMounts }}
|
{{- with $context.Values.volumeMounts }}
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if $context.Values.mastodon.sidekiq.readinessProbe.enabled }}
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: {{ default 10 $context.Values.mastodon.sidekiq.readinessProbe.failureThreshold }}
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- cat
|
||||||
|
- {{ required "A valid sidekiq readiness path is required." $context.Values.mastodon.sidekiq.readinessProbe.path }}
|
||||||
|
initialDelaySeconds: {{ default 10 $context.Values.mastodon.sidekiq.readinessProbe.initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ default 2 $context.Values.mastodon.sidekiq.readinessProbe.periodSeconds }}
|
||||||
|
successThreshold: {{ default 1 $context.Values.mastodon.sidekiq.readinessProbe.successThreshold }}
|
||||||
|
timeoutSeconds: {{ default 1 $context.Values.mastodon.sidekiq.readinessProbe.timeoutSeconds }}
|
||||||
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml (default (default $context.Values.resources $context.Values.mastodon.sidekiq.resources) .resources) | nindent 12 }}
|
{{- toYaml (default (default $context.Values.resources $context.Values.mastodon.sidekiq.resources) .resources) | nindent 12 }}
|
||||||
{{- include "mastodon.statsdExporterContainer" $ | indent 8 }}
|
{{- include "mastodon.statsdExporterContainer" $ | indent 8 }}
|
||||||
|
|
|
@ -13,11 +13,9 @@ spec:
|
||||||
{{- if (ne (toString .Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
{{- if (ne (toString .Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
||||||
revisionHistoryLimit: {{ .Values.mastodon.revisionHistoryLimit }}
|
revisionHistoryLimit: {{ .Values.mastodon.revisionHistoryLimit }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
strategy:
|
{{- if .Values.mastodon.web.updateStrategy }}
|
||||||
type: RollingUpdate
|
strategy: {{- toYaml .Values.mastodon.web.updateStrategy | nindent 4 }}
|
||||||
rollingUpdate:
|
{{- end }}
|
||||||
maxSurge: 10%
|
|
||||||
maxUnavailable: 25%
|
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
{{- include "mastodon.selectorLabels" . | nindent 6 }}
|
{{- include "mastodon.selectorLabels" . | nindent 6 }}
|
||||||
|
|
|
@ -13,11 +13,9 @@ spec:
|
||||||
{{- if (ne (toString .Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
{{- if (ne (toString .Values.mastodon.revisionHistoryLimit) "<nil>") }}
|
||||||
revisionHistoryLimit: {{ .Values.mastodon.revisionHistoryLimit }}
|
revisionHistoryLimit: {{ .Values.mastodon.revisionHistoryLimit }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
strategy:
|
{{- if .Values.mastodon.web.updateStrategy }}
|
||||||
type: RollingUpdate
|
strategy: {{- toYaml .Values.mastodon.web.updateStrategy | nindent 4 }}
|
||||||
rollingUpdate:
|
{{- end }}
|
||||||
maxSurge: 10%
|
|
||||||
maxUnavailable: 25%
|
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
{{- include "mastodon.selectorLabels" . | nindent 6 }}
|
{{- include "mastodon.selectorLabels" . | nindent 6 }}
|
||||||
|
|
32
values.yaml
32
values.yaml
|
@ -138,6 +138,24 @@ mastodon:
|
||||||
resources: {}
|
resources: {}
|
||||||
# -- Affinity for all Sidekiq Deployments unless overwritten, overwrites .Values.affinity
|
# -- Affinity for all Sidekiq Deployments unless overwritten, overwrites .Values.affinity
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
# Rollout strategy to use when updating pods.
|
||||||
|
# Recreate will help reduce the number of retried jobs when updating when
|
||||||
|
# the code introduces a new job as the pods are all replaced immediately.
|
||||||
|
# RollingUpdate can help with larger clusters if job retries aren't an
|
||||||
|
# issue, as it will reduce strain by replacing pods more slowly. It is
|
||||||
|
# strongly recommended to enable the readinessProbe when using RollingUpdate.
|
||||||
|
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy:
|
||||||
|
type: Recreate
|
||||||
|
# Readiness probe configuration
|
||||||
|
# NOTE: Readiness probe will only work on versions of Mastodon built after 2024-07-10.
|
||||||
|
readinessProbe:
|
||||||
|
enabled: false
|
||||||
|
path: /opt/mastodon/tmp/sidekiq_process_has_started_and_will_begin_processing_jobs
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 2
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
# -- Topology spread constraints for Sidekiq Pods, overwrites .Values.topologySpreadConstraints
|
# -- Topology spread constraints for Sidekiq Pods, overwrites .Values.topologySpreadConstraints
|
||||||
topologySpreadConstraints: {}
|
topologySpreadConstraints: {}
|
||||||
# limits:
|
# limits:
|
||||||
|
@ -227,6 +245,13 @@ mastodon:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
# -- Affinity for Streaming Pods, overwrites .Values.affinity
|
# -- Affinity for Streaming Pods, overwrites .Values.affinity
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
# Rollout strategy to use when updating pods
|
||||||
|
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 10%
|
||||||
|
maxUnavailable: 25%
|
||||||
# -- Topology spread constraints for Streaming Pods, overwrites .Values.topologySpreadConstraints
|
# -- Topology spread constraints for Streaming Pods, overwrites .Values.topologySpreadConstraints
|
||||||
topologySpreadConstraints: {}
|
topologySpreadConstraints: {}
|
||||||
# -- Pod Security Context for Streaming Pods, overwrites .Values.podSecurityContext
|
# -- Pod Security Context for Streaming Pods, overwrites .Values.podSecurityContext
|
||||||
|
@ -266,6 +291,13 @@ mastodon:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
# -- Affinity for Web Pods, overwrites .Values.affinity
|
# -- Affinity for Web Pods, overwrites .Values.affinity
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
# Rollout strategy to use when updating pods
|
||||||
|
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxSurge: 10%
|
||||||
|
maxUnavailable: 25%
|
||||||
# -- Topology spread constraints for Web Pods, overwrites .Values.topologySpreadConstraints
|
# -- Topology spread constraints for Web Pods, overwrites .Values.topologySpreadConstraints
|
||||||
topologySpreadConstraints: {}
|
topologySpreadConstraints: {}
|
||||||
# -- Pod Security Context for Web Pods, overwrites .Values.podSecurityContext
|
# -- Pod Security Context for Web Pods, overwrites .Values.podSecurityContext
|
||||||
|
|
Loading…
Reference in New Issue
Block a user