From ab679260c6d04f08d70cda5b452c2accfeceac35 Mon Sep 17 00:00:00 2001 From: Nick Walker Date: Fri, 14 Aug 2015 16:17:25 -0700 Subject: [PATCH] Add a gitlab profile / add ssh-keygen to puppetmaster profile --- site/profile/manifests/gitlab.pp | 7 +++++ site/profile/manifests/puppetmaster.pp | 38 ++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 site/profile/manifests/gitlab.pp diff --git a/site/profile/manifests/gitlab.pp b/site/profile/manifests/gitlab.pp new file mode 100644 index 0000000..720ee7f --- /dev/null +++ b/site/profile/manifests/gitlab.pp @@ -0,0 +1,7 @@ +class profile::gitlab { + + class { 'gitlab': + external_url => hiera( 'gms_server_url', "http://${::fqdn}") , + } + +} diff --git a/site/profile/manifests/puppetmaster.pp b/site/profile/manifests/puppetmaster.pp index 7bd9bea..1b00bdf 100644 --- a/site/profile/manifests/puppetmaster.pp +++ b/site/profile/manifests/puppetmaster.pp @@ -11,4 +11,42 @@ class profile::puppetmaster { group => 'root', } + ##BEGIN - r10k webhook support + include r10k::mcollective + + include r10k::webhook::config + + class {'r10k::webhook': + user => 'root', + group => '0', + require => Class['r10k::webhook::config'], + } + ##END - r10k webhook support + + #BEGIN - Generate an SSH key for r10k to connect to git + $r10k_ssh_key_file = '/root/.ssh/r10k_rsa' + exec { 'create r10k ssh key' : + command => "/usr/bin/ssh-keygen -t rsa -b 2048 -C 'r10k' -f ${r10k_ssh_key_file} -q -N ''", + creates => $r10k_ssh_key_file, + } + #END - Generate an SSH key for r10k to connect to git + + #BEGIN - Add deploy key to git management system + $git_management_system = hiera('git_management_system', '') + + if $git_management_system in ['gitlab', 'github'] { + + git_deploy_key { "add_deploy_key_to_puppet_control-${fqdn}": + ensure => present, + name => $::fqdn, + path => "${r10k_ssh_key_file}.pub", + token => hiera('gms_api_token'), + project_name => 'puppet/control', + server_url => hiera('gms_server_url'), + provider => $git_management_system, + } + + } + #END - Add deploy key to git management system + }