|
5 | 5 | - gpg |
6 | 6 | state: present |
7 | 7 | update_cache: true |
8 | | - |
9 | 8 | - name: Set architecture mapping |
10 | 9 | ansible.builtin.set_fact: |
11 | | - openbao_arch: "{{ 'amd64' if ansible_architecture == 'x86_64' else 'arm64' if ansible_architecture == 'aarch64' else ansible_architecture }}" |
12 | | - |
| 10 | + openbao_agent_arch: "{{ 'amd64' if ansible_architecture == 'x86_64' else 'arm64' if ansible_architecture == 'aarch64' else ansible_architecture }}" |
13 | 11 | - name: Download OpenBao GPG key |
14 | 12 | ansible.builtin.get_url: |
15 | 13 | url: https://openbao.org/assets/openbao-gpg-pub-20240618.asc |
16 | 14 | dest: /tmp/openbao-gpg-pub.asc |
17 | 15 | mode: "0644" |
18 | | - |
19 | 16 | - name: Import OpenBao GPG key |
20 | 17 | ansible.builtin.command: |
21 | 18 | cmd: gpg --import /tmp/openbao-gpg-pub.asc |
22 | | - register: gpg_import_result |
23 | | - changed_when: "'imported' in gpg_import_result.stderr" |
24 | | - |
| 19 | + register: openbao_agent_gpg_import_result |
| 20 | + changed_when: "'imported' in openbao_agent_gpg_import_result.stderr" |
25 | 21 | - name: Download OpenBao deb package |
26 | 22 | ansible.builtin.get_url: |
27 | | - url: "https://github.com/openbao/openbao/releases/download/v{{ openbao_agent_version }}/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb" |
28 | | - dest: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb" |
| 23 | + url: "https://github.com/openbao/openbao/releases/download/v{{ openbao_agent_version }}/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb" |
| 24 | + dest: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb" |
29 | 25 | mode: "0644" |
30 | | - |
31 | 26 | - name: Download OpenBao deb signature |
32 | 27 | ansible.builtin.get_url: |
33 | | - url: "https://github.com/openbao/openbao/releases/download/v{{ openbao_agent_version }}/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb.gpgsig" |
34 | | - dest: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb.gpgsig" |
| 28 | + url: "https://github.com/openbao/openbao/releases/download/v{{ openbao_agent_version }}/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb.gpgsig" |
| 29 | + dest: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb.gpgsig" |
35 | 30 | mode: "0644" |
36 | | - |
37 | 31 | - name: Verify GPG signature of OpenBao deb package |
38 | 32 | ansible.builtin.command: |
39 | 33 | cmd: > |
40 | 34 | gpg --verify |
41 | | - /tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb.gpgsig |
42 | | - /tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb |
| 35 | + /tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb.gpgsig |
| 36 | + /tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb |
43 | 37 | changed_when: false |
44 | | - |
45 | 38 | - name: Install OpenBao from deb package |
46 | 39 | ansible.builtin.apt: |
47 | | - deb: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_arch }}.deb" |
| 40 | + deb: "/tmp/bao_{{ openbao_agent_version }}_linux_{{ openbao_agent_arch }}.deb" |
48 | 41 | state: present |
49 | | - |
50 | 42 | - name: Create openbao-agent directories |
51 | 43 | ansible.builtin.file: |
52 | 44 | path: "{{ item }}" |
|
59 | 51 | - /etc/openbao-agent/conf.d |
60 | 52 | - /etc/openbao-agent/templates.d |
61 | 53 | - /var/lib/openbao-agent |
62 | | - |
63 | 54 | - name: Create runtime directory for agent token |
64 | 55 | ansible.builtin.file: |
65 | 56 | path: /run/openbao-agent |
66 | 57 | state: directory |
67 | 58 | owner: openbao |
68 | 59 | group: openbao |
69 | 60 | mode: "0750" |
70 | | - |
71 | 61 | - name: Set OpenBao role name fact |
72 | 62 | ansible.builtin.set_fact: |
73 | 63 | openbao_agent_role_name: "host-{{ inventory_hostname }}" |
74 | | - |
75 | 64 | - name: Fetch role-id from OpenBao on control node |
76 | 65 | ansible.builtin.command: |
77 | 66 | cmd: > |
|
81 | 70 | become: false |
82 | 71 | register: openbao_agent_role_id_result |
83 | 72 | changed_when: false |
84 | | - |
85 | 73 | - name: Set role-id fact |
86 | 74 | ansible.builtin.set_fact: |
87 | 75 | openbao_agent_role_id: "{{ openbao_agent_role_id_result.stdout }}" |
88 | | - |
89 | 76 | - name: Fetch secret-id from OpenBao on control node |
90 | 77 | ansible.builtin.command: |
91 | 78 | cmd: > |
|
95 | 82 | become: false |
96 | 83 | register: openbao_agent_secret_id_result |
97 | 84 | changed_when: false |
98 | | - |
99 | 85 | - name: Set secret-id fact |
100 | 86 | ansible.builtin.set_fact: |
101 | 87 | openbao_agent_secret_id: "{{ openbao_agent_secret_id_result.stdout }}" |
102 | | - |
103 | 88 | - name: Deploy role-id file |
104 | 89 | ansible.builtin.copy: |
105 | 90 | content: "{{ openbao_agent_role_id }}" |
106 | 91 | dest: /etc/openbao-agent/role-id |
107 | 92 | owner: openbao |
108 | 93 | group: openbao |
109 | 94 | mode: "0400" |
110 | | - |
111 | 95 | - name: Deploy wrapped secret-id file |
112 | 96 | ansible.builtin.copy: |
113 | 97 | content: "{{ openbao_agent_secret_id }}" |
114 | 98 | dest: /etc/openbao-agent/secret-id |
115 | 99 | owner: openbao |
116 | 100 | group: openbao |
117 | 101 | mode: "0400" |
118 | | - |
119 | 102 | - name: Deploy OpenBao agent configuration |
120 | 103 | notify: Restart openbao-agent |
121 | 104 | ansible.builtin.template: |
|
124 | 107 | owner: openbao |
125 | 108 | group: openbao |
126 | 109 | mode: "0640" |
127 | | - |
128 | 110 | - name: Deploy systemd service file |
129 | 111 | notify: Restart openbao-agent |
130 | 112 | ansible.builtin.template: |
|
133 | 115 | owner: root |
134 | 116 | group: root |
135 | 117 | mode: "0644" |
136 | | - |
137 | 118 | - name: Reload systemd daemon |
138 | 119 | ansible.builtin.systemd: |
139 | 120 | daemon_reload: true |
140 | | - |
141 | 121 | - name: Enable and start OpenBao agent |
142 | 122 | ansible.builtin.systemd: |
143 | 123 | name: openbao-agent |
|
0 commit comments