From 7afdaa1955c81f6374b31493c13131d9d9ef8333 Mon Sep 17 00:00:00 2001 From: "Manuel Amador (Rudd-O)" Date: Mon, 28 Dec 2015 03:49:49 +0000 Subject: [PATCH] first sample playbook added --- examples/README.md | 2 ++ examples/sampleplaybooks/README.md | 10 ++++++++++ .../wakeupservice/wakeup.service.j2 | 13 +++++++++++++ examples/sampleplaybooks/wakeupservice/wakeup.sh | 3 +++ .../wakeupservice/wakeupservice.yml | 16 ++++++++++++++++ 5 files changed, 44 insertions(+) create mode 100644 examples/sampleplaybooks/README.md create mode 100644 examples/sampleplaybooks/wakeupservice/wakeup.service.j2 create mode 100644 examples/sampleplaybooks/wakeupservice/wakeup.sh create mode 100644 examples/sampleplaybooks/wakeupservice/wakeupservice.yml diff --git a/examples/README.md b/examples/README.md index a136c1e..88b4686 100644 --- a/examples/README.md +++ b/examples/README.md @@ -8,3 +8,5 @@ as templates to get your own automation started. * [ansible/](ansible/) contains a basic example Ansible setup. * [qubesformation/](qubesformation/) details how to use the Qubes formation Ansible module, used to provision VMs and enforce state on those VMs. +* [sampleplaybooks](sampleplaybooks/) contains a few sample playbooks + you can base your work upon. More samples are always welcome. diff --git a/examples/sampleplaybooks/README.md b/examples/sampleplaybooks/README.md new file mode 100644 index 0000000..8b26fc3 --- /dev/null +++ b/examples/sampleplaybooks/README.md @@ -0,0 +1,10 @@ +Qubes OS DevOps automation toolkit: sample playbooks +============================================ + +Here are a few sample playbooks. These assume that you already have an +[Ansible Qubes setup](../examples/ansible/) going, and so that consequently +you can drop the files of the example directly into your setup. + +* [wakeupservice/](wakeupservice/) sets up a post-wakeup systemd service + in your templates. This service is not controllable via the Qubes OS + service preferences for your VMs, [but it could be](../ansible/qubes-service.yml). diff --git a/examples/sampleplaybooks/wakeupservice/wakeup.service.j2 b/examples/sampleplaybooks/wakeupservice/wakeup.service.j2 new file mode 100644 index 0000000..bb586b8 --- /dev/null +++ b/examples/sampleplaybooks/wakeupservice/wakeup.service.j2 @@ -0,0 +1,13 @@ +[Unit] +Description=Run wakeup.sh after suspend +After=basic.target +After=suspend.target +After=hibernate.target + +[Service] +ExecStart=/usr/local/bin/wakeup.sh + +[Install] +WantedBy=basic.target +WantedBy=suspend.target +WantedBy=hibernate.target diff --git a/examples/sampleplaybooks/wakeupservice/wakeup.sh b/examples/sampleplaybooks/wakeupservice/wakeup.sh new file mode 100644 index 0000000..603168b --- /dev/null +++ b/examples/sampleplaybooks/wakeupservice/wakeup.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "I ran after suspend/hibernate" diff --git a/examples/sampleplaybooks/wakeupservice/wakeupservice.yml b/examples/sampleplaybooks/wakeupservice/wakeupservice.yml new file mode 100644 index 0000000..7393fd7 --- /dev/null +++ b/examples/sampleplaybooks/wakeupservice/wakeupservice.yml @@ -0,0 +1,16 @@ +--- +- hosts: templatevms + sudo: True + tasks: + - name: set up service + template: + src: wakeup.service.j2 + dest: /etc/systemd/system/wakeup.service + mode: 0644 + - name: activate service on next boot + service: name=wakeup enabled=True + - name: copy shell script + copy: + src: wakeup.sh + dest: /usr/local/bin/wakeup.sh + mode: 0755