aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-06-20 02:01:46 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-06-20 02:01:46 +0200
commit5a4ed134fea123837772ba5d1911716f198bc6f6 (patch)
tree8b376e1ba6772dd90bcccfd552e81000ad778ec6
parentfixes (diff)
downloadconcourse-5a4ed134fea123837772ba5d1911716f198bc6f6.tar.gz
concourse-5a4ed134fea123837772ba5d1911716f198bc6f6.tar.xz
fixes
-rw-r--r--manifests/init.pp4
-rw-r--r--manifests/proxy/nginx.pp10
-rw-r--r--manifests/web.pp19
-rw-r--r--manifests/worker.pp2
4 files changed, 21 insertions, 14 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 368b558..e6f988c 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -6,6 +6,9 @@
# Cluster used by all resources if no specific cluster is specified.
# @param worker_service
# Name of the the system service for workers.
+# @param key_dir
+# Directory in which keys should be stored.
+# Used by other resources.
# @param clusters
# Hash from cluster name to default values for each cluster.
# Each key should be the name of a cluster, and the options are as follows:
@@ -20,6 +23,7 @@ class concourse (
String $default_cluster,
String $worker_work_dir = '/opt/concourse/worker',
String $worker_service = 'concourse-worker',
+ String $key_dir = '/usr/lib/concourse/keys',
Hash[String, Hash[String, Any]] $clusters = {},
) {
# Merge all configured clusters we find in hiera, and append those
diff --git a/manifests/proxy/nginx.pp b/manifests/proxy/nginx.pp
index 7965d4b..ad4fa17 100644
--- a/manifests/proxy/nginx.pp
+++ b/manifests/proxy/nginx.pp
@@ -7,18 +7,22 @@
# Name of the nginx server, will also be used for rev-proxy routing.
# @param cluster
# Name of the concourse cluster.
+# @param upstream_members
+# Members of this cluster. If puppetdb is available then these are
+# collected automatically from each instance of `concourse::web`.
+# But if that is not an option then they can be specified manually.
# @param ensure
define concourse::proxy::nginx (
String $server_name = $name,
String $cluster = $concourse::default_cluster,
+ Optional[Nginx::UpstreamMembers] $upstream_members = undef,
Enum['absent', 'present'] $ensure = 'present',
) {
include concourse
- # Members are collected through the puppet database.
- # TODO optionally allow manually specifying them.
nginx::resource::upstream { $cluster:
- ensure => $ensure,
+ ensure => $ensure,
+ members => $upstream_members,
}
nginx::resource::server { $server_name:
diff --git a/manifests/web.pp b/manifests/web.pp
index e61ff12..fce84cc 100644
--- a/manifests/web.pp
+++ b/manifests/web.pp
@@ -75,7 +75,7 @@ class concourse::web (
Variant[String, Sensitive[String]] $tsa_private_key = $concourse::configured_clusters[$cluster]['tsa_private_key'],
Array[String] $worker_public_keys = [],
- String $key_dir = '/usr/lib/concourse',
+ String $key_dir = $concourse::key_dir,
String $session_signing_key_file = "${key_dir}/session_signing_key",
String $tsa_host_key_file = "${key_dir}/tsa_host_key",
String $tsa_authorized_keys_file = "${key_dir}/authorized_worker_keys",
@@ -147,6 +147,7 @@ class concourse::web (
file { $key_dir:
ensure => if $ensure == 'present' { 'directory' } else { 'absent' },
+ # TODO this also chmod's all children...
mode => '0700',
recurse => true,
force => true,
@@ -165,7 +166,7 @@ class concourse::web (
;
}
- concat { "authorized_workers_key - ${cluster}":
+ concat { "authorized_worker_key - ${cluster}":
path => $tsa_authorized_keys_file,
warn => '# File managed by puppet, local changes WILL be overwritten',
ensure_newline => true,
@@ -188,13 +189,11 @@ class concourse::web (
enable => true,
}
- notify { $peer_address:
- }
-
# Exported resource
- # @@nginx::resource::upstream::member { $trusted['certname']:
- # ensure => $ensure,
- # upstream => $cluster,
- # server => "${peer_address}:8080",
- # }
+ @@nginx::resource::upstream::member { $trusted['certname']:
+ ensure => $ensure,
+ upstream => $cluster,
+ server => $peer_address,
+ port => 8080,
+ }
}
diff --git a/manifests/worker.pp b/manifests/worker.pp
index 2d25395..b45a3fe 100644
--- a/manifests/worker.pp
+++ b/manifests/worker.pp
@@ -64,7 +64,7 @@
# to the worker process.
class concourse::worker (
String $cluster = $concourse::default_cluster,
- Stdlib::Absolutepath $key_dir = '/usr/lib/concourse',
+ Stdlib::Absolutepath $key_dir = $concourse::key_dir,
Stdlib::Absolutepath $worker_private_key_file = "${key_dir}/worker_key",
Stdlib::Absolutepath $worker_public_key_file = "${worker_private_key_file}.pub",
String $service = $concourse::worker_service,