Tengo una imagen acoplable que recibe un nombre de var env SINCE_DATE .
Creé un cronjob para ejecutar ese contenedor y quiero pasarlo a la fecha actual.
¿Cómo puedo hacerlo?
Al probar esto, obtengo la date -d "yesterday 23:59"
apiVersion: batch/v1beta1 kind: CronJob metadata: name: my-cron spec: schedule: "* * * * *" jobTemplate: spec: template: spec: restartPolicy: Never containers: - name: my-cron image: {{ .Values.image.repository }}:{{ .Values.image.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: SINCE_DATE value: $(date -d "yesterday 23:59")Puede lograrlo overwriting container el comando Entrypoint del contenedor y configurando environment variable . En tu caso se vería así:
containers: - name: my-cron image: nginx #imagePullPolicy: {{ .Values.image.pullPolicy }} command: - bash - -c - | export SINCE_DATE=`date -d "yesterday 23:59"` exec /docker-entrypoint.shNota:
Nginx docker-entrypoint.sh encuentra en / Si su imagen tiene una ruta diferente, debe usarla, por ejemplo, exec /usr/local/bin/docker-entrypoint.sh
Se puede encontrar un caso de uso muy similar en esta pregunta de Stack
¿Qué aporta esta solución?
ENTRYPOINT overwrite la misma secuencia de comandos pero configurada de antemano dinámicamente en la variable de entorno.