From d4b7b58505ad54d994b614917b163a6130aa5e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 1 Jan 2022 23:25:16 +0100 Subject: Revert "Revert "Add node classifier."" This reverts commit 47b7cf515de6ba9d1d65255aef98362ddb5870de. --- modules/profiles/files/node-classifier.py | 29 +++++++++++++++++++++++++++++ modules/profiles/manifests/puppetserver.pp | 11 ++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 modules/profiles/files/node-classifier.py 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 ') + 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, } } -- cgit v1.2.3