From: Ismaƫl Bouya Date: Sun, 18 Feb 2018 14:02:03 +0000 (+0100) Subject: Create cryptoportfolio user X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=76a321e1b7da9f122f35a9722d9f8f331b06f8aa;hp=f67c5285ae3847366129228576a1b41aad7cf05d;p=perso%2FImmae%2FProjets%2FPuppet.git Create cryptoportfolio user --- diff --git a/.gitmodules b/.gitmodules index 8071288..e893f13 100644 --- a/.gitmodules +++ b/.gitmodules @@ -34,7 +34,9 @@ [submodule "modules/nginx"] path = modules/nginx url = git://git.immae.eu/github/voxpupuli/puppet-nginx.git +[submodule "modules/archive"] + path = modules/archive + url = git://git.immae.eu/github/voxpupuli/puppet-archive.git [submodule "python/ovh"] path = python/ovh url = git://git.immae.eu/github/ovh/python-ovh - diff --git a/environments/production/data/nodes/vps494082.yaml b/environments/production/data/nodes/vps494082.yaml index 1e14c8f..e9f2e54 100644 --- a/environments/production/data/nodes/vps494082.yaml +++ b/environments/production/data/nodes/vps494082.yaml @@ -1 +1,3 @@ base_installation::system_hostname: cryptoportfolio.immae.eu +cryptoportfolio::front_version: v0.0.1 +cryptoportfolio::front_sha256: 1a2ec0d1d2b4c3efa7f7cae063c55dda174d058f31d8b6fb50f76492061d37f3 diff --git a/modules/archive b/modules/archive new file mode 160000 index 0000000..9af5cad --- /dev/null +++ b/modules/archive @@ -0,0 +1 @@ +Subproject commit 9af5cad2bbaafe0498032c38a37835e4ccba7d22 diff --git a/modules/role/manifests/cryptoportfolio.pp b/modules/role/manifests/cryptoportfolio.pp index 4643f9e..046b79e 100644 --- a/modules/role/manifests/cryptoportfolio.pp +++ b/modules/role/manifests/cryptoportfolio.pp @@ -35,4 +35,52 @@ class role::cryptoportfolio { } ensure_packages(["go", "npm", "nodejs", "yarn"]) + + user { "cryptoportfolio": + name => "cryptoportfolio", + ensure => "present", + managehome => true, + home => "/opt/cryptoportfolio", + system => true, + password => '!!', + } + + $front_version = lookup("cryptoportfolio::front_version") |$key| { {} } + $front_sha256 = lookup("cryptoportfolio::front_sha256") |$key| { {} } + + unless empty($front_version) { + file { "/opt/cryptoportfolio/front": + ensure => directory, + mode => "0700", + owner => "cryptoportfolio", + group => "cryptoportfolio", + } + + file { "/opt/cryptoportfolio/front/${front_version}": + ensure => directory, + mode => "0700", + owner => "cryptoportfolio", + group => "cryptoportfolio", + require => File["/opt/cryptoportfolio/front"], + } + + archive { "/opt/cryptoportfolio/front/${front_version}.tar.gz": + path => "/opt/cryptoportfolio/front/${front_version}.tar.gz", + source => "https://git.immae.eu/releases/cryptoportfolio/front/front_${front_version}.tar.gz", + creates => "/opt/cryptoportfolio/front/${front_version}/README.md", + checksum_type => "sha256", + checksum => $front_sha256, + cleanup => false, + extract => true, + extract_path => "/opt/cryptoportfolio/front/${front_version}", + require => File["/opt/cryptoportfolio/front/${front_version}"], + } + + file { "/opt/cryptoportfolio/front/current": + ensure => "link", + target => "/opt/cryptoportfolio/front/${front_version}", + require => Archive["/opt/cryptoportfolio/front/${front_version}.tar.gz"] + } + } + }