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.

45 lines
1.8 KiB

  1. [Unit]
  2. Description=hashicorp vault on rkt
  3. Documentation=https://github.com/hashicorp/vault
  4. Wants=network.target
  5. [Service]
  6. User=root
  7. Restart=on-failure
  8. RestartSec=10s
  9. TimeoutStartSec=5
  10. LimitNOFILE=40000
  11. # Container has the following internal mount points:
  12. # /vault/file/ # File backend storage location
  13. # /vault/logs/ # Log files
  14. ExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/vault.uuid
  15. ExecStart=/usr/bin/rkt run \
  16. --insecure-options=image \
  17. --volume hosts,kind=host,source=/etc/hosts,readOnly=true \
  18. --mount volume=hosts,target=/etc/hosts \
  19. --volume=volume-vault-file,kind=host,source=/var/lib/vault \
  20. --volume=volume-vault-logs,kind=host,source={{ vault_log_dir }} \
  21. --volume=vault-cert-dir,kind=host,source={{ vault_cert_dir }} \
  22. --mount=volume=vault-cert-dir,target={{ vault_cert_dir }} \
  23. --volume=vault-conf-dir,kind=host,source={{ vault_config_dir }} \
  24. --mount=volume=vault-conf-dir,target={{ vault_config_dir }} \
  25. --volume=vault-secrets-dir,kind=host,source={{ vault_secrets_dir }} \
  26. --mount=volume=vault-secrets-dir,target={{ vault_secrets_dir }} \
  27. --volume=vault-roles-dir,kind=host,source={{ vault_roles_dir }} \
  28. --mount=volume=vault-roles-dir,target={{ vault_roles_dir }} \
  29. --volume=etcd-cert-dir,kind=host,source={{ etcd_cert_dir }} \
  30. --mount=volume=etcd-cert-dir,target={{ etcd_cert_dir }} \
  31. docker://{{ vault_image_repo }}:{{ vault_image_tag }} \
  32. --uuid-file-save=/var/run/vault.uuid \
  33. --name={{ vault_container_name }} \
  34. --net=host \
  35. --caps-retain=CAP_IPC_LOCK \
  36. --exec vault -- \
  37. server \
  38. --config={{ vault_config_dir }}/config.json
  39. ExecStop=-/usr/bin/rkt stop --uuid-file=/var/run/vault.uuid
  40. [Install]
  41. WantedBy=multi-user.target