diff --git a/src/roles/foreman/tasks/main.yaml b/src/roles/foreman/tasks/main.yaml index f1793750..0964a9be 100644 --- a/src/roles/foreman/tasks/main.yaml +++ b/src/roles/foreman/tasks/main.yaml @@ -202,3 +202,27 @@ username: "{{ foreman_initial_admin_username }}" password: "{{ foreman_initial_admin_password }}" validate_certs: false + +- name: Deploy Quadlet container and timer for Foreman db:sessions:clear + block: + - name: Create Quadlet container definition + ansible.builtin.template: + src: foreman-db-sessions-clear.container.j2 + dest: "/etc/containers/systemd/foreman-db-sessions-clear.container" + mode: "0644" + + - name: Create Quadlet timer definition + ansible.builtin.template: + src: foreman-db-sessions-clear.timer.j2 + dest: "/etc/containers/systemd/foreman-db-sessions-clear.timer" + mode: "0644" + + - name: Reload systemd for db:sessions:clear timer + ansible.builtin.systemd: + daemon_reload: true + + - name: Enable and start Foreman db:sessions:clear timer + ansible.builtin.systemd: + name: "foreman-db-sessions-clear.timer" + enabled: true + state: started diff --git a/src/roles/foreman/templates/foreman-db-sessions-clear.container.j2 b/src/roles/foreman/templates/foreman-db-sessions-clear.container.j2 new file mode 100644 index 00000000..d718743f --- /dev/null +++ b/src/roles/foreman/templates/foreman-db-sessions-clear.container.j2 @@ -0,0 +1,14 @@ +[Unit] +Description=Foreman recurring task: db:sessions:clear + +[Container] +Image={{ foreman_container_image }}:{{ foreman_container_tag }} +Exec=foreman-rake db:sessions:clear +User=foreman +WorkingDir=/usr/share/foreman +Volume=/etc/foreman:/etc/foreman:ro +Volume=/var/lib/foreman:/var/lib/foreman +Network=host + +[Install] +WantedBy=multi-user.target diff --git a/src/roles/foreman/templates/foreman-db-sessions-clear.timer.j2 b/src/roles/foreman/templates/foreman-db-sessions-clear.timer.j2 new file mode 100644 index 00000000..6a5e3820 --- /dev/null +++ b/src/roles/foreman/templates/foreman-db-sessions-clear.timer.j2 @@ -0,0 +1,9 @@ +[Unit] +Description=Timer for Foreman db:sessions:clear task + +[Timer] +OnCalendar=*-*-* 23:15:00 +Persistent=true + +[Install] +WantedBy=timers.target