aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/playbooks
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-01-15 18:27:35 +0100
committeralex <alex@pdp7.net>2023-01-15 18:27:35 +0100
commit9aeadbe40350e551c524943c24bd7994af58f381 (patch)
treedebbe6846f440b4470cf0c13a2a9c91f92ec4981 /personal_infra/playbooks
parentb21a9114b3712dfa40845359ad6f67da1723dd0d (diff)
Simplify variable use, add fact support
Diffstat (limited to 'personal_infra/playbooks')
-rw-r--r--personal_infra/playbooks/apply_puppet.yml35
1 files changed, 27 insertions, 8 deletions
diff --git a/personal_infra/playbooks/apply_puppet.yml b/personal_infra/playbooks/apply_puppet.yml
index 0a9068b5..781678f3 100644
--- a/personal_infra/playbooks/apply_puppet.yml
+++ b/personal_infra/playbooks/apply_puppet.yml
@@ -23,19 +23,38 @@
content: |
version: 5
hierarchy:
- - name: ansible
- path: vars.json
+ - name: hostvars
+ path: hostvars.json
data_hash: json_data
+ - name: this
+ path: this.json
+ data_hash: json_data
+ delegate_to: 127.0.0.1
+ - name: dump hostvars
+ copy:
+ dest: "{{ local_temp.path }}/data/hostvars.json"
+ content: "{'hostvars': {{ hostvars }} }"
+ delegate_to: 127.0.0.1
+ - name: dump this
+ copy:
+ dest: "{{ local_temp.path }}/data/this.json"
+ content: "{{ hostvars[inventory_hostname] }}"
+ delegate_to: 127.0.0.1
+ - name: get facts
+ command: facter -y
+ register: facter_output
+ - name: create facts directory in local temp
+ file:
+ path: "{{ local_temp.path }}/yaml/facts"
+ state: directory
delegate_to: 127.0.0.1
- - name: dump all vars
+ - name: dump facts
copy:
- dest: "{{ local_temp.path }}/data/vars.json"
- content: "{{ hostvars }}"
+ dest: "{{ local_temp.path }}/yaml/facts/{{ inventory_hostname }}.yaml"
+ content: "--- !ruby/object:Puppet::Node::Facts\nvalues:\n {{ facter_output.stdout | indent(width=2) }}"
delegate_to: 127.0.0.1
- name: compile catalogs
- command: puppet catalog compile --modulepath={{ inventory_dir }}/puppet/modules --hiera_config={{ local_temp.path }}/hiera.yaml --manifest={{ inventory_dir }}/puppet/site --terminus compiler {{ inventory_hostname }}
- environment:
- FACTER_ansible_inventory_hostname: "{{ inventory_hostname }}"
+ command: puppet catalog compile --modulepath={{ inventory_dir }}/puppet/modules --hiera_config={{ local_temp.path }}/hiera.yaml --manifest={{ inventory_dir }}/puppet/site --terminus compiler --vardir {{ local_temp.path }}/ --facts_terminus yaml {{ inventory_hostname }}
delegate_to: 127.0.0.1
register: catalog
- name: install puppet