mirror of
https://github.com/appuio/appuio-pruner.git
synced 2026-02-05 09:45:36 +01:00
72 lines
2.2 KiB
YAML
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
|