SIMP 6.4+ is intended to support the Puppet deployment scenarios described in this article.


Contents:

Overview

Deployment strategies vary widely, based on a site’s infrastructure, existing policies, and administrative considerations. SIMP broadly groups these strategies into two high-level deployment scenarios, with some important variations:

Deployment ScenarioVariationr10k command

Control Repo?

Module
Repos

Autodeploy
from Git?

Local (Puppetfile-only)Local module reposr10k puppetfile install(error)Local (from RPMs)(error)


Control Repo

Manual r10kr10k deploy environment



(tick)


Remote

(Git hosting service)

(error)
Webhook + r10kr10k deploy environment(tick)
PE Code Managerpuppet code deploy(tick)




Local (Puppetfile-only) Scenarios 


Local: Deploying from Local module repos 

This is the initial deployment scenario immediately after Installing SIMP from an ISO.

Under this scenario, a local r10k user will:

Notes:

Control Repository Scenarios 


Administrators of all control repository scenarios are assumed to have enough git and r10k (or Code Manager) expertise to manage their own infrastructure. 

This includes:

  • Arranging their own external git-hosting service
  • Managing their own Puppet control repository
  • Updating their modules repositories with the contents delivered on the local filesystem by SIMP Puppet module RPMs.

Control Repo: Manual r10k deploy 

Puppet admins:

Control Repo: Webhook-triggered r10k deploy 

Puppet admins:

When a control repository branch is updated, it automatically triggers an environment deployment on the Puppet master:

  1. The Git-hosting service uses a webhook to notify the Puppet master about the branch that was changed
  2. The webhook on the Puppet master triggers r10k to deploy the branch as an environment

Control Repo: PE Code Manager & File Sync 


Puppet admins:

When a control repository branch is updated, it automatically triggers an environment deployment on the Puppet master:

  1. The Git-hosting service uses a webhook to notify the PE master/MoM about the branch that was changed
  2. The webhook on the Puppet master triggers PE Code Manager to deploy the branch as a staged environment
  3. The PE File Sync service distributes the staged environment to any compile masters, and promotes the code from staging to live use.

References