From 586039e25a5f0e2284ed5a27420a1ec3953125fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 9 Aug 2023 15:14:15 +0200 Subject: Add swagger-ui. --- manifests/swagger_ui.pp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 manifests/swagger_ui.pp 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, + } +} -- cgit v1.2.3