This is possible, and it is not documented well. Different parts of getting 
it to work are in different sections of the online documentation. I got 
this working recently with these conditions:

   - One puppet server is the CA master as well as a normal compile master
   - Puppet masters exist at other data centers and are compile masters for 
   agents at their sites, with all other masters/agents using the CA master 
   for SSL
   - Each puppet master has a cron to regularly do a 'git pull' of the 
   puppet environment git repos to /etc/puppetlabs/code/environments so all 
   agents use the same code. Recommendation: GitLab CE (free) is amazing.
   - A separate server hosts puppetdb, and all masters send agent reports 
   to it. To make this work, all agents/masters need to use the same CA

On the first puppetmaster that will also be the CA master:

   - Install puppetserver
   - In its /etc/puppetlabs/puppet/puppet.conf [main] section:
      - server = <its FQDN>
      - ca_server = <its FQDN>
   - Startup puppetserver on it
   - Put your code into /etc/puppetlabs/code/environments
   - Configure it to be an agent to itself and ensure it successfully runs 
   before proceeding

On other masters:

   - Install puppetserver
   - Setup the git repos into /etc/puppetlabs/code/environments as you did 
   for the CA master
   - Modify /etc/puppetlabs/puppetserver/bootstrap.cfg and follow the 
   comment's instruction on disabling the CA service
   - Modify /etc/puppetlabs/puppetserver/conf.d/webserver.conf per 
   https://docs.puppet.com/puppetserver/2.2/external_ca_configuration.html
   - In its /etc/puppetlabs/puppet/puppet.conf [main] section:
      - server = <its FQDN>
      - ca_server = <FQDN of CA master>
   - In its [agent] section, make its 'server' be the CA master and set the 
   correct environment
   - Run the agent successfully (against the CA master), then make 'server' 
   be its own FQDN, then run it successfully again

Configure all masters to send reports to puppetdb:

   - Under [master], add:
   - 
   
   storeconfigs = true
   storeconfigs_backend = puppetdb
   reports = puppetdb
   
   

On agents:

   - In the [main] section, have 'ca_server = <FQDN of CA master>'
   - In the [agent] section, have 'server = <FQDN of the master for its 
   site>'
   - Send agent reports, in the [agent] section, add: report = true


On the separate PuppetDB server:

   - Configure it as an agent and successfully run the puppet agent
   - Install the excellent puppetlabs-puppetdb module from puppetforge into 
   your environment(s)
   - In your site.pp node section, configure your masters and puppetdb 
   server as such with the module:
   - 
   
   # Puppet masters send reports to puppetdb server
       if $::hostname =~ /(camaster|master1|master2|master3)/ {
         class { 'puppetdb::master::config':
           puppetdb_server => 'puppetdbserver.example.com',
         }
       }
   
       # This is the puppetdb server
       if $::hostname == 'puppetdbserver' {
         class { 'puppetdb':
           listen_address        => '0.0.0.0',
           open_listen_port      => true,
           open_ssl_listen_port  => true,
           java_args => { '-Xmx' => '2g', },
         }
       }
   
   - I highly recommend using puppetboard with 
   puppetdb: https://github.com/voxpupuli/puppetboard


On Wednesday, April 20, 2016 at 7:59:00 AM UTC-5, Geoff Galitz wrote:
>
>
> Hi...
>
> Is it possible to get compile master, master of master and code manager 
> (file sync) working in the open source versions?  Specifically:
>
> puppetserver-2.3.1-1.el7.noarch
> puppetlabs-release-pc1-1.0.0-1.el7.noarch
>
> Or are there pointers to get similar functionality via the open source 
> packages?
>
> -G
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/592c18b2-b20a-44a2-90c8-86365a1ee542%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to