From faea1284dc89aceaf4fd2a2dd990798bf3ceed12 Mon Sep 17 00:00:00 2001 From: Evgeni Golov Date: Fri, 15 Nov 2024 08:21:15 +0100 Subject: [PATCH] add dedicated website profile for web + downloads --- puppet/manifests/site.pp | 5 ++++ puppet/modules/profiles/manifests/website.pp | 25 ++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 puppet/modules/profiles/manifests/website.pp diff --git a/puppet/manifests/site.pp b/puppet/manifests/site.pp index b43befa30..8d1d6a336 100644 --- a/puppet/manifests/site.pp +++ b/puppet/manifests/site.pp @@ -51,3 +51,8 @@ include profiles::base include profiles::repo::rpm } + +node /^website\d+\.[a-z]+\.theforeman\.org$/ { + include profiles::base + include profiles::website +} diff --git a/puppet/modules/profiles/manifests/website.pp b/puppet/modules/profiles/manifests/website.pp new file mode 100644 index 000000000..785e3d841 --- /dev/null +++ b/puppet/modules/profiles/manifests/website.pp @@ -0,0 +1,25 @@ +# @summary A profile for the machines hosting the website and downloads +# +# @param stable +# Latest release that users expect +# +# @param https +# Whether to enable HTTPS. This is typically wanted but can only be enabled +# in a 2 pass setup. First Apache needs to run for Letsencrypt to function. +# Then Letsencrypt can be enabled. Also useful to turn off in test setups. +class profiles::website ( + String[1] $stable, + Boolean $https = true, +) { + class { 'web': + https => $https, + } + contain web + + contain web::vhost::downloads + + class { 'web::vhost::web': + stable => $stable, + } + contain web::vhost::web +}