iac-pipeline.md: full 7-step audit
- Replaced both mermaid diagrams with real Nextcloud diagrams; the Ansible-stages rebuild caught a real omission - the old diagram showed only 2 stages (init/compliance) when there are genuinely 3 (provisioning.yml exists too, currently just clamav/rocky-docker) - Live-verified against the real iac repo: roles_metadata.yml (9 cis_hardening + 6 other compliance roles, 1 provisioning role), kickstart partitioning/packages/SSH config, both Packer bootstrap scripts, terraform.tfvars, pct list on both hypervisors, a real rendered host_tags.yml - KB fix: LXC Strategy note's PBS row was wrong, not just stale - PBS genuinely has a populated vm_tags list and live compliance roles (confirmed via real artifacts on the host itself), not 'never Ansible-managed' as it said; corrected and re-verified via re-fetch - Added real content not previously in the doc: the deliberately permissive build-time SSH window closed by ssh_hardening, the admin/ansible identity split baked into the image at build time, and a third pipeline exception (PBS) that's genuinely different in kind from the other two, including a real Rocky-vs-Debian PAM ordering bug found onboarding it - Considered two screenshot candidates (Proxmox template list, VM/LXC mix) - declined as low-value; command evidence covers this source-driven topic well on its own - Sanitize-checked: no internal IPs/MACs/domains/personal info/forbidden app names 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
1 parent
d7a472d85f
commit
c6266c0081
3 files changed
+113
-15
No files matched your search
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Do not edit this file with editors other than draw.io -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="932px" height="318px" viewBox="0 0 932 318" content="<mxfile host="embed.diagrams.net" scale="1" border="0"> <diagram name="Ansible Stages" id="iac-ansiblestages-1"> <mxGraphModel dx="1414" dy="791" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1080" pageHeight="360" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="tags" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#333333;fontSize=13;fontStyle=1;shadow=1;" value="Per-host tag list&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;from Terraform&lt;/font&gt;" vertex="1"> <mxGeometry height="70" width="200" x="20" y="140" as="geometry" /> </mxCell> <mxCell id="init" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333;fontSize=12;fontStyle=1;shadow=1;" value="Initialization stage&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;runs once, at creation&lt;/font&gt;" vertex="1"> <mxGeometry height="65" width="220" x="360" y="20" as="geometry" /> </mxCell> <mxCell id="prov" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333;fontSize=12;fontStyle=1;shadow=1;" value="Provisioning stage&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;every run — 1 role today, one host&lt;/font&gt;" vertex="1"> <mxGeometry height="65" width="220" x="360" y="140" as="geometry" /> </mxCell> <mxCell id="comp" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333;fontSize=12;fontStyle=1;shadow=1;" value="Compliance stage&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;re-applied every run&lt;/font&gt;" vertex="1"> <mxGeometry height="65" width="220" x="360" y="260" as="geometry" /> </mxCell> <mxCell id="sub" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333;fontSize=12;fontStyle=1;shadow=1;" value="9 independently-tagged&lt;br&gt;hardening sub-roles" vertex="1"> <mxGeometry height="65" width="220" x="720" y="260" as="geometry" /> </mxCell> <mxCell id="e1" edge="1" parent="1" source="tags" style="html=1;endArrow=block;strokeColor=#d6b656;strokeWidth=2;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="init"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e2" edge="1" parent="1" source="tags" style="html=1;endArrow=block;strokeColor=#d6b656;strokeWidth=2;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="prov"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e3" edge="1" parent="1" source="tags" style="html=1;endArrow=block;strokeColor=#d6b656;strokeWidth=2;rounded=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" target="comp"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e4" edge="1" parent="1" source="comp" style="html=1;endArrow=block;strokeColor=#82b366;strokeWidth=2;rounded=1;" target="sub"> <mxGeometry relative="1" as=&quoLine truncated
|
||||
|
After Width: | Height: | Size: 153 KiB |
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Do not edit this file with editors other than draw.io -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1052px" height="132px" viewBox="0 0 1052 132" content="<mxfile host="embed.diagrams.net" scale="1" border="0"> <diagram name="Tools Flow" id="iac-toolsflow-1"> <mxGraphModel dx="1414" dy="791" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1080" pageHeight="240" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> <mxCell id="packer" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333;fontSize=13;fontStyle=1;shadow=1;" value="Packer&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;builds the base image&lt;/font&gt;" vertex="1"> <mxGeometry height="70" width="200" x="20" y="80" as="geometry" /> </mxCell> <mxCell id="terraform" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#333333;fontSize=13;fontStyle=1;shadow=1;" value="Terraform&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;provisions the VM&lt;/font&gt;" vertex="1"> <mxGeometry height="70" width="200" x="300" y="80" as="geometry" /> </mxCell> <mxCell id="tags" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#333333;fontSize=13;fontStyle=1;shadow=1;" value="host_tags.yml&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;the tag list&lt;/font&gt;" vertex="1"> <mxGeometry height="70" width="200" x="580" y="80" as="geometry" /> </mxCell> <mxCell id="ansible" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333;fontSize=13;fontStyle=1;shadow=1;" value="Ansible&lt;br&gt;&lt;font style=&quot;font-size: 10px;&quot;&gt;configures &amp;amp; hardens&lt;/font&gt;" vertex="1"> <mxGeometry height="70" width="200" x="860" y="80" as="geometry" /> </mxCell> <mxCell id="e1" edge="1" parent="1" source="packer" style="html=1;endArrow=block;strokeColor=#6c8ebf;strokeWidth=2;rounded=1;" target="terraform"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="e2" edge="1" parent="1" source="terraform" style="html=1;labelBackgroundColor=#1C1D1E;endArrow=block;strokeColor=#d79b00;fontColor=#d79b00;strokeWidth=2;rounded=1;fontSize=11;" target="tags" value="&lt;span style=&quot;background-color: light-dark(rgb(255, 255, 255), rgb(28, 29, 30));&quot;&gt;generates&lt;/span&gt;"> <mxGeometry relative="1" y="15" as="geometry" /> </mxCell> <mxCell id="e3" edge="1" parent="1" source="tags" style="html=1;endArrow=block;strokeColor=#d6b656;strokeWidth=2;rounded=1;" target="ansible"> <mxGeometry relative="1" as="geometry" /> </mxCell> <mxCell id="loop" edge="1" parent="1" source="ansible" style="html=1;endArrow=block;strokeColor=#82b366;strokeWidth=2;rounded=1;curved=1;labelBackgroundColor=#1C1D1E;fontColor=#82b366;fontSize=11;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" target="ansible" value="&lt;span style=&quot;background-color: light-dark(rgb(255, 255, 255), rgb(28, 29, 30));&quot;&gt;&lt;font style=&quot;font-size: 12px;&quot;&gt;re-applied every run&lt;/font&gt;&lt;/span&gt;"> <mxGeometry Line truncated
|
||||
|
After Width: | Height: | Size: 125 KiB |
Reference in new issue
Block a user