Skip to content

Commit 510d6db

Browse files
Merge pull request #492 from CodeNow/one-year-mount
add 1 year backend for aws
2 parents 4356f38 + 6002c63 commit 510d6db

4 files changed

Lines changed: 42 additions & 3 deletions

File tree

ansible/roles/vault/tasks/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
recurse=yes
2222

2323
- name: copy vault config
24+
tags: [ deploy ]
2425
become: true
2526
template:
2627
src=vault.hcl

ansible/roles/vault/templates/vault.hcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ listener "tcp" {
1919
tls_cert_file = "/opt/vault/server/cert.pem"
2020
tls_key_file = "/opt/vault/server/key.pem"
2121
}
22+
23+
max_lease_ttl = "8760h"

ansible/vault-values.yml

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
return_content=yes
3131
register: mounts
3232

33-
- name: mount aws backend in vault
33+
- name: mount 1h aws backend in vault
3434
run_once: true
3535
when: write_values is defined and mounts.json['aws_1h/'] is not defined
3636
uri:
@@ -47,9 +47,26 @@
4747
default_lease_ttl: "3600s" # 1 hour, in seconds
4848
max_lease_ttl: "3600s" # 1 hour, in seconds
4949

50-
- name: configure aws root credentials
50+
- name: mount 1yr aws backend in vault
5151
run_once: true
52-
when: (write_values is defined and write_root_creds is defined) or (write_values is defined and mounts.json['aws/'] is not defined)
52+
when: write_values is defined and mounts.json['aws_1yr/'] is not defined
53+
uri:
54+
method=POST
55+
follow_redirects=all
56+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/mounts/aws_1yr
57+
HEADER_X-Vault-Token="{{ vault_auth_token }}"
58+
body_format=json
59+
body='{{ item | to_json }}'
60+
status_code=204
61+
with_items:
62+
- type: "aws"
63+
config:
64+
default_lease_ttl: "8760h" # 1 year, in hours
65+
max_lease_ttl: "8760h" # 1 year, in hours
66+
67+
- name: configure 1h aws root credentials
68+
run_once: true
69+
when: (write_values is defined and write_root_creds is defined) or (write_values is defined and mounts.json['aws_1h/'] is not defined)
5370
uri:
5471
method=POST
5572
follow_redirects=all
@@ -64,6 +81,23 @@
6481
secret_key: "{{ vault_aws_secret_key }}"
6582
region: "{{ vault_aws_region }}"
6683

84+
- name: configure 1yr aws root credentials
85+
run_once: true
86+
when: (write_values is defined and write_root_creds is defined) or (write_values is defined and mounts.json['aws_1yr/'] is not defined)
87+
uri:
88+
method=POST
89+
follow_redirects=all
90+
url=http://{{ ansible_default_ipv4.address }}:8200/v1/aws_1yr/config/root
91+
HEADER_X-Vault-Token="{{ vault_auth_token }}"
92+
body_format=json
93+
body='{{ item | to_json }}'
94+
status_code=204
95+
register: creds
96+
with_items:
97+
- access_key: "{{ vault_aws_access_key_id }}"
98+
secret_key: "{{ vault_aws_secret_key }}"
99+
region: "{{ vault_aws_region }}"
100+
67101
- name: check for the dock-init role
68102
run_once: true
69103
when: write_values is defined

ansible/vault.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
tasks:
1212
- name: get seal status
13+
tags: [ deploy ]
1314
uri:
1415
method=GET
1516
url=http://{{ ansible_default_ipv4.address }}:8200/v1/sys/seal-status
@@ -18,6 +19,7 @@
1819
register: seal_status
1920

2021
- name: unseal vault
22+
tags: [ deploy ]
2123
when: seal_status.json.sealed
2224
uri:
2325
method=PUT

0 commit comments

Comments
 (0)