Browse Source

Add CronJob to caduser chart

master
Fábio Kaiser Rauber 19 hours ago
parent
commit
e4345312b9
  1. 103
      charts/caduser/v0.1.0/templates/cronjob.yaml
  2. 16
      charts/caduser/v0.1.0/values.yaml

103
charts/caduser/v0.1.0/templates/cronjob.yaml

@ -0,0 +1,103 @@
{{- if .Values.cronjob.enabled }}
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ include "caduser.fullname" . }}-job-controller
labels:
{{- include "caduser.labels" . | nindent 4 }}
spec:
schedule: {{ .Values.cronjob.schedule | quote }}
successfulJobsHistoryLimit: {{ .Values.cronjob.successfulJobsHistoryLimit }}
failedJobsHistoryLimit: {{ .Values.cronjob.failedJobsHistoryLimit }}
concurrencyPolicy: {{ .Values.cronjob.concurrencyPolicy }}
jobTemplate:
spec:
template:
metadata:
labels:
{{- include "caduser.selectorLabels" . | nindent 12 }}
app.kubernetes.io/component: cronjob
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 12 }}
{{- end }}
serviceAccountName: {{ include "caduser.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 12 }}
restartPolicy: OnFailure
containers:
- name: job-controller
securityContext:
{{- toYaml .Values.securityContext | nindent 16 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- /usr/local/bin/python
- /srv/interlegis/caduser/manage.py
- runjob
- job_controller
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: {{ .Values.postgresql.clusterName }}-app
key: uri
- name: MEMCACHED_LOCATION
value: {{ printf "%s:11211" (include "memcached.fullname" .) | quote }}
- name: ADMINS
value: "{{ .Values.caduser.adminUsers }}"
- name: DEBUG
value: "{{ .Values.caduser.debug }}"
- name: EMAIL_PORT
value: "{{ .Values.caduser.emailPort }}"
- name: EMAIL_HOST
value: "{{ .Values.caduser.emailHost }}"
- name: EMAIL_HOST_USER
value: "{{ .Values.caduser.emailHostUser }}"
- name: EMAIL_HOST_PASSWORD
value: "{{ .Values.caduser.emailHostPassword }}"
- name: EMAIL_SUBJECT_PREFIX
value: "{{ .Values.caduser.emailSubjectPrefix }}"
- name: EMAIL_USE_LOCALTIME
value: "{{ .Values.caduser.emailUseLocaltime }}"
- name: EMAIL_USE_TLS
value: "{{ .Values.caduser.emailUseTls }}"
- name: EMAIL_USE_SSL
value: "{{ .Values.caduser.emailUseSsl }}"
- name: EMAIL_TIMEOUT
value: "{{ .Values.caduser.emailTimeout }}"
- name: DEFAULT_FROM_EMAIL
value: "{{ .Values.caduser.defaultFromEmail }}"
- name: MAXMIND_ACCOUNT_ID
value: "{{ .Values.caduser.maxmindAccountId }}"
- name: MAXMIND_LICENCE_KEY
value: "{{ .Values.caduser.maxmindLicenceKey }}"
- name: MOODLE_BASE_URL
value: "{{ .Values.caduser.moodleBaseUrl }}"
- name: MOODLE_API_TOKEN
value: "{{ .Values.caduser.moodleApiToken }}"
- name: LANG
value: "pt_BR.UTF-8"
volumeMounts:
- mountPath: /srv/interlegis/caduser/media
name: media
resources:
{{- toYaml .Values.cronjob.resources | nindent 16 }}
volumes:
- name: media
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ include "caduser.fullname" . }}-media
{{- else }}
emptyDir: {}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- end }}

16
charts/caduser/v0.1.0/values.yaml

@ -90,7 +90,7 @@ postgresql:
localeProvider: icu localeProvider: icu
icuLocale: pt-BR icuLocale: pt-BR
# Additional initdb parameters can be added here # Additional initdb parameters can be added here
resources: resources:
requests: requests:
cpu: 40m cpu: 40m
@ -129,6 +129,20 @@ autoscaling:
targetCPUUtilizationPercentage: 80 targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80
cronjob:
enabled: true
schedule: "* * * * *"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: Forbid
resources:
requests:
cpu: 35m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
nodeSelector: {} nodeSelector: {}
tolerations: [] tolerations: []

Loading…
Cancel
Save