diff options
-rw-r--r-- | manifests/tozt.pp | 1 | ||||
-rw-r--r-- | modules/bitwarden/files/bitwarden.service | 10 | ||||
-rw-r--r-- | modules/bitwarden/manifests/server.pp | 22 | ||||
-rw-r--r-- | modules/tozt/manifests/bitwarden.pp | 3 |
4 files changed, 36 insertions, 0 deletions
diff --git a/manifests/tozt.pp b/manifests/tozt.pp index 3f0e17e..79294fb 100644 --- a/manifests/tozt.pp +++ b/manifests/tozt.pp @@ -13,6 +13,7 @@ node 'tozt', 'tozt.localdomain' { Class['tozt::operatingsystem'] -> Package<| provider == "pacman" |> include tozt::backups + include tozt::bitwarden include tozt::git include tozt::metabase include tozt::monitoring diff --git a/modules/bitwarden/files/bitwarden.service b/modules/bitwarden/files/bitwarden.service new file mode 100644 index 0000000..49f422f --- /dev/null +++ b/modules/bitwarden/files/bitwarden.service @@ -0,0 +1,10 @@ +[Unit] +Description = runs bitwarden +After=network.target + +[Service] +ExecStart=/usr/bin/docker run --name bitwarden -v /media/persistent/bitwarden/:/data/ -p 8080:80 bitwardenrs/server:latest +Restart=on-failure + +[Install] +WantedBy=default.target diff --git a/modules/bitwarden/manifests/server.pp b/modules/bitwarden/manifests/server.pp new file mode 100644 index 0000000..061af38 --- /dev/null +++ b/modules/bitwarden/manifests/server.pp @@ -0,0 +1,22 @@ +class bitwarden::server { + include docker + include systemd + + exec { "docker pull bitwardenrs/server:latest": + provider => "shell", + unless => "docker ps | grep -q bitwardenrs", + require => Service["docker"]; + } + + file { "/etc/systemd/system/bitwarden.service": + source => "puppet:///modules/bitwarden/bitwarden.service", + notify => Exec["/usr/bin/systemctl daemon-reload"]; + } + + service { "bitwarden": + ensure => running, + enable => true, + require => Exec["docker pull bitwardenrs/server:latest"], + subscribe => File["/etc/systemd/system/bitwarden.service"]; + } +} diff --git a/modules/tozt/manifests/bitwarden.pp b/modules/tozt/manifests/bitwarden.pp new file mode 100644 index 0000000..21e4475 --- /dev/null +++ b/modules/tozt/manifests/bitwarden.pp @@ -0,0 +1,3 @@ +class tozt::bitwarden { + include bitwarden +} |