Skip to content
Snippets Groups Projects
Commit 653d7592 authored by Sara Vallero's avatar Sara Vallero
Browse files

First commit

parent 3c02ba29
No related branches found
No related tags found
No related merge requests found
Showing
with 754 additions and 0 deletions
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 17.9.2
digest: sha256:4fb57343a872aa451e1d3603fc5150c357014ae9ddfb01a54a719790282cea54
generated: "2024-05-16T15:47:08.694910786+02:00"
apiVersion: v2
name: gwcelery
version: 1.0.0
appVersion: "v2.3.5"
dependencies:
- name: redis
version: 17.9.2
repository: https://charts.bitnami.com/bitnami
File added
{{- define "gwcelery.celery.hostAliases" -}}
{{- if .Values.gracedb.hostAlias -}}
hostAliases:
- ip: {{ .Values.gracedb.hostAlias.ip }}
hostnames:
- {{ .Values.gracedb.hostAlias.hostname }}
{{- end -}}
{{- end -}}
{{- define "gwcelery.celery.configHash" -}}
checksum/config: {{ include (print $.Template.BasePath "/gwcelery-config.yaml") . | sha256sum }}
checksum/probe: {{ include (print $.Template.BasePath "/probe-cm.yaml") . | sha256sum }}
{{- if .Values.secrets.enabled }}
checksum/secret: {{ include (print $.Template.BasePath "/secrets.yaml") . | sha256sum }}
{{- end }}
{{- end -}}
{{- define "gwcelery.celery.probes" -}}
readinessProbe:
exec:
command:
- /home/gwcelery/probe.py
initialDelaySeconds: {{ .Values.probes.readiness.delay }}
periodSeconds: {{ .Values.probes.readiness.period }}
timeoutSeconds: {{ .Values.probes.readiness.timeout }}
livenessProbe:
exec:
command:
- /home/gwcelery/probe.py
initialDelaySeconds: {{ .Values.probes.liveness.delay }}
periodSeconds: {{ .Values.probes.liveness.period }}
timeoutSeconds: {{ .Values.probes.liveness.timeout }}
{{- end -}}
{{- define "gwcelery.celery.base.initContainers" -}}
- name: copy-secrets
#image: alpine
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
command: ["/bin/sh","-c"]
args:
- cp /tmp/secrets/auth.toml /tmp/secrets-copy/auth.toml ;
chmod 600 /tmp/secrets-copy/auth.toml ;
cp /tmp/secrets/netrc /tmp/secrets-copy/netrc ;
chmod 600 /tmp/secrets-copy/netrc ;
cp /tmp/secrets/x509up_u1000 /tmp/secrets-copy/x509up_u1000 ;
chmod 600 /tmp/secrets-copy/x509up_u1000 ;
cat $(python -m requests.certs) /tmp/ca.crt > /tmp/cabundle/cacerts.pem
volumeMounts:
- name: secrets
mountPath: /tmp/secrets
- name: secrets-copy
mountPath: /tmp/secrets-copy
- name: gracedb-ca
mountPath: /tmp/ca.crt
subPath: ca.crt
- name: cabundle
mountPath: /tmp/cabundle
{{- end -}}
{{- define "gwcelery.celery.base.env" -}}
{{- if .Values.celeryConfig }}
- name: CELERY_CONFIG_MODULE
value: 'gwcelery.conf.helm-k8s'
{{- else }}
- name: CELERY_CONFIG_MODULE
value: 'gwcelery.conf.minikube'
{{- end }}
- name: BROKER_USE_SSL
value: 'False'
- name: CELERY_BROKER_URL
{{- if .Values.brokerUrl }}
value: {{ .Values.brokerUrl }}
{{- else }}
value: {{ printf "redis://%s-master:6379" (include "common.names.fullname" .Subcharts.redis) }}
{{- end }}
- name: CELERY_RESULT_BACKEND
{{- if .Values.resultBackend }}
value: {{ .Values.resultBackend }}
{{- else }}
value: {{ printf "redis://%s-master:6379" (include "common.names.fullname" .Subcharts.redis) }}
{{- end }}
{{- if .Values.gracedbSandboxed.enabled }}
- name: REQUESTS_CA_BUNDLE
value: /home/gwcelery/cacerts.pem
{{- end }}
- name: LIGO_DATAFIND_SERVER
value: {{ .Values.ligoDatafindServer }}
{{- end -}}
{{- define "gwcelery.celery.base.volumeMounts" -}}
- name: secrets-copy
mountPath: /home/gwcelery/.netrc
subPath: netrc
- name: xdg-config
mountPath: /home/gwcelery/.config
- name: secrets-copy
mountPath: /home/gwcelery/.config/hop/auth.toml
subPath: auth.toml
- name: secrets-copy
mountPath: /tmp/x509up_u1000
subPath: x509up_u1000
- name: secrets-copy
mountPath: /tmp/secrets-copy
- name: secrets
mountPath: /tmp/secrets
- name: probe
mountPath: /home/gwcelery/probe.py
subPath: probe.py
{{- if .Values.celeryConfig }}
- name: config
mountPath: /home/gwcelery/gwcelery/gwcelery/conf/helm-k8s.py
subPath: helm-k8s.py
{{- end }}
{{- if .Values.gracedbSandboxed.enabled }}
- name: cabundle
mountPath: /home/gwcelery/cacerts.pem
subPath: cacerts.pem
{{- end }}
{{- end -}}
{{- define "gwcelery.celery.base.volumes" -}}
- name: secrets
secret:
defaultMode: 0640
secretName: {{ include "gwcelery.fullname" . }}-secrets
- name: secrets-copy
emptyDir: {}
- name: xdg-config
emptyDir: {}
- name: probe
configMap:
name: {{ include "gwcelery.fullname" . }}-probe
defaultMode: 0770
{{- if .Values.celeryConfig }}
- name: config
configMap:
defaultMode: 0640
name: "gwcelery-config"
{{- end }}
{{- if .Values.gracedbSandboxed.enabled }}
- name: cabundle
emptyDir: {}
- name: gracedb-ca
secret:
secretName: {{ .Values.gracedbSandboxed.caSecret }}
{{- end }}
{{- end -}}
{{/*
Expand the name of the chart.
*/}}
{{- define "gwcelery.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "gwcelery.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "gwcelery.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "gwcelery.labels" -}}
helm.sh/chart: {{ include "gwcelery.chart" . }}
{{ include "gwcelery.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "gwcelery.selectorLabels" -}}
app.kubernetes.io/name: {{ include "gwcelery.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "gwcelery.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "gwcelery.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{- define "gwcelery.image" -}}
"{{ .Values.image.repository }}:{{ .Values.image.tag }}"
{{- end }}
{{ if .Values.celery.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-celery
spec:
replicas: {{ .Values.celery.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: celery
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "worker"
- "-l"
- "{{ .Values.celery.loglevel }}"
- "-Q"
- "celery"
- "-B"
- "-c"
- "{{ .Values.celery.concurrency }}"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts:
{{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
- name: frames
mountPath: /data/lowlatency
resources:
limits: {{- toYaml .Values.celery.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
{{- if .Values.celery.gwfProducer.enabled }}
- name: kafka2gwf
image: rhyspoulton/escape:kafka-gwf-producer
volumeMounts:
- name: frames
mountPath: /data/lowlatency
env:
- name: NUM_FILES
value: "1800"
{{- end }}
securityContext:
fsGroup: 1000
volumes:
{{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
- name: frames
emptyDir: {}
#emptyDir:
# medium: "Memory"
# sizeLimit: {{ .Values.framesDirSize }}
{{ end }}
{{ if .Values.embright.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-embright
spec:
replicas: {{ .Values.embright.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: embright
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "worker"
- "-l"
- "{{ .Values.embright.loglevel }}"
- "-Q"
- "em-bright"
- "-B"
- "-c"
- "{{ .Values.embright.concurrency }}"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts:
{{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.embright.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes:
{{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
{{ if .Values.exttrig.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-exttrig
spec:
replicas: 1
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: exttrig
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "gwcelery"
- "worker"
- "-l"
- "{{ .Values.exttrig.loglevel }}"
- "-Q"
- "exttrig"
- "-c"
- "1"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.exttrig.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "gwcelery.fullname" . }}-flask
spec:
type: {{ .Values.flask.service.type }}
selector:
app: {{ include "gwcelery.fullname" . }}-flask
ports:
- port: 5000
{{ if .Values.flask.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-flask
spec:
replicas: {{ .Values.flask.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: flask
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args: ["gwcelery", "flask", "run", "-h", "0.0.0.0"]
env:
{{- include "gwcelery.celery.base.env" . | nindent 12 }}
- name: APP_PREFIX
value: /flask
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
ports:
- name: http
containerPort: 5000
protocol: TCP
resources:
limits: {{- toYaml .Values.flask.resources | nindent 14 }}
securityContext:
fsGroup: 1000
volumes:
{{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
- name: views
configMap:
name: "flask-views"
{{ end }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "gwcelery.fullname" . }}-flower
spec:
type: {{ .Values.flower.service.type }}
selector:
app: {{ include "gwcelery.fullname" . }}-flower
ports:
- port: 5555
{{ if .Values.flower.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-flower
spec:
replicas: {{ .Values.flower.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: flower
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args: ["gwcelery", "flower", "--url-prefix=flower/"]
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
ports:
- name: http
containerPort: 5555
protocol: TCP
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.flower.resources | nindent 14 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: flask-views
data:
{{- range $path,$_ := .Files.Glob "files/views.py" }}
views.py: |-
{{ $.Files.Get $path | indent 4 }}
{{- end }}
---
{{- if .Values.celeryConfig }}
apiVersion: v1
kind: ConfigMap
metadata:
name: gwcelery-config
data:
helm-k8s.py: | {{- .Values.celeryConfig | nindent 4 }}
{{- end }}
{{ if .Values.gwskynet.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-gwskynet
spec:
replicas: {{ .Values.celery.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: gwskynet
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "gwcelery"
- "worker"
- "-l"
- "{{ .Values.gwskynet.loglevel }}"
- "-Q"
- "skynet"
- "-c"
- "{{ .Values.gwskynet.concurrency }}"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
- name: OMP_NUM_THREADS
value: "{{ .Values.gwskynet.threads }}"
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.gwskynet.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
{{ if .Values.igwn_alert_receiver.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-igwn-alert-receiver
spec:
replicas: 1
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: igwn-alert-receiver
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "worker"
- "-l"
- "{{ .Values.igwn_alert_receiver.loglevel }}"
- "-Q"
- "igwn-alert-receiver"
- "-B"
- "-c"
- "1"
- "--igwn-alert"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts:
{{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
- name: frames
mountPath: /data/lowlatency
resources:
limits: {{- toYaml .Values.celery.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes:
{{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
- name: frames
emptyDir: {}
#emptyDir:
# medium: "Memory"
# sizeLimit: {{ .Values.framesDirSize }}
{{- end }}
{{ if .Values.ingress.enabled }}
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ include "gwcelery.fullname" . }}-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.frontend.passHostHeader: "true"
traefik.ingress.kubernetes.io/affinity: "true"
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`{{ .Values.ingress.host }}`) && PathPrefix(`/flower`)
middlewares:
- name: client-cert
services:
- name: {{ include "gwcelery.fullname" . }}-flower
port: 5555
weight: 10
passHostHeader: true
scheme: http
- kind: Rule
match: Host(`{{ .Values.ingress.host }}`) && PathPrefix(`/flask`)
middlewares:
- name: client-cert
services:
- name: {{ include "gwcelery.fullname" . }}-flask
port: 5000
weight: 10
passHostHeader: true
scheme: http
tls:
secretName: gracedb-cert-tls
options:
name: client-auth
{{ end }}
{{ if .Values.kafkaconsumer.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-kafkaconsumer
spec:
replicas: 1
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: kafkaconsumer
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "gwcelery"
- "worker"
- "-l"
- "{{ .Values.kafkaconsumer.loglevel }}"
- "-Q"
- "kafka-consumer"
- "-P"
- "solo"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.kafkaconsumer.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
{{ if .Values.kafkaproducer.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-kafkaproducer
spec:
replicas: 1
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: kafkaproducer
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "worker"
- "-l"
- "{{ .Values.kafkaproducer.loglevel }}"
- "-Q"
- "kafka-producer"
- "-P"
- "solo"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.kafkaproducer.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
{{ if .Values.multiprocessing.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: &name {{ include "gwcelery.fullname" . }}-multiprocessing
spec:
replicas: {{ .Values.celery.replicas }}
selector:
matchLabels:
app: *name
template:
metadata:
labels:
app: *name
annotations: {{- include "gwcelery.celery.configHash" . | nindent 8 }}
spec:
{{- include "gwcelery.celery.hostAliases" . | nindent 6 }}
imagePullSecrets: {{- toYaml .Values.imagePullSecrets | nindent 8 }}
initContainers: {{- include "gwcelery.celery.base.initContainers" . | nindent 8 }}
containers:
- name: multiprocessing
image: {{ include "gwcelery.image" . }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
args:
- "worker"
- "-l"
- "{{ .Values.multiprocessing.loglevel }}"
- "-Q"
- "multiprocessing"
- "-c"
- "{{ .Values.multiprocessing.concurrency }}"
env: {{- include "gwcelery.celery.base.env" . | nindent 12 }}
- name: OMP_NUM_THREADS
value: "{{ .Values.multiprocessing.threads }}"
volumeMounts: {{- include "gwcelery.celery.base.volumeMounts" . | nindent 12 }}
resources:
limits: {{- toYaml .Values.multiprocessing.resources | nindent 14 }}
{{- include "gwcelery.celery.probes" . | nindent 10 }}
securityContext:
fsGroup: 1000
volumes: {{- include "gwcelery.celery.base.volumes" . | nindent 8 }}
{{ end }}
# This service is actually not needed,
# but it is required by the StatefulSet template.
apiVersion: v1
kind: Service
metadata:
name: &name {{ include "gwcelery.fullname" . }}-openmp
spec:
selector:
app: *name
clusterIP: None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment