39 lines
1.0 KiB
Django/Jinja
39 lines
1.0 KiB
Django/Jinja
[Unit]
|
|
Description="HashiCorp Vault - A tool for managing secrets"
|
|
Documentation=https://www.vaultproject.io/docs/
|
|
Requires=network-online.target
|
|
After=network-online.target
|
|
ConditionFileNotEmpty={{ vault_config_dir }}/vault.json
|
|
StartLimitIntervalSec=60
|
|
StartLimitBurst=3
|
|
{% if vault_configuration.storage.consul is defined or vault_configuration.service_registration.consul is defined %}
|
|
Wants=consul.service
|
|
After=consul.service
|
|
{% endif %}
|
|
|
|
[Service]
|
|
Type=notify
|
|
EnvironmentFile=-{{ vault_config_dir }}/vault.env
|
|
User={{ vault_user }}
|
|
Group={{ vault_group }}
|
|
ProtectSystem=full
|
|
ProtectHome=read-only
|
|
PrivateTmp=yes
|
|
PrivateDevices=yes
|
|
SecureBits=keep-caps
|
|
AmbientCapabilities=CAP_IPC_LOCK
|
|
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
|
|
NoNewPrivileges=yes
|
|
ExecStart={{ vault_binary_path }} server -config={{ vault_config_dir }}
|
|
ExecReload=/bin/kill --signal HUP $MAINPID
|
|
KillMode=process
|
|
KillSignal=SIGINT
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
TimeoutStopSec=30
|
|
LimitNOFILE=65536
|
|
LimitMEMLOCK=infinity
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|