]> xn--ix-yja.es Git - alex.git/commitdiff
Add support for remote Puppet modules
authoralex <alex@pdp7.net>
Sat, 28 Jan 2023 16:35:48 +0000 (17:35 +0100)
committeralex <alex@pdp7.net>
Sat, 28 Jan 2023 16:36:10 +0000 (17:36 +0100)
personal_infra/playbooks/roles/apply_puppet/tasks/main.yml

index 627d2929413d7fcbbfd182dbf2b22d8500663705..0b8560a8c924e76a4963c81a41460ec25b2e106c 100644 (file)
   package:
     name: epel-release
   when: ansible_distribution_file_variety == 'RedHat'
-- name: install puppet
+- name: install packages
   package:
-    name: puppet
+    name:
+      - puppet
+      - tar
 - name: get facts
   command: facter -y
   register: facter_output
     dest: "{{ remote_temp.path }}/catalog.json"
     content: "{{ catalog.stdout | regex_replace('\\A.*?\\n', multiline=True) }}"
   tags: puppet_fast
+- name: package modules
+  archive:
+    path: ../puppet/modules
+    dest: "{{ local_temp.path }}/puppet_modules.tar.gz"
+  delegate_to: 127.0.0.1
+  tags: puppet_fast
+- name: unpackage modules
+  unarchive:
+    src: "{{ local_temp.path }}/puppet_modules.tar.gz"
+    dest: "{{ remote_temp.path }}"
+  tags: puppet_fast
 - name: preview catalog
-  command: puppet apply --catalog {{ remote_temp.path }}/catalog.json --noop --test
+  command: puppet apply --catalog {{ remote_temp.path }}/catalog.json --noop --test --modulepath={{ remote_temp.path }}/modules/
   register: catalog_apply
   tags: puppet_fast
 - name: display catalog preview stdout
   pause:
   tags: pause
 - name: apply catalog
-  command: puppet apply --catalog {{ remote_temp.path }}/catalog.json
+  command: puppet apply --catalog {{ remote_temp.path }}/catalog.json --modulepath={{ remote_temp.path }}/modules/
   register: catalog_apply
   tags: puppet_fast
 - name: display catalog apply stdout