22 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| [Unit]
 | |
| Description=ansible-pull for configuration and maintenance
 | |
| After=network-online.target
 | |
| Wants=network-online.target
 | |
| OnFailure=ansible-pull-failure-notify.service
 | |
| 
 | |
| [Service]
 | |
| Type=oneshot
 | |
| Environment="SOPS_AGE_KEY_FILE=/etc/ansible_pull_secrets/age_private_key"
 | |
| ExecStartPre=/usr/bin/bash -c 'if [ ! -e /home/chaos/ansible_pull_checkout ]; then git clone --depth 1 "{{ ansible_pull__repo_url }}" /home/chaos/ansible_pull_checkout ; fi'
 | |
| ExecStartPre=/usr/local/lib/ansible_pull_venv/bin/ansible-galaxy role install -r /home/chaos/ansible_pull_checkout/requirements.yml
 | |
| ExecStartPre=/usr/local/lib/ansible_pull_venv/bin/ansible-galaxy collection install -r /home/chaos/ansible_pull_checkout/requirements.yml
 | |
| ExecStart=/usr/local/lib/ansible_pull_venv/bin/ansible-pull \
 | |
|           --directory /home/chaos/ansible_pull_checkout \
 | |
|           --clean \
 | |
|           --url "{{ ansible_pull__repo_url }}" \
 | |
|           --checkout "{{ ansible_pull__checkout }}" \
 | |
|           --inventory "{{ ansible_pull__inventory }}" \
 | |
|           "{{ ansible_pull__playbook }}"
 | |
| User={{ ansible_pull__user }}
 | |
| # Reboot, if /var/run/reboot-required or /var/run/ansible-reboot-required exist.
 | |
| ExecStartPost=/usr/bin/bash -c 'if [ -e /var/run/reboot-required ] || [ -e /var/run/ansible-reboot-required ]; then sudo systemctl reboot; fi'
 |