diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-01 23:25:16 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-01-01 23:25:16 +0100 |
commit | d4b7b58505ad54d994b614917b163a6130aa5e17 (patch) | |
tree | 33cca90bd7e41ba12c9da06123d932d3cd7a674c /modules/profiles | |
parent | Add yoursql node. (diff) | |
download | webdav_server-d4b7b58505ad54d994b614917b163a6130aa5e17.tar.gz webdav_server-d4b7b58505ad54d994b614917b163a6130aa5e17.tar.xz |
Revert "Revert "Add node classifier.""
This reverts commit 47b7cf515de6ba9d1d65255aef98362ddb5870de.
Diffstat (limited to '')
-rw-r--r-- | modules/profiles/files/node-classifier.py | 29 | ||||
-rw-r--r-- | modules/profiles/manifests/puppetserver.pp | 11 |
2 files changed, 39 insertions, 1 deletions
diff --git a/modules/profiles/files/node-classifier.py b/modules/profiles/files/node-classifier.py new file mode 100644 index 0000000..3edefd4 --- /dev/null +++ b/modules/profiles/files/node-classifier.py @@ -0,0 +1,29 @@ +#!/usr/bin/env pythton + +import yaml +import sys + +# https://puppet.com/docs/puppet/7/nodes_external.html + +data = { + 'yoursql.adrift.space': { + # must contain at least either classes or parameters + 'classes': [ + 'profiles::common', + ], + 'environment': 'mysql', + }, +} + +def main(args): + if len(args) == 1: + print('usage ./node-classifier <node-name>') + return + + nodename = sys.argv[1] + instance = data.get(nodename) + if not instance: return 1 + print(yaml.dump(instance)) + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/modules/profiles/manifests/puppetserver.pp b/modules/profiles/manifests/puppetserver.pp index 8620fae..5bc1c3b 100644 --- a/modules/profiles/manifests/puppetserver.pp +++ b/modules/profiles/manifests/puppetserver.pp @@ -2,6 +2,15 @@ class profiles::puppetserver { # required for the git hook ensure_packages(['ruby']) + file { '/usr/libexec': + ensure => directory, + } + + file { '/usr/libexec/external-node-classifier': + mode => '0555', + source => 'puppet:///modules/profiles/node-classifier.py', + } + class { 'puppet': server => true, server_foreman => false, @@ -9,7 +18,7 @@ class profiles::puppetserver { server_storeconfigs => true, server_git_repo => true, server_git_repo_path => '/var/lib/puppet.git', - server_external_nodes => '', + server_external_nodes => '/usr/libexec/external-node-classifier', server_strict_variables => true, } } |