|
1 | 1 | {% from "vault/map.jinja" import vault with context %} |
2 | | -# using archive.extracted causes: 'Comment: Failed to cache https://releases.hashicorp.com/vault/0.7.0/vault_0.7.0_linux_amd64.zip: [Errno 1] _ssl.c:493: error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version' |
3 | | -#vault packages: |
4 | | -# pkg.installed: |
5 | | -# - names: |
6 | | -# - unzip |
7 | | -# - curl |
8 | | -# {% if vault.secure_download %} |
9 | | -# {% if grains['os'] == 'CentOS' or grains['os'] == 'Amazon' %} |
10 | | -# - gnupg2 |
11 | | -# - perl-Digest-SHA |
12 | | -# {% elif grains['os'] == 'Ubuntu' %} |
13 | | -# - gnupg |
14 | | -# - libdigest-sha-perl |
15 | | -# {% endif %} |
16 | | -# {% endif %} |
17 | | -/opt/vault/{{ vault.version }}/bin: |
| 2 | +
|
| 3 | +{% set version = vault.version %} |
| 4 | +
|
| 5 | +/opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS: |
| 6 | + file.managed: |
| 7 | + - source: https://releases.hashicorp.com/vault/{{ version }}/vault_{{ version }}_SHA256SUMS |
| 8 | + - makedirs: true |
| 9 | + - skip_verify: true |
| 10 | +
|
| 11 | +/opt/vault/{{ version }}/bin: |
18 | 12 | archive.extracted: |
19 | | - - source: https://releases.hashicorp.com/vault/{{ vault.version }}/vault_{{ vault.version }}_linux_amd64.zip |
20 | | - - source_hash: https://releases.hashicorp.com/vault/{{ vault.version }}/vault_{{ vault.version }}_SHA256SUMS |
| 13 | + - source: https://releases.hashicorp.com/vault/{{ version }}/vault_{{ version }}_linux_amd64.zip |
| 14 | + - source_hash: /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS |
21 | 15 | - enforce_toplevel: false |
| 16 | + - require: |
| 17 | + - /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS |
22 | 18 |
|
23 | 19 | /usr/local/bin/vault: |
24 | 20 | file.symlink: |
25 | | - - target: /opt/vault/{{ vault.version }}/bin/vault |
| 21 | + - target: /opt/vault/{{ version }}/bin/vault |
26 | 22 | - force: true |
27 | 23 | - require: |
28 | | - - /opt/vault/{{ vault.version }}/bin |
| 24 | + - /opt/vault/{{ version }}/bin |
| 25 | +
|
| 26 | +{% if vault.secure_download -%} |
| 27 | +/opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS.sig: |
| 28 | + file.managed: |
| 29 | + - source: https://releases.hashicorp.com/vault/{{ version }}/vault_{{ version }}_SHA256SUMS.sig |
| 30 | + - skip_verify: true |
| 31 | + - require: |
| 32 | + - /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS |
29 | 33 |
|
30 | | -#{% if vault.secure_download %} |
31 | | -#download shasums: |
32 | | -# cmd.run: |
33 | | -# - name: curl --silent -L https://releases.hashicorp.com/vault/{{ vault.version }}/vault_{{ vault.version }}_SHA256SUMS -o /tmp/vault_{{ vault.version }}_SHA256SUMS |
34 | | -# - creates: /tmp/vault_{{ vault.version }}_SHA256SUMS |
35 | | -# |
36 | | -#download shasums sig: |
37 | | -# cmd.run: |
38 | | -# - name: curl --silent -L https://releases.hashicorp.com/vault/{{ vault.version }}/vault_{{ vault.version }}_SHA256SUMS.sig -o /tmp/vault_{{ vault.version }}_SHA256SUMS.sig |
39 | | -# - creates: /tmp/vault_{{ vault.version }}_SHA256SUMS.sig |
40 | | -# |
41 | | -#/tmp/hashicorp.asc: |
42 | | -# file.managed: |
43 | | -# - source: salt://vault/files/hashicorp.asc.jinja |
44 | | -# - template: jinja |
45 | | -# |
46 | | -#import key: |
47 | | -# cmd.run: |
48 | | -# - name: gpg --import /tmp/hashicorp.asc |
49 | | -# - unless: gpg --list-keys {{ vault.hashicorp_key_id }} |
50 | | -# - requires: |
51 | | -# - file: /tmp/hashicorp.asc |
52 | | -# - cmd: vault packages |
53 | | -# |
54 | | -#verify shasums sig: |
55 | | -# cmd.run: |
56 | | -# - name: gpg --verify /tmp/vault_{{ vault.version }}_SHA256SUMS.sig /tmp/vault_{{ vault.version }}_SHA256SUMS |
57 | | -# - require: |
58 | | -# - cmd: download shasums |
59 | | -# - cmd: import key |
60 | | -# |
61 | | -#verify vault: |
62 | | -# cmd.run: |
63 | | -# - name: "shasum -a 256 -c vault_{{ vault.version }}_SHA256SUMS 2>&1 | grep -q \"vault_{{ vault.version }}_linux_amd64.zip: OK\"" |
64 | | -# - cwd: /tmp |
65 | | -# - require: |
66 | | -# - cmd: download vault |
67 | | -# - cmd: verify shasums sig |
68 | | -#{% endif %} |
69 | | -# |
70 | | -#install vault: |
71 | | -# cmd.run: |
72 | | -# - name: unzip /tmp/vault_{{ vault.version }}_linux_amd64.zip -d /usr/local/bin && chmod 0755 /usr/local/bin/vault && chown root:root /usr/local/bin/vault |
73 | | -# - require: |
74 | | -# - cmd: download vault |
75 | | -# - pkg: unzip |
76 | | -# {% if vault.secure_download %} |
77 | | -# - cmd: verify vault |
78 | | -# {% endif %} |
79 | | -# - creates: /usr/local/bin/vault |
80 | | -# |
81 | | -#vault set cap mlock: |
82 | | -# cmd.run: |
83 | | -# - name: "setcap cap_ipc_lock=+ep /usr/local/bin/vault" |
84 | | -# - onchanges: |
85 | | -# - cmd: install vault |
| 34 | +
|
| 35 | +/tmp/hashicorp.asc: |
| 36 | + file.managed: |
| 37 | + - source: salt://vault/files/hashicorp.asc.jinja |
| 38 | + - template: jinja |
| 39 | +
|
| 40 | +vault_gpg_pkg: |
| 41 | + pkg.installed: |
| 42 | + - name: {{ vault.gpg_pkg }} |
| 43 | +
|
| 44 | +import key: |
| 45 | + cmd.run: |
| 46 | + - name: gpg --import /tmp/hashicorp.asc |
| 47 | + - unless: gpg --list-keys {{ vault.hashicorp_key_id }} |
| 48 | + - require: |
| 49 | + - /tmp/hashicorp.asc |
| 50 | + - vault_gpg_pkg |
| 51 | +
|
| 52 | +verify shasums sig: |
| 53 | + cmd.run: |
| 54 | + - name: gpg --verify /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS.sig /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS |
| 55 | + - require: |
| 56 | + - /opt/vault/{{ version }}/vault_{{ version }}_SHA256SUMS.sig |
| 57 | + - import key |
| 58 | + - prereq: |
| 59 | + - /usr/local/bin/vault |
| 60 | +{%- endif %} |
0 commit comments