forked from CCCHH/ansible-infra
renovate(role): introduce first basic Renovate role
Sets up Renovate using Docker and systemd service and timer to run regularly. Also add accompanying host group and playbook play.
This commit is contained in:
parent
dce4e7c4d4
commit
8388657d33
9 changed files with 95 additions and 0 deletions
|
|
@ -195,3 +195,5 @@ ansible_pull_hosts:
|
||||||
wiki:
|
wiki:
|
||||||
msmtp_hosts:
|
msmtp_hosts:
|
||||||
hosts:
|
hosts:
|
||||||
|
renovate_hosts:
|
||||||
|
hosts:
|
||||||
|
|
|
||||||
|
|
@ -88,5 +88,10 @@
|
||||||
roles:
|
roles:
|
||||||
- msmtp
|
- msmtp
|
||||||
|
|
||||||
|
- name: Ensure Renovate is setup on renovate_hosts
|
||||||
|
hosts: renovate_hosts
|
||||||
|
roles:
|
||||||
|
- renovate
|
||||||
|
|
||||||
- name: Run ensure_eh22_styleguide_dir Playbook
|
- name: Run ensure_eh22_styleguide_dir Playbook
|
||||||
ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml
|
ansible.builtin.import_playbook: ensure_eh22_styleguide_dir.yaml
|
||||||
|
|
|
||||||
11
roles/renovate/README.md
Normal file
11
roles/renovate/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Role `renovate`
|
||||||
|
|
||||||
|
A role for setting up [Renovate](https://docs.renovatebot.com/).
|
||||||
|
|
||||||
|
## Supported Distributions
|
||||||
|
|
||||||
|
Should work on Debian-based distributions.
|
||||||
|
|
||||||
|
## Required Arguments
|
||||||
|
|
||||||
|
- `renovate__config`: The Renovate config to deploy.
|
||||||
10
roles/renovate/files/renovate.service
Normal file
10
roles/renovate/files/renovate.service
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=renovate
|
||||||
|
After=network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/bin/docker run --rm \
|
||||||
|
-v "/etc/renovate/config.js:/usr/src/app/config.js" \
|
||||||
|
renovate/renovate
|
||||||
8
roles/renovate/files/renovate.timer
Normal file
8
roles/renovate/files/renovate.timer
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
[Unit]
|
||||||
|
Description=renovate running every 15 minutes
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* *:00,15,30,45:00
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
4
roles/renovate/handlers/main.yaml
Normal file
4
roles/renovate/handlers/main.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
- name: systemd daemon reload
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
daemon_reload: true
|
||||||
|
become: true
|
||||||
6
roles/renovate/meta/argument_specs.yaml
Normal file
6
roles/renovate/meta/argument_specs.yaml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
argument_specs:
|
||||||
|
main:
|
||||||
|
options:
|
||||||
|
renovate__config:
|
||||||
|
type: str
|
||||||
|
required: true
|
||||||
3
roles/renovate/meta/main.yaml
Normal file
3
roles/renovate/meta/main.yaml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
dependencies:
|
||||||
|
- role: docker
|
||||||
46
roles/renovate/tasks/main.yaml
Normal file
46
roles/renovate/tasks/main.yaml
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
- name: ensure renovate config directory exists
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /etc/renovate
|
||||||
|
state: directory
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0755"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: ensure renovate config
|
||||||
|
ansible.builtin.copy:
|
||||||
|
content: "{{ renovate__config }}"
|
||||||
|
dest: /etc/renovate/config.js
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0640"
|
||||||
|
become: true
|
||||||
|
|
||||||
|
- name: ensure systemd service exists
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: renovate.service
|
||||||
|
dest: /etc/systemd/system/renovate.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
become: true
|
||||||
|
notify:
|
||||||
|
- systemd daemon reload
|
||||||
|
|
||||||
|
- name: ensure systemd timer exists
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: renovate.timer
|
||||||
|
dest: /etc/systemd/system/renovate.timer
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: "0644"
|
||||||
|
become: true
|
||||||
|
notify:
|
||||||
|
- systemd daemon reload
|
||||||
|
|
||||||
|
- name: ensure systemd timer is started and enabled
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: renovate.timer
|
||||||
|
state: started
|
||||||
|
enabled: true
|
||||||
|
become: true
|
||||||
Loading…
Add table
Add a link
Reference in a new issue