diff --git a/templates/deployment-sidekiq.yaml b/templates/deployment-sidekiq.yaml index a03019eb..d5f30dea 100644 --- a/templates/deployment-sidekiq.yaml +++ b/templates/deployment-sidekiq.yaml @@ -45,10 +45,21 @@ spec: securityContext: {{- toYaml . | nindent 8 }} {{- end }} - {{- with (default (default $context.Values.affinity $context.Values.mastodon.sidekiq.affinity) .affinity) }} affinity: - {{- toYaml . | nindent 8 }} - {{- end }} + {{- if or (eq "ReadWriteOnce" $context.Values.mastodon.persistence.assets.accessMode) (eq "ReadWriteOnce" $context.Values.mastodon.persistence.system.accessMode) }} + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname + {{- end }} + {{- with (default (default $context.Values.affinity $context.Values.mastodon.sidekiq.affinity) .affinity) }} + {{- toYaml . | nindent 8 }} + {{- end }} {{- if (not $context.Values.mastodon.s3.enabled) }} volumes: - name: assets diff --git a/templates/deployment-web.yaml b/templates/deployment-web.yaml index c1ec2327..173af4b4 100644 --- a/templates/deployment-web.yaml +++ b/templates/deployment-web.yaml @@ -118,10 +118,21 @@ spec: nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} - {{- with (default .Values.affinity .Values.mastodon.web.affinity) }} affinity: - {{- toYaml . | nindent 8 }} - {{- end }} + {{- if or (eq "ReadWriteOnce" .Values.mastodon.persistence.assets.accessMode) (eq "ReadWriteOnce" .Values.mastodon.persistence.system.accessMode) }} + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname + {{- end }} + {{- with (default .Values.affinity .Values.mastodon.web.affinity) }} + {{- toYaml . | nindent 8 }} + {{- end }} {{- with .Values.tolerations }} tolerations: {{- toYaml . | nindent 8 }}