]> xn--ix-yja.es Git - alex.git/commitdiff
Add basic Puppet support
authoralex <alex@pdp7.net>
Sat, 17 Dec 2022 17:39:24 +0000 (18:39 +0100)
committeralex <alex@pdp7.net>
Sat, 17 Dec 2022 17:39:24 +0000 (18:39 +0100)
personal_infra/playbooks/apply_puppet.yml [new file with mode: 0644]
personal_infra/puppet/site/h1.pdp7.net.pp [new file with mode: 0644]

diff --git a/personal_infra/playbooks/apply_puppet.yml b/personal_infra/playbooks/apply_puppet.yml
new file mode 100644 (file)
index 0000000..5267f1e
--- /dev/null
@@ -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 (file)
index 0000000..7ddb4c5
--- /dev/null
@@ -0,0 +1,2 @@
+node 'h1.pdp7.net' {
+}