You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.9 KiB

  1. ---
  2. vault_adduser_vars:
  3. comment: "Hashicorp Vault User"
  4. createhome: no
  5. name: vault
  6. shell: /sbin/nologin
  7. system: yes
  8. vault_base_dir: /etc/vault
  9. # https://releases.hashicorp.com/vault/0.6.4/vault_0.6.4_SHA256SUMS
  10. vault_binary_checksum: 04d87dd553aed59f3fe316222217a8d8777f40115a115dac4d88fac1611c51a6
  11. vault_bootstrap: false
  12. vault_ca_options:
  13. common_name: kube-cluster-ca
  14. format: pem
  15. ttl: 87600h
  16. vault_cert_dir: "{{ vault_base_dir }}/ssl"
  17. vault_client_headers:
  18. Accept: "application/json"
  19. Content-Type: "application/json"
  20. vault_config:
  21. backend:
  22. etcd:
  23. address: "{{ vault_etcd_url }}"
  24. ha_enabled: "true"
  25. redirect_addr: "https://{{ ansible_default_ipv4.address }}:{{ vault_port }}"
  26. tls_ca_file: "{{ vault_cert_dir }}/ca.pem"
  27. cluster_name: "kubernetes-vault"
  28. default_lease_ttl: "{{ vault_default_lease_ttl }}"
  29. listener:
  30. tcp:
  31. address: "0.0.0.0:{{ vault_port }}"
  32. tls_cert_file: "{{ vault_cert_dir }}/api.pem"
  33. tls_key_file: "{{ vault_cert_dir }}/api-key.pem"
  34. max_lease_ttl: "{{ vault_max_lease_ttl }}"
  35. vault_config_dir: "{{ vault_base_dir }}/config"
  36. vault_container_name: kube-hashicorp-vault
  37. # This variable is meant to match the GID of vault inside Hashicorp's official Vault Container
  38. vault_default_lease_ttl: 720h
  39. vault_default_role_permissions:
  40. allow_any_name: true
  41. vault_deployment_type: docker
  42. vault_download_url: "https://releases.hashicorp.com/vault/{{ vault_version }}/vault_{{ vault_version }}_linux_amd64.zip"
  43. vault_download_vars:
  44. container: "{{ vault_deployment_type != 'host' }}"
  45. dest: "vault/vault_{{ vault_version }}_linux_amd64.zip"
  46. enabled: true
  47. mode: "0755"
  48. owner: "vault"
  49. repo: "{{ vault_image_repo }}"
  50. sha256: "{{ vault_binary_checksum if vault_deployment_type == 'host' else vault_digest_checksum|d(none) }}"
  51. source_url: "{{ vault_download_url }}"
  52. tag: "{{ vault_image_tag }}"
  53. unarchive: true
  54. url: "{{ vault_download_url }}"
  55. version: "{{ vault_version }}"
  56. vault_etcd_url: "https://{{ hostvars[groups.etcd[0]]['ansible_default_ipv4']['address'] }}:2379"
  57. vault_image_repo: "vault"
  58. vault_image_tag: "{{ vault_version }}"
  59. vault_log_dir: "/var/log/vault"
  60. vault_max_lease_ttl: 87600h
  61. vault_needs_gen: false
  62. vault_port: 8200
  63. # Although "cert" is an option, ansible has no way to auth via cert until
  64. # upstream merges: https://github.com/ansible/ansible/pull/18141
  65. vault_role_auth_method: userpass
  66. vault_roles:
  67. - name: etcd
  68. group: etcd
  69. policy_rules: default
  70. role_options: default
  71. - name: kube
  72. group: k8s-cluster
  73. policy_rules: default
  74. role_options: default
  75. vault_roles_dir: "{{ vault_base_dir }}/roles"
  76. vault_secret_shares: 1
  77. vault_secret_threshold: 1
  78. vault_secrets_dir: "{{ vault_base_dir }}/secrets"
  79. vault_temp_config:
  80. default_lease_ttl: "{{ vault_default_lease_ttl }}"
  81. backend:
  82. file:
  83. path: /vault/file
  84. listener:
  85. tcp:
  86. address: "0.0.0.0:{{ vault_port }}"
  87. tls_disable: "true"
  88. vault_temp_container_name: vault-temp
  89. vault_version: 0.6.4