1
0
mirror of https://github.com/appuio/appuio-pruner.git synced 2026-02-05 09:45:36 +01:00
Files
appuio-pruner/tasks/pruner-present.yml

72 lines
2.2 KiB
YAML

---
- name: Create temp directory for doing work in
tempfile:
state: directory
register: tempdir
changed_when: false
- block:
- name: Copy templates
with_list:
- appuio-pruner.yml
- appuio-pruner-job.yml
copy:
src: "{{ item }}"
dest: "{{ tempdir.path }}/{{ item }}"
changed_when: false
- name: Apply pruner template
openshift_resource:
namespace: "{{ appuio_pruner_namespace }}"
template: "{{ tempdir.path }}/appuio-pruner.yml"
app_name: appuio-pruner
arguments:
NAMESPACE: "{{ appuio_pruner_namespace }}"
- name: Validate appuio_pruner_disabled_jobs
with_list: "{{ appuio_pruner_disabled_jobs }}"
assert:
that: item in appuio_pruner_jobs
msg: "'{{ item }}' is not a valid job. Valid jobs are '{{ appuio_pruner_jobs | join(', ') }}'."
- name: Install cronjobs
with_list: "{{ appuio_pruner_jobs }}"
when: item not in appuio_pruner_disabled_jobs
vars:
cmd: >-
{{
appuio_pruner_cmd +
appuio_pruner_args[item] +
vars['appuio_pruner_extra_args_' ~ item] | default([])
}}
openshift_resource:
namespace: "{{ appuio_pruner_namespace }}"
template: "{{ tempdir.path }}/appuio-pruner-job.yml"
app_name: appuio-pruner
arguments:
KIND: "{{ item }}"
IMAGE: "{{ appuio_pruner_image }}"
SCHEDULE: "{{ appuio_pruner_schedule }}"
COMMAND: "{{ cmd | to_json }}"
CPU_REQUEST: "{{ appuio_pruner_cpu_request }}"
CPU_LIMIT: "{{ appuio_pruner_cpu_limit }}"
MEMORY_REQUEST: "{{ appuio_pruner_memory_request }}"
MEMORY_LIMIT: "{{ appuio_pruner_memory_limit }}"
- name: Remove disabled cronjobs
ignore_errors: true
with_list: "{{ appuio_pruner_disabled_jobs }}"
command: >-
oc -n {{ appuio_pruner_namespace | quote }}
delete cronjob "prune-{{ item }}"
register: r_remove_cronjob
changed_when: r_remove_cronjob.rc == 0
vars:
appuio_pruner_jobs: [builds, deployments, images]
always:
- name: Delete temp directory
file:
path: "{{ tempdir.path }}"
state: absent
changed_when: false