aboutsummaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-21 21:56:16 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-21 21:56:16 -0500
commit2f8ea80af31ae914d7a73113208b2e42ed69d35e (patch)
tree833d400178b9d437a79a634b9319421e4f2ad721 /roles
parent91ca4780e96f250d9d4b62f7b17409e7b099ab59 (diff)
downloadselfhosted-2f8ea80af31ae914d7a73113208b2e42ed69d35e.tar.gz
selfhosted-2f8ea80af31ae914d7a73113208b2e42ed69d35e.zip
vaultwarden: add docs
Diffstat (limited to 'roles')
-rw-r--r--roles/vaultwarden/README.md64
-rw-r--r--roles/vaultwarden/defaults/main.yml1
-rw-r--r--roles/vaultwarden/templates/etc/sysconfig/vaultwarden.j22
-rw-r--r--roles/vaultwarden/vars/main.yml3
4 files changed, 65 insertions, 5 deletions
diff --git a/roles/vaultwarden/README.md b/roles/vaultwarden/README.md
new file mode 100644
index 0000000..6c2ff83
--- /dev/null
+++ b/roles/vaultwarden/README.md
@@ -0,0 +1,64 @@
+Vaultwarden
+===========
+
+Description
+-----------
+
+The `vaultwarden` role installs [Vaultwarden](https://github.com/dani-garcia/vaultwarden),
+an unofficial Bitwarden-compatible server written in Rust.
+
+This role configures the Rust application only; it does not set up a reverse
+proxy.
+
+Variables
+---------
+
+This role **accepts** the following variables:
+
+Variable | Default | Description
+---------------------------------------|----------------------------------------|------------
+`vaultwarden_version` | see [defaults](defaults/vars.yml) | Git version of Vaultwarden to install
+`vaultwarden_web_version` | see [defaults](defaults/vars.yml) | Git version of web vault to install
+`vaultwarden_port` | 8008 | Local listening port
+`vaultwarden_websocket_port` | 8009 | Local websocket port
+`vaultwarden_server_name` | `{{ ansible_fqdn }}` | Canonical HTTP hostname
+`vaultwarden_user` | `s-vaultwarden` | FreeIPA user (will be created)
+`vaultwarden_db_name` | `vaultwarden` | PostgreSQL database (will be created)
+`vaultwarden_db_host` | `{{ postgresql_host }}` | PostgreSQL host
+`vaultwarden_verify_signups` | yes | Confirm email address of new users
+`vaultwarden_signup_domain_whitelist` | `['{{ email_domain }}']` | Allowed email domains (empty list to allow all)
+`vaultwarden_invitations_allowed` | no | Allow admins to invite users
+`vaultwarden_user_attachment_limit_kb` | 1048576 | Per-user attachment size limit (KB)
+`vaultwarden_admin_group` | `role-bitwarden-admin` | FreeIPA group for Vaultwarden administrators (will be created)
+`vaultwarden_smtp_host` | `{{ mail_host }}` | SMTP host
+`vaultwarden_smtp_from` | `bitwarden-noreply@{{ email_domain }}` | Email `From:` address
+`vaultwarden_smtp_from_name` | `Bitwarden` | Email `From:` name
+
+This role **exports** the following variables:
+
+Variable | Description
+----------------------------|------------
+`vaultwarden_apache_config` | Apache config block for reverse proxy
+
+Usage
+-----
+
+Example playbook:
+
+````yaml
+- name: configure vaultwarden
+ hosts: vaultwarden_servers
+ roles:
+ - role: vaultwarden
+ vars:
+ vaultwarden_db_host: postgres.ipa.example.com
+ vaultwarden_verify_signups: yes
+ vaultwarden_signup_domain_whitelist: []
+ vaultwarden_admin_group: vaultwarden-admins
+
+ - role: apache
+ vars:
+ apache_default_vhost: yes
+ apache_canonical_hostname: '{{ vaultwarden_server_name }}'
+ apache_config: '{{ vaultwarden_apache_config }}'
+````
diff --git a/roles/vaultwarden/defaults/main.yml b/roles/vaultwarden/defaults/main.yml
index 8652adc..3dd0435 100644
--- a/roles/vaultwarden/defaults/main.yml
+++ b/roles/vaultwarden/defaults/main.yml
@@ -5,7 +5,6 @@ vaultwarden_port: 8008
vaultwarden_websocket_port: 8009
vaultwarden_server_name: '{{ ansible_fqdn }}'
-vaultwarden_url: https://{{ vaultwarden_server_name }}
vaultwarden_user: s-vaultwarden
vaultwarden_db_name: vaultwarden
diff --git a/roles/vaultwarden/templates/etc/sysconfig/vaultwarden.j2 b/roles/vaultwarden/templates/etc/sysconfig/vaultwarden.j2
index 61d50e7..f275000 100644
--- a/roles/vaultwarden/templates/etc/sysconfig/vaultwarden.j2
+++ b/roles/vaultwarden/templates/etc/sysconfig/vaultwarden.j2
@@ -26,7 +26,7 @@ INVITATIONS_ALLOWED={{ vaultwarden_invitations_allowed }}
USER_ATTACHMENT_LIMIT={{ vaultwarden_user_attachment_limit_kb }}
{% endif %}
-DOMAIN={{ vaultwarden_url }}
+DOMAIN=https://{{ vaultwarden_server_name }}
{% if vaultwarden_yubico_client_id is defined %}
YUBICO_CLIENT_ID={{ vaultwarden_yubico_client_id }}
diff --git a/roles/vaultwarden/vars/main.yml b/roles/vaultwarden/vars/main.yml
index 5c232ad..3d55e20 100644
--- a/roles/vaultwarden/vars/main.yml
+++ b/roles/vaultwarden/vars/main.yml
@@ -19,9 +19,6 @@ vaultwarden_web_dir: '{{ vaultwarden_home }}/web-vault'
vaultwarden_data_dir: /var/lib/vaultwarden
vaultwarden_keytab: /var/lib/gssproxy/clients/{{ vaultwarden_user }}.keytab
-vaultwarden_admin_hbac_hostgroup: bitwarden_servers
-vaultwarden_admin_hbac_service: bitwarden-admin
-
vaultwarden_apache_config: |
{{ apache_proxy_config }}
<Location />