aboutsummaryrefslogtreecommitdiff
path: root/personal_infra
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2022-12-17 18:39:24 +0100
committeralex <alex@pdp7.net>2022-12-17 18:39:24 +0100
commit95338d2f1be9d9f73658ed0e7dd681413e03b393 (patch)
tree693d9258f0a303be214eb9f418f7dc7728bd7af3 /personal_infra
parentc22498cab296fe125251ba7976c6bf06a816efaf (diff)
Add basic Puppet support
Diffstat (limited to 'personal_infra')
-rw-r--r--personal_infra/playbooks/apply_puppet.yml40
-rw-r--r--personal_infra/puppet/site/h1.pdp7.net.pp2
2 files changed, 42 insertions, 0 deletions
diff --git a/personal_infra/playbooks/apply_puppet.yml b/personal_infra/playbooks/apply_puppet.yml
new file mode 100644
index 00000000..5267f1ec
--- /dev/null
+++ b/personal_infra/playbooks/apply_puppet.yml
@@ -0,0 +1,40 @@
+---
+- name: apply puppet config
+ hosts: all
+ collections:
+ - ansible.builtin
+ - community.general
+
+ tasks:
+ - name: install puppet
+ package:
+ name: puppet
+ - name: create local temporary directory
+ tempfile:
+ state: directory
+ register: local_temp
+ delegate_to: 127.0.0.1
+ - name: create remote temporary directory
+ tempfile:
+ state: directory
+ register: remote_temp
+ - name: package manifests
+ archive:
+ path: ../puppet
+ dest: "{{ local_temp.path }}/puppet.tar.gz"
+ delegate_to: 127.0.0.1
+ - name: unpackage manifests
+ unarchive:
+ src: "{{ local_temp.path }}/puppet.tar.gz"
+ dest: "{{ remote_temp.path }}"
+ - name: run puppet
+ command: puppet apply {{ remote_temp.path }}
+ - name: clean up local temporary directory
+ file:
+ state: absent
+ path: "{{ local_temp.path}}"
+ delegate_to: 127.0.0.1
+ - name: clean up remote temporary directory
+ file:
+ state: absent
+ path: "{{ remote_temp.path }}"
diff --git a/personal_infra/puppet/site/h1.pdp7.net.pp b/personal_infra/puppet/site/h1.pdp7.net.pp
new file mode 100644
index 00000000..7ddb4c5f
--- /dev/null
+++ b/personal_infra/puppet/site/h1.pdp7.net.pp
@@ -0,0 +1,2 @@
+node 'h1.pdp7.net' {
+}