mirror of
https://github.com/ansible/awx-operator.git
synced 2026-03-26 21:33:14 +00:00
Enable fallback to global settings for db-migration job scheduling (#1804) Modified the db-migration job template to use `task_*` settings with a fallback to global AWX configurations if not specified.
105 lines
3.5 KiB
Django/Jinja
105 lines
3.5 KiB
Django/Jinja
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: '{{ ansible_operator_meta.name }}-migration-{{ version }}'
|
|
namespace: '{{ ansible_operator_meta.namespace }}'
|
|
labels:
|
|
{{ lookup("template", "../common/templates/labels/common.yaml.j2") | indent(width=4) | trim }}
|
|
{{ lookup("template", "../common/templates/labels/version.yaml.j2") | indent(width=4) | trim }}
|
|
spec:
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: "migration-job"
|
|
image: '{{ _image }}'
|
|
command:
|
|
- awx-manage
|
|
- migrate
|
|
- --noinput
|
|
volumeMounts:
|
|
- name: {{ ansible_operator_meta.name }}-application-credentials
|
|
mountPath: "/etc/tower/conf.d/credentials.py"
|
|
subPath: credentials.py
|
|
readOnly: true
|
|
- name: "{{ secret_key_secret_name }}"
|
|
mountPath: /etc/tower/SECRET_KEY
|
|
subPath: SECRET_KEY
|
|
readOnly: true
|
|
- name: {{ ansible_operator_meta.name }}-settings
|
|
mountPath: "/etc/tower/settings.py"
|
|
subPath: settings.py
|
|
readOnly: true
|
|
{% if development_mode | bool %}
|
|
- name: awx-devel
|
|
mountPath: "/awx_devel"
|
|
{% endif %}
|
|
serviceAccountName: '{{ ansible_operator_meta.name }}'
|
|
{% if image_pull_secret is defined %}
|
|
imagePullSecrets:
|
|
- name: {{ image_pull_secret }}
|
|
{% elif image_pull_secrets | length > 0 %}
|
|
imagePullSecrets:
|
|
{% for secret in image_pull_secrets %}
|
|
- name: {{ secret }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% if task_node_selector %}
|
|
nodeSelector:
|
|
{{ task_node_selector | indent(width=8) }}
|
|
{% elif node_selector %}
|
|
nodeSelector:
|
|
{{ node_selector | indent(width=8) }}
|
|
{% endif %}
|
|
{% if task_topology_spread_constraints %}
|
|
topologySpreadConstraints:
|
|
{{ task_topology_spread_constraints | indent(width=8) }}
|
|
{% elif topology_spread_constraints %}
|
|
topologySpreadConstraints:
|
|
{{ topology_spread_constraints | indent(width=8) }}
|
|
{% endif %}
|
|
{% if task_tolerations %}
|
|
tolerations:
|
|
{{ task_tolerations | indent(width=8) }}
|
|
{% elif tolerations %}
|
|
tolerations:
|
|
{{ tolerations | indent(width=8) }}
|
|
{% endif %}
|
|
{% if task_affinity %}
|
|
affinity:
|
|
{{ task_affinity | to_nice_yaml | indent(width=8) }}
|
|
{% elif affinity %}
|
|
affinity:
|
|
{{ affinity | to_nice_yaml | indent(width=8) }}
|
|
{% endif %}
|
|
volumes:
|
|
- name: "{{ ansible_operator_meta.name }}-application-credentials"
|
|
secret:
|
|
secretName: "{{ ansible_operator_meta.name }}-app-credentials"
|
|
items:
|
|
- key: credentials.py
|
|
path: 'credentials.py'
|
|
- key: ldap.py
|
|
path: 'ldap.py'
|
|
- key: execution_environments.py
|
|
path: 'execution_environments.py'
|
|
- name: "{{ secret_key_secret_name }}"
|
|
secret:
|
|
secretName: '{{ secret_key_secret_name }}'
|
|
items:
|
|
- key: secret_key
|
|
path: SECRET_KEY
|
|
- name: {{ ansible_operator_meta.name }}-settings
|
|
configMap:
|
|
name: '{{ ansible_operator_meta.name }}-{{ deployment_type }}-configmap'
|
|
items:
|
|
- key: settings
|
|
path: settings.py
|
|
{% if development_mode | bool %}
|
|
- name: awx-devel
|
|
hostPath:
|
|
path: /awx_devel
|
|
{% endif %}
|
|
dnsPolicy: ClusterFirst
|
|
restartPolicy: Never
|
|
terminationGracePeriodSeconds: 30
|