diff options
Diffstat (limited to '')
-rw-r--r-- | manifests/emperor.pp | 25 | ||||
-rw-r--r-- | manifests/package.pp | 7 | ||||
-rw-r--r-- | manifests/vassal.pp | 10 | ||||
-rw-r--r-- | templates/emperor.ini.epp | 2 |
4 files changed, 44 insertions, 0 deletions
diff --git a/manifests/emperor.pp b/manifests/emperor.pp new file mode 100644 index 0000000..fc39272 --- /dev/null +++ b/manifests/emperor.pp @@ -0,0 +1,25 @@ +class uwsgi::emperor ( + String $path = '/etc/uwsgi/vassals', + Optional[String] $listen = undef, +) { + + include ::uwsgi::package + + file { '/etc/uwsgi/emperor.ini': + content => epp("${module_name}/emperor.ini.epp"), + } + + if $listen != undef { + systemd::dropin_file { 'emperor.uwsgi.socket': + content => @("EOF") + ListenStream= + ListenStream=${listen} + | EOF + } + } + + service { 'emperor.uwsgi.socket': + ensure => running, + enable => true, + } +} diff --git a/manifests/package.pp b/manifests/package.pp new file mode 100644 index 0000000..2c3fd84 --- /dev/null +++ b/manifests/package.pp @@ -0,0 +1,7 @@ +class uwsgi::package ( + Boolean $manage_package = true, +) { + if ($manage_package) { + ensure_packages(['uwsgi']) + } +} diff --git a/manifests/vassal.pp b/manifests/vassal.pp new file mode 100644 index 0000000..cd9f9c3 --- /dev/null +++ b/manifests/vassal.pp @@ -0,0 +1,10 @@ +define uwsgi::vassal ( + String $path, + String $vassal_name = $name, + Enum['present', 'absent'] $ensure = 'present', +) { + include ::uwsgi::emperor + file { "${uwsgi::emperor::path}/${vassal_name}.ini": + ensure => $ensure ? { 'present' => 'link', 'absent' => 'absent' }, + } +} diff --git a/templates/emperor.ini.epp b/templates/emperor.ini.epp new file mode 100644 index 0000000..f67bf17 --- /dev/null +++ b/templates/emperor.ini.epp @@ -0,0 +1,2 @@ +[uwsgi] +emperor = <%= $uwsgi::emperor::path %> |