homelab/ansible/playbooks/HashicorpStack.yml

56 lines
1.4 KiB
YAML
Raw Permalink Normal View History

2022-11-29 20:23:44 +00:00
---
- name: Consul install
hosts: all
roles:
- role: ansible-consul
become: true
2023-10-29 14:35:11 +00:00
- name: Vault install
hosts: homelab
roles:
- role: ansible-hashicorp-vault
2023-08-26 15:30:41 +00:00
become: true
2023-10-29 14:35:11 +00:00
post_tasks:
- name: Stat root file
ansible.builtin.stat:
path: "{{ vault_unseal_keys_dir_output }}/rootkey"
register: rootkey_exist
delegate_to: localhost
2024-01-09 17:49:36 +00:00
- name: Reading root contents
ansible.builtin.command: cat "{{ vault_unseal_keys_dir_output }}/rootkey"
register: root_token
delegate_to: localhost
when: rootkey_exist.stat.exists
2024-01-09 17:49:36 +00:00
changed_when: false
- name: debug
ansible.builtin.debug:
var: root_token
2023-10-29 14:35:11 +00:00
- name: Generate nomad token
community.hashi_vault.vault_token_create:
renewable: true
policies: "nomad-server-policy"
period: 72h
no_parent: true
2024-01-09 17:49:36 +00:00
token: "{{ root_token.stdout }}"
url: "http://active.vault.service.consul:8200"
2023-10-29 14:35:11 +00:00
retries: 4
run_once: true
delegate_to: localhost
2024-01-09 17:49:36 +00:00
when: root_token.stdout is defined
2023-10-29 14:35:11 +00:00
register: nomad_token_data
- name: Gather nomad token
ansible.builtin.set_fact:
nomad_vault_token: "{{ nomad_token_data.login.auth.client_token }}"
when: nomad_token_data.login is defined
2023-10-29 14:35:11 +00:00
- name: nomad
2023-10-29 14:35:11 +00:00
hosts: all
vars:
unseal_keys_dir_output: ~/vaultunseal
roles:
- role: ansible-nomad
become: true
- role: docker
become: true