diff --git a/manifests/site.pp b/manifests/site.pp index 4a9d55b949fded5496548392ec50cc1c995901d5..af1a0dcdf2f0d694c9c8cfd99d533aec540b4ba2 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -16,4 +16,9 @@ node 'liufs-test' { # include ::ssh include ::wordpress # include ::lysbackup + + insidan::openproject { 'ourthingy': + logo => 'liufs.png', + url => 'liufs-test.lysator.liu.se', + } } diff --git a/modules/insidan/manifests/certificates.pp b/modules/insidan/manifests/certificates.pp index 37e46647733d227a2e4f8ab27c7b3d177b03fbc6..ef609b48474952290a681a747258dd66f42fe6c9 100644 --- a/modules/insidan/manifests/certificates.pp +++ b/modules/insidan/manifests/certificates.pp @@ -1,11 +1,15 @@ -class insidan::certificates { +define insidan::certificates ( + $email = 'hx@hx.ax', # Putting in my personal email for now + $url = 'insidan.holgerspexet.se', +) { class { '::letsencrypt': - email => 'hx@hx.ax', # Putting in my personal email for now + email => $email, } - letsencrypt::certonly { 'insidan.holgerspexet.se': - domains => [ 'insidan.holgerspexet.se', - 'holgerspexet.lysator.liu.se', + letsencrypt::certonly { $url: + domains => [ $url, + # TODO multiple domains + # 'holgerspexet.lysator.liu.se', ], manage_cron => true, suppress_cron_output => true, diff --git a/modules/insidan/manifests/openproject.pp b/modules/insidan/manifests/openproject.pp index 22b72397ee79bea4695705b4edadf0bfb3eff62c..1574de364f413ec6b101bdcb9190a5835118746e 100644 --- a/modules/insidan/manifests/openproject.pp +++ b/modules/insidan/manifests/openproject.pp @@ -1,13 +1,23 @@ -class insidan::openproject { +define insidan::openproject ( + $logo = "holgerlogo.png", + $url = "insidan.holgerspexet.se", + +) { +# class insidan::openproject { include nginx - include insidan::certificates + # insidan::certificates { 'openprojectcert': # url => $url, + # email => 'hugo.hornquist@liuformulastudent.se', # TODO NOOOOOOO + # } # This is horrible. Please fix. exec { 'install openproject repos': - command => 'bash -e wget -qO- https://dl.packager.io/srv/opf/openproject-ce/key | apt-key add -; sudo wget -O /etc/apt/sources.list.d/openproject-ce.list - https://dl.packager.io/srv/opf/openproject-ce/stable/10/installer/ubuntu/18.04.repo', - creates => '/etc/apt/sources.list.d/openproject-ce.list', + command => 'bash -e wget -qO- https://dl.packager.io/srv/opf/openproject/key | apt-key add -; sudo wget -O /etc/apt/sources.list.d/openproject.list https://dl.packager.io/srv/opf/openproject/stable/10/installer/ubuntu/18.04.repo', + creates => '/etc/apt/sources.list.d/openproject.list', path => ['/usr/bin', '/usr/sbin', '/bin'], }~> + exec { 'apt update': + command => 'apt update', + path => ['/usr/bin', '/usr/sbin', '/bin'], + } package { 'openproject' : ensure => installed, # Here, someone MUST run `openproject configure`. At least until we @@ -42,16 +52,18 @@ class insidan::openproject { # Setup Nginx - nginx::resource::server { 'insidan.holgerspexet.se': - require => [ Class['::insidan::certificates'], ], - server_name => ['insidan.holgerspexet.se'], + nginx::resource::server { $url: + listen_port => 8080, + # TODO!!!! + # require => [ Class['::insidan::certificates'], ], + server_name => [$url], proxy => 'http://localhost:6000', # Encrypt everything - ssl_redirect => true, - ssl => true, - ssl_cert => '/etc/letsencrypt/live/insidan.holgerspexet.se/fullchain.pem', - ssl_key => '/etc/letsencrypt/live/insidan.holgerspexet.se/privkey.pem', + # ssl_redirect => true, + # ssl => true, + # ssl_cert => "/etc/letsencrypt/live/${url}/fullchain.pem", + # ssl_key => "/etc/letsencrypt/live/${url}/privkey.pem", # Forward secret stuff proxy_set_header => [ "X-Forwarded-Proto \$scheme", @@ -64,14 +76,14 @@ class insidan::openproject { ssl_prefer_server_ciphers => 'on', } - file { '/opt/openproject/public/assets/logo_openproject_white_big-2c6d79fa03613154cf6bd67c622dbae5b93ed3199e0e7332d96b6f8ec21f85a1.png': - ensure => file, - source => 'puppet:///modules/insidan/holgerlogga.png' - } + # file { '/opt/openproject/public/assets/logo_openproject_white_big-2c6d79fa03613154cf6bd67c622dbae5b93ed3199e0e7332d96b6f8ec21f85a1.png': + # ensure => file, + # source => "puppet:///modules/insidan/${logo}" + # } file { '/srv/test.png': ensure => file, - source => 'puppet:///modules/insidan/holgerlogga.png' + source => "puppet:///modules/insidan/${logo}" } }