feat(vaultwarden): add ansible role
This commit is contained in:
		
							
								
								
									
										68
									
								
								roles/vaultwarden/defaults/main/config.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								roles/vaultwarden/defaults/main/config.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
---
 | 
			
		||||
# 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: 3600
 | 
			
		||||
vaultwarden_config_signups_verify_resend_limit: 5
 | 
			
		||||
# Entry preview icons
 | 
			
		||||
vaultwarden_config_disable_icon_download: true
 | 
			
		||||
vaultwarden_config_icon_cache_ttl: 604800 # 7 days
 | 
			
		||||
vaultwarden_config_icon_cache_negttl: 259200 # 3 days
 | 
			
		||||
vaultwarden_config_icon_download_timeout: 30 # seconds
 | 
			
		||||
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