From 3f3bcfa80316f0123113afcb3dad587f5ef1b0c9 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Thu, 3 Oct 2024 23:37:44 -0600 Subject: [PATCH] Update Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md --- .../Automation/Puppet/Puppet Deployment.md | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md b/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md index 6180979..b47b3cf 100644 --- a/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md +++ b/Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md @@ -7,34 +7,40 @@ Puppet is another declarative configuration management tool that excels in syste ## Architectural Overview ``` mermaid sequenceDiagram - participant Gitea + participant Gitea as Gitea Repo (Puppet Environment) participant r10k as r10k (Environment Deployer) - participant PuppetMaster as Puppet Server - participant Agent as Managed Agent + participant PuppetMaster as Puppet Server (lab-puppet-01.bunny-lab.io) + participant Agent as Managed Agent (fedora.bunny-lab.io) participant Neofetch as Neofetch Package - loop When PuppetMaster is triggered - PuppetMaster->>Gitea: Pull Puppet Environment updates - Gitea->>PuppetMaster: Send latest Puppet repository code - PuppetMaster->>r10k: Deploy environment - r10k->>PuppetMaster: Fetch and install modules - r10k->>PuppetMaster: Compile environment and apply updates - end + %% PuppetMaster pulling environment updates + PuppetMaster->>Gitea: Pull Puppet Environment updates + Gitea-->>PuppetMaster: Send latest Puppet repository code - loop Agent Check-in - Agent->>PuppetMaster: Request catalog - PuppetMaster->>Agent: Authenticate and verify certificate - Agent->>PuppetMaster: Send facts about system - PuppetMaster->>PuppetMaster: Compile catalog based on manifest - PuppetMaster->>Agent: Send catalog - end + %% r10k deployment process + PuppetMaster->>r10k: Deploy environment with r10k + r10k->>PuppetMaster: Fetch and install Puppet modules + r10k-->>PuppetMaster: Compile environments and apply updates - alt Neofetch not installed - Agent->>Neofetch: Install neofetch - Neofetch->>Agent: Installation complete - end - - Agent->>PuppetMaster: Report status (neofetch installed) + %% Agent enrollment process + Agent->>PuppetMaster: Request to enroll (Agent Check-in) + PuppetMaster->>Agent: Verify SSL Certificate & Authenticate + Agent-->>PuppetMaster: Send facts about system (Facter) + + %% PuppetMaster compiles catalog for the agent + PuppetMaster->>PuppetMaster: Compile Catalog + PuppetMaster->>PuppetMaster: Check if 'neofetch' is required in manifest + PuppetMaster-->>Agent: Send compiled catalog with 'neofetch' installation instructions + + %% Agent installs neofetch + Agent->>Agent: Check if 'neofetch' is installed + Agent--xNeofetch: 'neofetch' not installed + Agent->>Neofetch: Install 'neofetch' + Neofetch-->>Agent: Installation complete + + %% Agent reports back to PuppetMaster + Agent->>PuppetMaster: Report status (catalog applied and neofetch installed) + ``` ## Deployment Steps: