ansible-roles/roles/vault/tasks/install.yml

77 lines
1.9 KiB
YAML

---
- name: Install needed tools
package:
name:
- tar
- zstd
- unzip
- jq
tags: vault
- when: vault_install_mode != 'none'
block:
- name: Download vault
get_url:
url: "{{ vault_archive_url }}"
dest: "{{ vault_root_dir }}/tmp"
checksum: sha256:{{ vault_archive_sha256 }}
- name: Extract the archive
unarchive:
src: "{{ vault_root_dir }}/tmp/vault_{{ vault_version }}_linux_amd64.zip"
dest: "{{ vault_root_dir }}/tmp"
remote_src: True
- name: Install vault binary
copy:
src: "{{ vault_root_dir }}/tmp/vault"
dest: "{{ vault_root_dir }}/bin/vault"
remote_src: True
mode: 755
notify: restart vault
- name: Link in /usr/local/bin
file: src={{ vault_root_dir }}/bin/vault dest=/usr/local/bin/vault state=link force=True
tags: vault
- name: Install bash completion support
copy:
content: |
complete -C {{ vault_root_dir }}/bin/vault vault
dest: /etc/bash_completion.d/vault
mode: 0644
tags: vault
- name: Deploy systemd service unit
template: src=vault.service.j2 dest=/etc/systemd/system/vault.service
register: vault_unit
notify: restart vault
tags: vault
- name: Install consul-template unit
template: src=consul-template-vault.service.j2 dest=/etc/systemd/system/consul-template-vault.service
notify: restart consul-template-vault
register: vault_secrets_nomad_unit
tags: vault
- name: Reload systemd
systemd: daemon_reload=True
when: vault_unit.changed or vault_secrets_nomad_unit.changed
tags: vault
- name: Install dehydrated hook
template: src=dehydrated_hook.j2 dest=/etc/dehydrated/hooks_deploy_cert.d/vault mode=755
tags: vault
- name: Install profile script
copy:
content: |
#!/bin/sh
export VAULT_ADDR={{ vault_conf.api_addr }}
dest: /etc/profile.d/vault.sh
mode: 0755
tags: vault