Dominic,
 

> > looks like Foreman expects that you create Puppet classes on the Foreman 
> > UI, but you have to install modules from the command line, directly on 
> > the server 
>
> You don't "have" to do this, you should probably deploy the Puppet 
> environment and modules from source control using r10k or 
> librarian-puppet. Installing modules by hand is fine for an example 
> (e.g. in documentation), but you should have a better way to do it in 
> practice. 
>

Thanks for pointing this out. Solves one problem. So, I can add 
dependencies in Modulefile or metadata.json, and let our CI server deploy 
the changes to the Foreman host.

> Later, you have to issue a command from to UI to sync the 
> > changes in the file system with the Foreman database. 
>
> You can also run `foreman-rake puppet:import:puppet_classes[batch]` 
> after deploying the environment change(s). 
>
 
Fantastic, thanks for the hint!

Changes to hosts and their assigned Puppet classes made through the 
> Foreman UI should have audit entries created under Monitor > Audits, but 
> there's no rollback mechanism. 
>

A question aside: Where is the Puppet configuration that was (is) used by 
`foreman-install`? I suspected it to live under 
`/etc/puppetlabs/code/environments/production/`, but no it's not. I need 
the configuration of the Foreman host be under version control right after 
completing the installation. Only this will allow me to apply changes to 
the host in a controlled manner. Is it thrown away after the installation 
was completed?
 

> As you say, changes to the modules in the deployed Puppet environments 
> can, and probably should, be version controlled. This isn't done within 
> Foreman. 
>
 
That's fine as long as I can set this up during the initial setup of the 
Foreman host.

Foreman doesn't modify Puppet environments, manifests or any other 
> on-disk data in your Puppet environment, it only imports from them. This 
> sounds quite reasonable and sensible. 
>

Good.

If you want to version control host/node classification, then you'd be 
> much better off doing that inside your Puppet manifests and data files, 
> then deploying it alongside the modules in your Puppet environment from 
> source control. Foreman would just be used for reporting and provisioning. 
>

That sounds like what I want.

If you want to use Foreman's web UI to manage hosts rather than source 
> control, then do so, and you can still deploy modules in the Puppet 
> environment from source control. 
>

I don't get that, sorry. What do you intend with "manage host rather than 
source control" (through Foreman's UI)?

I want the configuration changes to happen through source control only. 
Forman only for transparency, i.e. reporting, sounds perfect.

Peter

-- 
You received this message because you are subscribed to the Google Groups 
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to