Skip to content

Commit bb39d05

Browse files
Merge pull request #484 from CodeNow/new-one-hour-aws-mount
New one hour aws mount
2 parents 9af640c + 77e5cb9 commit bb39d05

1 file changed

Lines changed: 13 additions & 38 deletions

File tree

ansible/vault-values.yml

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,10 @@
44
- group_vars/alpha-vault.yml
55
tasks:
66
- name: make sure httplib2 is installed
7+
run_once: true
78
become: true
89
apt: package=python-httplib2 state=present
910

10-
- name: get seal status
11-
tags: [unseal]
12-
run_once: true
13-
uri:
14-
method=GET
15-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/seal-status
16-
HEADER_X-Vault-Token="{{ vault_auth_token }}"
17-
return_content=yes
18-
register: seal_status
19-
20-
- name: unseal vault
21-
tags: [unseal]
22-
run_once: true
23-
when: seal_status.json.sealed
24-
uri:
25-
method=PUT
26-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/unseal
27-
HEADER_X-Vault-Token="{{ vault_auth_token }}"
28-
body_format=json
29-
body='{{ item | to_json }}'
30-
with_items:
31-
- key: "{{ vault_token_01 }}"
32-
- key: "{{ vault_token_02 }}"
33-
- key: "{{ vault_token_03 }}"
34-
3511
- name: put values into vault
3612
run_once: true
3713
when: write_values is defined
@@ -56,23 +32,28 @@
5632

5733
- name: mount aws backend in vault
5834
run_once: true
59-
when: write_values is defined and mounts.json['aws/'] is not defined
35+
when: write_values is defined and mounts.json['aws_1h/'] is not defined
6036
uri:
6137
method=POST
62-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/mounts/aws
38+
follow_redirects=all
39+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/mounts/aws_1h
6340
HEADER_X-Vault-Token="{{ vault_auth_token }}"
6441
body_format=json
6542
body='{{ item | to_json }}'
6643
status_code=204
6744
with_items:
6845
- type: "aws"
46+
config:
47+
default_lease_ttl: "3600s" # 1 hour, in seconds
48+
max_lease_ttl: "3600s" # 1 hour, in seconds
6949

7050
- name: configure aws root credentials
7151
run_once: true
7252
when: (write_values is defined and write_root_creds is defined) or (write_values is defined and mounts.json['aws/'] is not defined)
7353
uri:
7454
method=POST
75-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws/config/root
55+
follow_redirects=all
56+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws_1h/config/root
7657
HEADER_X-Vault-Token="{{ vault_auth_token }}"
7758
body_format=json
7859
body='{{ item | to_json }}'
@@ -88,7 +69,8 @@
8869
when: write_values is defined
8970
uri:
9071
method=GET
91-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws/roles/dock-init
72+
follow_redirects=all
73+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws_1h/roles/dock-init
9274
HEADER_X-Vault-Token="{{ vault_auth_token }}"
9375
status_code=200,404
9476
register: role
@@ -98,19 +80,12 @@
9880
when: write_values is defined and role.status == 404
9981
uri:
10082
method=POST
101-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws/roles/dock-init
83+
follow_redirects=all
84+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws_1h/roles/dock-init
10285
HEADER_X-Vault-Token="{{ vault_auth_token }}"
10386
body_format=json
10487
body='{{ item | to_json | replace("\\\\", "") }}'
10588
status_code=204
10689
register: creds
10790
with_items:
10891
- policy: "{{ vault_seed_policy }}"
109-
110-
- name: seal vault
111-
run_once: true
112-
uri:
113-
method=PUT
114-
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/seal
115-
HEADER_X-Vault-Token="{{ vault_auth_token }}"
116-
status_code=204

0 commit comments

Comments
 (0)