summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-08-09 15:14:15 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-08-09 15:14:15 +0200
commit586039e25a5f0e2284ed5a27420a1ec3953125fe (patch)
treef792f4b222b04e171a4f0607e83716908dcba748
parentChange tex package. (diff)
downloadprofiles-586039e25a5f0e2284ed5a27420a1ec3953125fe.tar.gz
profiles-586039e25a5f0e2284ed5a27420a1ec3953125fe.tar.xz
Add swagger-ui.
-rw-r--r--manifests/swagger_ui.pp46
1 files changed, 46 insertions, 0 deletions
diff --git a/manifests/swagger_ui.pp b/manifests/swagger_ui.pp
new file mode 100644
index 0000000..ec3e6b7
--- /dev/null
+++ b/manifests/swagger_ui.pp
@@ -0,0 +1,46 @@
+# @summary
+# Configures the Swagger UI
+#
+# https://swagger.io/tools/swagger-ui/
+#
+# @param local
+# Local component of where we want to be published.
+# @param zone
+# Zone where we want to be published.
+# @param www_root
+# Location in filesystem where entry can be found.
+class profiles::swagger_ui (
+ String $zone = $facts['domain'],
+ String $local = 'swagger-ui',
+ String $www_root = '/usr/share/webapps/swagger-ui',
+) {
+ $server_name = "${server_name}.${zone}"
+ include ::php_fpm
+
+ ensure_packages([
+ # Available in AUR
+ 'swagger-ui',
+ ])
+
+ @@dns::record { "AAAA ${server_name}":
+ type => 'AAAA',
+ zone => $zone,
+ key => $local,
+ value => $facts['ipaddress6'],
+ }
+
+ nginx::resource::server { $server_name:
+ ipv6_enable => true,
+ ipv6_listen_options => '',
+ www_root => $www_root,
+ use_default_location => false,
+ access_log => absent,
+ error_log => absent,
+ * => letsencrypt::conf::nginx($server_name),
+ }
+
+ php_fpm::nginx { 'swagger-ui':
+ server => $server_name,
+ www_root => $www_root,
+ }
+}