mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-05-12 11:57:39 -02:30
refactor vault role (#2733)
* Move front-proxy-client certs back to kube mount We want the same CA for all k8s certs * Refactor vault to use a third party module The module adds idempotency and reduces some of the repetitive logic in the vault role Requires ansible-modules-hashivault on ansible node and hvac on the vault hosts themselves Add upgrade test scenario Remove bootstrap-os tags from tasks * fix upgrade issues * improve unseal logic * specify ca and fix etcd check * Fix initialization check bump machine size
This commit is contained in:
@@ -4,26 +4,26 @@
|
||||
register: vault_ca_cert_cat
|
||||
|
||||
- name: config_ca | Pull current CA cert from Vault
|
||||
uri:
|
||||
url: "{{ vault_leader_url }}/v1/{{ config_ca_mount_path }}/ca/pem"
|
||||
headers: "{{ vault_headers }}"
|
||||
return_content: true
|
||||
status_code: 200,204
|
||||
validate_certs: no
|
||||
hashivault_read:
|
||||
url: "{{ vault_leader_url }}"
|
||||
token: "{{ vault_root_token }}"
|
||||
ca_cert: "{{ vault_cert_dir }}/ca.pem"
|
||||
secret: "{{ config_ca_mount_path }}/ca"
|
||||
key: "pem"
|
||||
register: vault_pull_current_ca
|
||||
failed_when: false
|
||||
|
||||
- name: config_ca | Read root CA key for Vault
|
||||
command: "cat {{ config_ca_ca_key }}"
|
||||
register: vault_ca_key_cat
|
||||
when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.content.strip()
|
||||
when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.get("data","").strip()
|
||||
|
||||
- name: config_ca | Configure pki mount to use the found root CA cert and key
|
||||
uri:
|
||||
url: "{{ vault_leader_url }}/v1/{{ config_ca_mount_path }}/config/ca"
|
||||
headers: "{{ vault_headers }}"
|
||||
method: POST
|
||||
body_format: json
|
||||
body:
|
||||
hashivault_write:
|
||||
url: "{{ vault_leader_url }}"
|
||||
token: "{{ vault_root_token }}"
|
||||
ca_cert: "{{ vault_cert_dir }}/ca.pem"
|
||||
secret: "{{ config_ca_mount_path }}/config/ca"
|
||||
data:
|
||||
pem_bundle: "{{ vault_ca_cert_cat.stdout + '\n' + vault_ca_key_cat.stdout }}"
|
||||
status_code: 204
|
||||
when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.get("content","").strip()
|
||||
when: vault_ca_cert_cat.stdout.strip() != vault_pull_current_ca.get("data","").strip()
|
||||
|
||||
Reference in New Issue
Block a user