git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/scripts/config_version-r10k.rb
diff options
context:
space:
mode:
authormail_redacted_for_web 2019-10-16 10:16:34 -0700
committermail_redacted_for_web 2019-10-16 10:26:21 -0700
commitada94157a42e1d20112eaa74618e2f22db4ed560 (patch)
tree1ff2a4cba732da1c118cc8bb460178643ea14193 /scripts/config_version-r10k.rb
parent415a71dd59c17093684efd3a1376afe1bfb8824d (diff)
downloadcontrol-repo-template-ada94157a42e1d20112eaa74618e2f22db4ed560.tar.bz2
Restore and clarify config_version functionality
This branch is intended as a portability fix. Some functionailty had been inadvertently removed as unused, but testing revealed that it had a purpose. Because the purpose was unclear, this commit restores the functionality AND clarifies it in the script names and comments in config_version.sh.
Diffstat (limited to 'scripts/config_version-r10k.rb')
-rwxr-xr-xscripts/config_version-r10k.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/config_version-r10k.rb b/scripts/config_version-r10k.rb
new file mode 100755
index 0000000..beacabc
--- /dev/null
+++ b/scripts/config_version-r10k.rb
@@ -0,0 +1,19 @@
+#!/opt/puppetlabs/puppet/bin/ruby
+require 'json'
+require 'socket'
+
+environmentpath = ARGV[0]
+environment = ARGV[1]
+
+# Get the hostname of the Puppet master compiling the catalog.
+# Sometimes the hostname is the fqdn, so we'll take the first segment.
+compiling_master = Socket.gethostname.split('.').first
+
+# Get the path to the Code Manager deployment info file.
+r10k_deploy_file_path = File.join(environmentpath, environment, '.r10k-deploy.json')
+
+# Get the first 12 characters of the commit ID out of the deployment file.
+commit_id = JSON.parse(File.read(r10k_deploy_file_path))['signature'][0...11]
+
+# Show the compiling master, environment name, and commit ID.
+puts "#{compiling_master}-#{environment}-#{commit_id}"