summaryrefslogtreecommitdiffstats
path: root/modules/bitwarden/manifests/server.pp
blob: aca2b5711e92936fc93bfc3f8fbff65094ff33ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class bitwarden::server($data_dir) {
  include podman
  include systemd

  $admin_token = secret::value('vaultwarden_admin_token')
  $smtp_password = secret::value('vaultwarden_smtp_password')

  exec { "podman pull docker.io/vaultwarden/server:latest":
    provider => "shell",
    unless => "podman ps | grep -q vaultwarden",
    require => Package["podman"];
  }

  file { $data_dir:
    ensure => directory;
  }

  systemd::service { "vaultwarden":
    content => template("bitwarden/vaultwarden.service"),
  }

  service { "vaultwarden":
    ensure => running,
    enable => true,
    require => [
      Class["podman"],
      Exec["podman pull docker.io/vaultwarden/server:latest"],
      Systemd::Service["vaultwarden"],
    ]
  }
}