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
+6
View File
@@ -127,3 +127,9 @@
- name: test - name: test
role: 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: asus.home.lan:
vars: vars:
ansible_python_interpreter: /usr/bin/python3 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: vms:
children: children:
debian13: debian13:
+9 -3
View File
@@ -1,3 +1,9 @@
#SPDX-License-Identifier: MIT-0 vault_version: "2.1.0"
--- vault_install_dir: "/usr/local/bin"
# defaults file for roles/fix_router 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 - gpg
- wget - wget
- haproxy - haproxy
- ca-certificates
- unzip
state: present state: present
update_cache: true update_cache: true
- name: Download HashiCorp GPG key - name: Download Vault {{ vault_version }} ARM64
ansible.builtin.get_url: ansible.builtin.get_url:
url: https://apt.releases.hashicorp.com/gpg url: "{{ vault_url }}"
dest: /tmp/hashicorp.asc dest: "{{ vault_download_dir }}/{{ vault_archive }}"
mode: '0644' 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: ansible.builtin.command:
cmd: > cmd: "{{ vault_binary }} version"
gpg --dearmor register: vault_version_output
-o /usr/share/keyrings/hashicorp-archive-keyring.gpg changed_when: false
/tmp/hashicorp.asc
args: - name: Display installed Vault version
creates: /usr/share/keyrings/hashicorp-archive-keyring.gpg 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 - name: Create service for vault agent
ansible.builtin.copy: ansible.builtin.copy:
@@ -80,7 +91,7 @@
dest: /opt/vault/scripts/unseal.sh dest: /opt/vault/scripts/unseal.sh
content: | content: |
#!/usr/bin/env bash #!/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) SEALED=$(vault status -format=json | jq -r .sealed)
if [ "$SEALED" = "true" ]; then if [ "$SEALED" = "true" ]; then
@@ -97,6 +108,36 @@
group: vault group: vault
mode: '0700' 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 - name: Create service
ansible.builtin.copy: ansible.builtin.copy:
dest: /etc/systemd/system/vault-unseal.service dest: /etc/systemd/system/vault-unseal.service
@@ -126,10 +167,11 @@
mode: '0644' mode: '0644'
- name: Enable and start services - name: Enable and start services
ansible.builtin.systemd: ansible.builtin.systemd_service:
name: "{{ item }}" name: "{{ item }}"
enabled: yes enabled: true
state: started state: started
daemon_reload: true
loop: loop:
- vault - vault
- vault-unseal - vault-unseal