{{- /* These user-placeholder pods can be used to test cluster autoscaling in a controlled fashion. Example: $ echo 'Simulating four users...' $ kubectl scale sts/user-placeholder --replicas 4 */}} {{- if .Values.scheduling.userPlaceholder.enabled -}} apiVersion: apps/v1 kind: StatefulSet metadata: name: {{ include "jupyterhub.user-placeholder.fullname" . }} labels: {{- include "jupyterhub.labels" . | nindent 4 }} spec: podManagementPolicy: Parallel {{- if typeIs "int" .Values.scheduling.userPlaceholder.revisionHistoryLimit }} revisionHistoryLimit: {{ .Values.scheduling.userPlaceholder.revisionHistoryLimit }} {{- end }} replicas: {{ .Values.scheduling.userPlaceholder.replicas }} selector: matchLabels: {{- include "jupyterhub.matchLabels" . | nindent 6 }} serviceName: {{ include "jupyterhub.user-placeholder.fullname" . }} template: metadata: {{- with .Values.scheduling.userPlaceholder.annotations }} annotations: {{- . | toYaml | nindent 8 }} {{- end }} labels: {{- /* Changes here will cause the Deployment to restart the pods. */}} {{- include "jupyterhub.matchLabels" . | nindent 8 }} {{- with .Values.scheduling.userPlaceholder.labels }} {{- . | toYaml | nindent 8 }} {{- end }} spec: {{- if .Values.scheduling.podPriority.enabled }} priorityClassName: {{ include "jupyterhub.user-placeholder-priority.fullname" . }} {{- end }} {{- if .Values.scheduling.userScheduler.enabled }} schedulerName: {{ include "jupyterhub.user-scheduler.fullname" . }} {{- end }} {{- with .Values.singleuser.nodeSelector }} nodeSelector: {{- . | toYaml | nindent 8 }} {{- end }} {{- with concat .Values.scheduling.userPods.tolerations .Values.singleuser.extraTolerations }} tolerations: {{- . | toYaml | nindent 8 }} {{- end }} {{- if include "jupyterhub.userAffinity" . }} affinity: {{- include "jupyterhub.userAffinity" . | nindent 8 }} {{- end }} terminationGracePeriodSeconds: 0 automountServiceAccountToken: false {{- with include "jupyterhub.imagePullSecrets" (dict "root" . "image" .Values.scheduling.userPlaceholder.image) }} imagePullSecrets: {{ . }} {{- end }} containers: - name: pause image: {{ .Values.scheduling.userPlaceholder.image.name }}:{{ .Values.scheduling.userPlaceholder.image.tag }} {{- if .Values.scheduling.userPlaceholder.resources }} resources: {{- .Values.scheduling.userPlaceholder.resources | toYaml | nindent 12 }} {{- else if (include "jupyterhub.singleuser.resources" .) }} resources: {{- include "jupyterhub.singleuser.resources" . | nindent 12 }} {{- end }} {{- with .Values.scheduling.userPlaceholder.image.pullPolicy }} imagePullPolicy: {{ . }} {{- end }} {{- with .Values.scheduling.userPlaceholder.containerSecurityContext }} securityContext: {{- . | toYaml | nindent 12 }} {{- end }} {{- end }}