Update Servers & Workflows/Linux/Automation/Puppet/Puppet Deployment.md

This commit is contained in:
2024-10-03 23:34:14 -06:00
parent d899d6fd0d
commit cb09eced14

View File

@ -7,39 +7,34 @@ Puppet is another declarative configuration management tool that excels in syste
## Architectural Overview ## Architectural Overview
``` mermaid ``` mermaid
sequenceDiagram sequenceDiagram
participant Gitea as Gitea Repo (Puppet Environment) participant Gitea
participant r10k as r10k (Environment Deployer) participant r10k as r10k (Environment Deployer)
participant PuppetMaster as Puppet Server (lab-puppet-01.bunny-lab.io) participant PuppetMaster as Puppet Server
participant Agent as Managed Agent (fedora.bunny-lab.io) participant Agent as Managed Agent
participant Neofetch as Neofetch Package participant Neofetch as Neofetch Package
%% PuppetMaster pulling environment updates loop When PuppetMaster is triggered
PuppetMaster->>Gitea: Pull Puppet Environment updates PuppetMaster->>Gitea: Pull Puppet Environment updates
Gitea-->>PuppetMaster: Send latest Puppet repository code 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
%% r10k deployment process loop Agent Check-in
PuppetMaster->>r10k: Deploy environment with r10k Agent->>PuppetMaster: Request catalog
r10k->>PuppetMaster: Fetch and install Puppet modules PuppetMaster->>Agent: Authenticate and verify certificate
r10k-->>PuppetMaster: Compile environments and apply updates Agent->>PuppetMaster: Send facts about system
PuppetMaster->>PuppetMaster: Compile catalog based on manifest
PuppetMaster->>Agent: Send catalog
end
%% Agent enrollment process alt Neofetch not installed
Agent->>PuppetMaster: Request to enroll (Agent Check-in) Agent->>Neofetch: Install neofetch
PuppetMaster->>Agent: Verify SSL Certificate & Authenticate Neofetch->>Agent: Installation complete
Agent-->>PuppetMaster: Send facts about system (Facter) end
%% PuppetMaster compiles catalog for the agent Agent->>PuppetMaster: Report status (neofetch installed)
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: ## Deployment Steps: