feat(vaultwarden): add ansible role
This commit is contained in:
79
roles/vaultwarden/defaults/main/config.yml
Normal file
79
roles/vaultwarden/defaults/main/config.yml
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
# Required configuration
|
||||
vaultwarden_config_domain: ~
|
||||
vaultwarden_config_admin_token: ~
|
||||
# Invitations and signups
|
||||
vaultwarden_config_invitations_allowed: false
|
||||
vaultwarden_config_invitation_org_name: ~
|
||||
vaultwarden_config_signups_allowed: false
|
||||
vaultwarden_config_signups_verify: true
|
||||
vaultwarden_config_signups_verify_resend_time: >-2
|
||||
{{ vaultwarden_config_signups_verify_resend_time_seconds }}
|
||||
vaultwarden_config_signups_verify_resend_time_seconds: 3600
|
||||
vaultwarden_config_signups_verify_resend_limit: >-2
|
||||
{{ vaultwarden_config_signups_verify_resend_limit_count }}
|
||||
vaultwarden_config_signups_verify_resend_limit_count: 5
|
||||
# Entry preview icons
|
||||
vaultwarden_config_disable_icon_download: true
|
||||
vaultwarden_config_icon_cache_ttl: >-2
|
||||
{{ vaultwarden_config_icon_cache_ttl_seconds }}
|
||||
vaultwarden_config_icon_cache_ttl_seconds: "{{ (60 * 60 * 24 * 7) | int }}"
|
||||
vaultwarden_config_icon_cache_negttl: >-2
|
||||
{{ vaultwarden_config_icon_cache_negttl_seconds }}
|
||||
vaultwarden_config_icon_cache_negttl_seconds: >-2
|
||||
{{ (60 * 60 * 24 * 3) | int }}
|
||||
vaultwarden_config_icon_download_timeout: >-2
|
||||
{{ vaultwarden_config_icon_download_timeout_seconds }}
|
||||
vaultwarden_config_icon_download_timeout_seconds: 30
|
||||
vaultwarden_config_icon_blacklist_non_global_ips: true
|
||||
# Features
|
||||
vaultwarden_config_sends_allowed: true
|
||||
vaultwarden_config_enable_yubico: false
|
||||
vaultwarden_config_enable_duo: false
|
||||
vaultwarden_config_enable_smtp: false
|
||||
vaultwarden_config_enable_email_2fa: false
|
||||
# Security
|
||||
vaultwarden_config_password_iterations: 100000
|
||||
vaultwarden_config_show_password_hint: false
|
||||
vaultwarden_config_disable_2fa_remember: false
|
||||
vaultwarden_config_disable_admin_token: true
|
||||
vaultwarden_config_require_device_email: false
|
||||
vaultwarden_config_authenticator_disable_time_drift: true
|
||||
# Other
|
||||
vaultwarden_config_log_timestamp_format: "%Y-%m-%d %H:%M:%S.%3f"
|
||||
vaultwarden_config_ip_header: "X-Real-IP"
|
||||
vaultwarden_config_reload_templates: false
|
||||
|
||||
vaultwarden_base_config:
|
||||
domain: "{{ vaultwarden_config_domain }}"
|
||||
admin_token: "{{ vaultwarden_config_admin_token }}"
|
||||
invitations_allowed: "{{ vaultwarden_config_invitations_allowed }}"
|
||||
invitation_org_name: "{{ vaultwarden_config_invitation_org_name | default('', true) }}"
|
||||
signups_allowed: "{{ vaultwarden_config_signups_allowed }}"
|
||||
signups_verify: "{{ vaultwarden_config_signups_verify }}"
|
||||
signups_verify_resend_time: "{{ vaultwarden_config_signups_verify_resend_time }}"
|
||||
signups_verify_resend_limit: "{{ vaultwarden_config_signups_verify_resend_limit }}"
|
||||
disable_icon_download: "{{ vaultwarden_config_disable_icon_download }}"
|
||||
icon_cache_ttl: "{{ vaultwarden_config_icon_cache_ttl }}"
|
||||
icon_cache_negttl: "{{ vaultwarden_config_icon_cache_negttl }}"
|
||||
icon_download_timeout: "{{ vaultwarden_config_icon_download_timeout }}"
|
||||
icon_blacklist_non_global_ips: "{{ vaultwarden_config_icon_blacklist_non_global_ips }}"
|
||||
password_iterations: "{{ vaultwarden_config_password_iterations }}"
|
||||
show_password_hint: "{{ vaultwarden_config_show_password_hint }}"
|
||||
disable_2fa_remember: "{{ vaultwarden_config_disable_2fa_remember }}"
|
||||
disable_admin_token: "{{ vaultwarden_config_disable_admin_token }}"
|
||||
require_device_email: "{{ vaultwarden_config_require_device_email }}"
|
||||
authenticator_disable_time_drift: "{{ vaultwarden_config_authenticator_disable_time_drift }}"
|
||||
ip_header: "{{ vaultwarden_config_ip_header }}"
|
||||
log_timestamp_format: "{{ vaultwarden_config_log_timestamp_format }}"
|
||||
reload_templates: "{{ vaultwarden_config_reload_templates }}"
|
||||
sends_allowed: "{{ vaultwarden_config_sends_allowed }}"
|
||||
_enable_yubico: "{{ vaultwarden_config_enable_yubico }}"
|
||||
_enable_duo: "{{ vaultwarden_config_enable_duo }}"
|
||||
_enable_smtp: "{{ vaultwarden_config_enable_smtp }}"
|
||||
_enable_email_2fa: "{{ vaultwarden_config_enable_email_2fa }}"
|
||||
|
||||
vaultwarden_config: ~
|
||||
vaultwarden_merged_config: >-2
|
||||
{{ vaultwarden_base_config | default({}, true)
|
||||
| combine(vaultwarden_config | default({}, true), recursive=true) }}
|
50
roles/vaultwarden/defaults/main/container.yml
Normal file
50
roles/vaultwarden/defaults/main/container.yml
Normal file
@ -0,0 +1,50 @@
|
||||
---
|
||||
vaultwarden_container_image_registry: docker.io
|
||||
vaultwarden_container_image_namespace: vaultwarden
|
||||
vaultwarden_container_image_name: server
|
||||
vaultwarden_container_image_tag: ~
|
||||
vaultwarden_container_image_flavour: alpine
|
||||
vaultwarden_container_image_source: pull
|
||||
vaultwarden_container_image_force_source: >-2
|
||||
{{ vaultwarden_container_image_tag | default(false, true) | bool }}
|
||||
vaultwarden_container_image: >-2
|
||||
{{
|
||||
([
|
||||
vaultwarden_container_image_registry | default([], true),
|
||||
vaultwarden_container_image_namespace | default([], true),
|
||||
vaultwarden_container_image_name,
|
||||
] | flatten | join('/'))
|
||||
+ ':'
|
||||
+ (vaultwarden_container_image_tag | default(
|
||||
vaultwarden_version + (
|
||||
((vaultwarden_container_image_flavour is string)
|
||||
and (vaultwarden_container_image_flavour | length > 0))
|
||||
| ternary(
|
||||
'-' + vaultwarden_container_image_flavour | default('', true),
|
||||
''
|
||||
)
|
||||
),
|
||||
true
|
||||
))
|
||||
}}
|
||||
|
||||
vaultwarden_container_name: vaultwarden
|
||||
vaultwarden_container_env: ~
|
||||
vaultwarden_container_user: >-2
|
||||
{{ vaultwarden_run_user_id }}:{{ vaultwarden_run_group_id }}
|
||||
vaultwarden_container_ports: ~
|
||||
vaultwarden_container_labels: ~
|
||||
vaultwarden_container_networks: ~
|
||||
vaultwarden_container_etc_hosts: ~
|
||||
vaultwarden_container_dns_servers: ~
|
||||
vaultwarden_container_restart_policy: >-2
|
||||
{{ (vaultwarden_deployment_method == 'docker') | ternary(
|
||||
'unless-stopped',
|
||||
'on-failure',
|
||||
)
|
||||
}}
|
||||
vaultwarden_container_state: >-2
|
||||
{{ (vaultwarden_state == 'present') | ternary('started', 'absent') }}
|
||||
vaultwarden_container_volumes:
|
||||
- "{{ vaultwarden_data_directory }}:/data:rw"
|
||||
- "{{ vaultwarden_config_file }}:/data/config.json:ro"
|
10
roles/vaultwarden/defaults/main/main.yml
Normal file
10
roles/vaultwarden/defaults/main/main.yml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
vaultwarden_user: vaultwarden
|
||||
vaultwarden_version: "1.32.2"
|
||||
|
||||
vaultwarden_config_file: "/etc/vaultwarden/config.json"
|
||||
vaultwarden_config_directory: "{{ vaultwarden_config_file | dirname }}"
|
||||
vaultwarden_data_directory: "/var/lib/vaultwarden"
|
||||
|
||||
vaultwarden_state: present
|
||||
vaultwarden_deployment_method: docker
|
5
roles/vaultwarden/defaults/main/user.yml
Normal file
5
roles/vaultwarden/defaults/main/user.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
vaultwarden_run_user_id: >-2
|
||||
{{ vaultwarden_user_info.uid | default(vaultwarden_user, true) }}
|
||||
vaultwarden_run_group_id: >-2
|
||||
{{ vaultwarden_user_info.group | default(vaultwarden_user, true) }}
|
Reference in New Issue
Block a user