This commit is contained in:
2026-09-17 00:35:04 +02:00
parent 477472f7e8
commit 8efcc9eac6
4 changed files with 91 additions and 34 deletions
+7 -1
View File
@@ -126,4 +126,10 @@
tags: vault_ssh_keys
- name: test
role: test
tags: test
tags: test
- name: fix_router
role: fix_router
tags: fix_router
- name: disable-wakers
role: disable-wakers
tags: disable-wakers
+4 -1
View File
@@ -161,7 +161,10 @@ datacenter:
asus.home.lan:
vars:
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_user: jd
ansible_ssh_user: ansible
ansible_ssh_pass: q
ansible_become_password: q
ansible_become_user: root
vms:
children:
debian13:
+9 -3
View File
@@ -1,3 +1,9 @@
#SPDX-License-Identifier: MIT-0
---
# defaults file for roles/fix_router
vault_version: "2.1.0"
vault_install_dir: "/usr/local/bin"
vault_download_dir: "/tmp"
vault_archive: "vault_{{ vault_version }}_linux_arm64.zip"
vault_binary: "{{ vault_install_dir }}/vault"
vault_url: >-
https://releases.hashicorp.com/vault/{{ vault_version }}/{{ vault_archive }}
vault_checksums_url: >-
https://releases.hashicorp.com/vault/{{ vault_version }}/vault_{{ vault_version }}_SHA256SUMS
+71 -29
View File
@@ -8,40 +8,51 @@
- gpg
- wget
- haproxy
- ca-certificates
- unzip
state: present
update_cache: true
- name: Download HashiCorp GPG key
- name: Download Vault {{ vault_version }} ARM64
ansible.builtin.get_url:
url: https://apt.releases.hashicorp.com/gpg
dest: /tmp/hashicorp.asc
mode: '0644'
url: "{{ vault_url }}"
dest: "{{ vault_download_dir }}/{{ vault_archive }}"
mode: "0644"
- name: Convert HashiCorp GPG key to keyring format
- name: Create Vault extraction directory
ansible.builtin.file:
path: "{{ vault_download_dir }}/vault-{{ vault_version }}"
state: directory
mode: "0755"
- name: Extract Vault
ansible.builtin.unarchive:
src: "{{ vault_download_dir }}/{{ vault_archive }}"
dest: "{{ vault_download_dir }}/vault-{{ vault_version }}"
remote_src: true
creates: "{{ vault_download_dir }}/vault-{{ vault_version }}/vault"
- name: Install Vault binary
ansible.builtin.copy:
src: "{{ vault_download_dir }}/vault-{{ vault_version }}/vault"
dest: "{{ vault_binary }}"
remote_src: true
owner: root
group: root
mode: "0755"
- name: Verify Vault installation
ansible.builtin.command:
cmd: >
gpg --dearmor
-o /usr/share/keyrings/hashicorp-archive-keyring.gpg
/tmp/hashicorp.asc
args:
creates: /usr/share/keyrings/hashicorp-archive-keyring.gpg
cmd: "{{ vault_binary }} version"
register: vault_version_output
changed_when: false
- name: Display installed Vault version
ansible.builtin.debug:
var: vault_version_output.stdout
- name: Add HashiCorp APT repository
ansible.builtin.apt_repository:
repo: >
deb [arch={{ ansible_architecture == 'x86_64' | ternary('amd64', ansible_architecture) }}
signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg]
https://apt.releases.hashicorp.com
{{ ansible_distribution_release }}
main
filename: hashicorp
state: present
- name: Install Vault
ansible.builtin.apt:
name: vault
state: present
update_cache: true
- name: Create service for vault agent
ansible.builtin.copy:
@@ -80,7 +91,7 @@
dest: /opt/vault/scripts/unseal.sh
content: |
#!/usr/bin/env bash
export VAULT_ADDR="http://127.0.0.1:8200"
export VAULT_ADDR="http://192.168.77.1:8200"
SEALED=$(vault status -format=json | jq -r .sealed)
if [ "$SEALED" = "true" ]; then
@@ -97,6 +108,36 @@
group: vault
mode: '0700'
- name: Install Vault systemd service
ansible.builtin.copy:
dest: /etc/systemd/system/vault.service
owner: root
group: root
mode: "0644"
content: |
[Unit]
Description=HashiCorp Vault
Documentation=https://developer.hashicorp.com/vault/docs
Requires=network-online.target
After=network-online.target
[Service]
User=vault
Group=vault
ExecStart=/usr/local/bin/vault server -config=/etc/vault.d/vault.hcl
ExecReload=/bin/kill --signal HUP $MAINPID
KillMode=process
KillSignal=SIGINT
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
- name: Create service
ansible.builtin.copy:
dest: /etc/systemd/system/vault-unseal.service
@@ -126,10 +167,11 @@
mode: '0644'
- name: Enable and start services
ansible.builtin.systemd:
ansible.builtin.systemd_service:
name: "{{ item }}"
enabled: yes
enabled: true
state: started
daemon_reload: true
loop:
- vault
- vault-unseal