summaryrefslogtreecommitdiff
path: root/code/environments/production/modules/stdlib/manifests
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-12-20 12:39:15 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-12-20 12:39:15 +0100
commitf56d2d7888be1a27d7ef05d850afdc4e9dbb464a (patch)
treee193c75cbdb40c5290906d97b3ac8966a1099a47 /code/environments/production/modules/stdlib/manifests
downloadpuppet.SGM-f56d2d7888be1a27d7ef05d850afdc4e9dbb464a.tar.gz
puppet.SGM-f56d2d7888be1a27d7ef05d850afdc4e9dbb464a.tar.bz2
puppet.SGM-f56d2d7888be1a27d7ef05d850afdc4e9dbb464a.zip
initial draft of a minimal puppet config template
Diffstat (limited to 'code/environments/production/modules/stdlib/manifests')
-rw-r--r--code/environments/production/modules/stdlib/manifests/init.pp18
-rw-r--r--code/environments/production/modules/stdlib/manifests/stages.pp43
2 files changed, 61 insertions, 0 deletions
diff --git a/code/environments/production/modules/stdlib/manifests/init.pp b/code/environments/production/modules/stdlib/manifests/init.pp
new file mode 100644
index 0000000..9ea22a7
--- /dev/null
+++ b/code/environments/production/modules/stdlib/manifests/init.pp
@@ -0,0 +1,18 @@
+# Class: stdlib
+#
+# This module manages stdlib. Most of stdlib's features are automatically
+# loaded by Puppet, but this class should be declared in order to use the
+# standardized run stages.
+#
+# Parameters: none
+#
+# Actions:
+#
+# Declares all other classes in the stdlib module. Currently, this consists
+# of stdlib::stages.
+#
+# Requires: nothing
+#
+class stdlib {
+ include ::stdlib::stages
+}
diff --git a/code/environments/production/modules/stdlib/manifests/stages.pp b/code/environments/production/modules/stdlib/manifests/stages.pp
new file mode 100644
index 0000000..7de254c
--- /dev/null
+++ b/code/environments/production/modules/stdlib/manifests/stages.pp
@@ -0,0 +1,43 @@
+# Class: stdlib::stages
+#
+# This class manages a standard set of run stages for Puppet. It is managed by
+# the stdlib class, and should not be declared independently.
+#
+# The high level stages are (in order):
+#
+# * setup
+# * main
+# * runtime
+# * setup_infra
+# * deploy_infra
+# * setup_app
+# * deploy_app
+# * deploy
+#
+# Parameters: none
+#
+# Actions:
+#
+# Declares various run-stages for deploying infrastructure,
+# language runtimes, and application layers.
+#
+# Requires: nothing
+#
+# Sample Usage:
+#
+# node default {
+# include ::stdlib
+# class { java: stage => 'runtime' }
+# }
+#
+class stdlib::stages {
+
+ stage { 'setup': before => Stage['main'] }
+ stage { 'runtime': require => Stage['main'] }
+ -> stage { 'setup_infra': }
+ -> stage { 'deploy_infra': }
+ -> stage { 'setup_app': }
+ -> stage { 'deploy_app': }
+ -> stage { 'deploy': }
+
+}