Bootstrap vault secrets
This commit is contained in:
parent
ff4e473a89
commit
1dad4d22a1
2
Makefile
2
Makefile
@ -57,10 +57,12 @@ venv/bin/ansible:
|
||||
python3 -m venv venv
|
||||
./venv/bin/pip install ansible
|
||||
./venv/bin/pip install python-consul
|
||||
./venv/bin/pip install hvac
|
||||
|
||||
.PHONY: ansible-cluster
|
||||
ansible-cluster: venv/bin/ansible
|
||||
./venv/bin/ansible-galaxy install -p roles -r roles/requirements.yml
|
||||
./venv/bin/ansible-galaxy collection install -r collections/requirements.yml
|
||||
env VIRTUAL_ENV=/Users/ifij/workspace/iamthefij/orchestration-tests/nomad/venv ./venv/bin/ansible-playbook -K -vv \
|
||||
$(shell test -f vault-keys.json && echo '-e "@vault-keys.json"') \
|
||||
-i ansible_hosts.yml -M ./roles ./setup-cluster.yml
|
||||
|
4
collections/requirements.yml
Normal file
4
collections/requirements.yml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
collections:
|
||||
- name: community.hashi_vault
|
||||
version: 3.0.0
|
@ -1,17 +1,18 @@
|
||||
---
|
||||
- src: https://github.com/IamTheFij/ansible-consul.git
|
||||
roles:
|
||||
- src: https://github.com/IamTheFij/ansible-consul.git
|
||||
name: ansible-consul
|
||||
scm: git
|
||||
version: my-main
|
||||
- src: https://github.com/ansible-community/ansible-nomad.git
|
||||
- src: https://github.com/ansible-community/ansible-nomad.git
|
||||
name: ansible-nomad
|
||||
scm: git
|
||||
version: master
|
||||
- src: https://github.com/ansible-community/ansible-vault.git
|
||||
- src: https://github.com/ansible-community/ansible-vault.git
|
||||
name: ansible-vault
|
||||
scm: git
|
||||
version: master
|
||||
# - src: maxhoesel.smallstep
|
||||
# version: 0.4.10
|
||||
- src: geerlingguy.docker
|
||||
# - src: maxhoesel.smallstep
|
||||
# version: 0.4.10
|
||||
- src: geerlingguy.docker
|
||||
version: 4.2.2
|
||||
|
@ -78,6 +78,9 @@
|
||||
- name: Setup Vault cluster
|
||||
hosts: vault_instances
|
||||
|
||||
vars_files:
|
||||
- ./vault_hashi_vault_values.yml
|
||||
|
||||
roles:
|
||||
- name: ansible-vault
|
||||
vars:
|
||||
@ -149,6 +152,25 @@
|
||||
loop: "{{ unseal_keys_hex }}"
|
||||
when: unseal_keys_hex is defined
|
||||
|
||||
- name: Bootstrap Vault secrets
|
||||
delegate_to: localhost
|
||||
run_once: true
|
||||
block:
|
||||
- name: Install hvac
|
||||
pip:
|
||||
name: hvac
|
||||
extra_args: --index-url https://pypi.org/simple
|
||||
|
||||
- name: Write values
|
||||
community.hashi_vault.vault_write:
|
||||
url: "http://{{ inventory_hostname }}:8200"
|
||||
token: "{{ root_token }}"
|
||||
path: "kv/data/{{ item.key }}"
|
||||
data:
|
||||
data:
|
||||
"{{ item.value }}"
|
||||
loop: "{{ hashi_vault_values | default({}) | dict2items }}"
|
||||
|
||||
# Not on Ubuntu 20.04
|
||||
# - name: Install Podman
|
||||
# hosts: nomad_instances
|
||||
|
Loading…
Reference in New Issue
Block a user