Deployment Architecture Diagrams¶
This document provides visual representations of the different deployment architectures supported by the Kubernetes CINC Secure Scanner.
Script-based Deployment Architecture¶
flowchart TD
subgraph User["USER ENVIRONMENT"]
direction TB
scripts["Scanning Scripts"]
profiles["Security Profiles"]
thresholds["Threshold Configuration"]
end
subgraph Kubernetes["KUBERNETES CLUSTER"]
direction TB
subgraph ControlPlane["CONTROL PLANE"]
api["Kubernetes API"]
rbac["RBAC Controller"]
end
subgraph Workers["WORKER NODES"]
pods["Target Pods"]
debug["Debug Containers"]
end
end
subgraph Results["RESULTS PROCESSING"]
saf["SAF CLI"]
reports["Compliance Reports"]
end
%% Component relationships
User -->|executes against| Kubernetes
scripts -->|creates| rbac
scripts -->|connects to| api
api -->|controls| pods
api -->|creates| debug
scripts -->|runs CINC in| debug
debug -->|scans| pods
scripts -->|collects results from| debug
scripts -->|processes with| saf
saf -->|validates against| thresholds
saf -->|generates| reports
%% WCAG-compliant styling
style User fill:none,stroke:#0066CC,stroke-width:4px
style Kubernetes fill:none,stroke:#505050,stroke-width:4px
style ControlPlane fill:none,stroke:#DD6100,stroke-width:4px
style Workers fill:none,stroke:#217645,stroke-width:4px
style Results fill:none,stroke:#4C366B,stroke-width:4px
%% Component styling
style scripts fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style profiles fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style thresholds fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style api fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style rbac fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style pods fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style debug fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style saf fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style reports fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
Helm Chart Deployment Architecture¶
flowchart TD
subgraph User["USER ENVIRONMENT"]
direction TB
helm["Helm CLI"]
values["Values Configuration"]
end
subgraph Charts["HELM CHARTS"]
direction TB
infrastructure["scanner-infrastructure Chart"]
common["common-scanner Chart"]
standard["standard-scanner Chart"]
distroless["distroless-scanner Chart"]
sidecar["sidecar-scanner Chart"]
end
subgraph Kubernetes["KUBERNETES CLUSTER"]
direction TB
subgraph Resources["DEPLOYED RESOURCES"]
sa["Service Accounts"]
roles["RBAC Roles & Bindings"]
ns["Namespaces"]
pods["Scanner Pods"]
config["ConfigMaps"]
end
subgraph Target["TARGET RESOURCES"]
target_pods["Target Pods"]
end
end
subgraph Results["RESULTS PROCESSING"]
saf["SAF CLI"]
reports["Compliance Reports"]
ci["CI/CD Integration"]
end
%% Component relationships
User -->|deploys| Charts
helm -->|installs| infrastructure
helm -->|installs| common
helm -->|selects and installs| standard
helm -->|selects and installs| distroless
helm -->|selects and installs| sidecar
values -->|configures| Charts
Charts -->|create| Resources
infrastructure -->|establishes| sa
infrastructure -->|establishes| roles
infrastructure -->|establishes| ns
standard -->|scans| target_pods
distroless -->|scans| target_pods
sidecar -->|scans| target_pods
pods -->|produce| reports
reports -->|fed to| ci
%% WCAG-compliant styling
style User fill:none,stroke:#0066CC,stroke-width:4px
style Charts fill:none,stroke:#DD6100,stroke-width:4px
style Kubernetes fill:none,stroke:#505050,stroke-width:4px
style Resources fill:none,stroke:#217645,stroke-width:4px
style Target fill:none,stroke:#505050,stroke-width:4px
style Results fill:none,stroke:#4C366B,stroke-width:4px
%% Component styling
style helm fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style values fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style infrastructure fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style common fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style standard fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style distroless fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style sidecar fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style sa fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style roles fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style ns fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style pods fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style config fill:#217645,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style target_pods fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style saf fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style reports fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style ci fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
GitHub Actions Deployment Architecture¶
flowchart TD
subgraph GitHub["GITHUB ENVIRONMENT"]
direction TB
actions["GitHub Actions"]
workflows["Workflow YAML"]
repo["Code Repository"]
end
subgraph Runner["GITHUB RUNNER"]
direction TB
action_runner["Action Runner"]
scripts["Scanner Scripts"]
profiles["Security Profiles"]
end
subgraph Kubernetes["KUBERNETES CLUSTER"]
direction TB
api["Kubernetes API"]
rbac["RBAC Resources"]
pods["Target Pods"]
debug["Debug Containers"]
end
subgraph Results["RESULTS PROCESSING"]
saf["SAF CLI"]
reports["Compliance Reports"]
artifacts["GitHub Artifacts"]
end
%% Component relationships
GitHub -->|triggers| Runner
workflows -->|configures| action_runner
repo -->|contains| profiles
action_runner -->|executes| scripts
scripts -->|connects to| api
scripts -->|creates| rbac
scripts -->|scans| pods
scripts -->|uses| debug
scripts -->|processes with| saf
saf -->|produces| reports
reports -->|stored as| artifacts
artifacts -->|published to| GitHub
%% WCAG-compliant styling
style GitHub fill:none,stroke:#0066CC,stroke-width:4px
style Runner fill:none,stroke:#DD6100,stroke-width:4px
style Kubernetes fill:none,stroke:#505050,stroke-width:4px
style Results fill:none,stroke:#4C366B,stroke-width:4px
%% Component styling
style actions fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style workflows fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style repo fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style action_runner fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style scripts fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style profiles fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style api fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style rbac fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style pods fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style debug fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style saf fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style reports fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style artifacts fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
GitLab CI Deployment Architecture¶
flowchart TD
subgraph GitLab["GITLAB ENVIRONMENT"]
direction TB
ci["GitLab CI/CD"]
pipeline["Pipeline Configuration"]
repo["Code Repository"]
end
subgraph Runner["GITLAB RUNNER"]
direction TB
jobs["CI Jobs"]
services["Scanner Services"]
profiles["Security Profiles"]
end
subgraph Kubernetes["KUBERNETES CLUSTER"]
direction TB
api["Kubernetes API"]
rbac["RBAC Resources"]
pods["Target Pods"]
sidecars["Sidecar Containers"]
end
subgraph Results["RESULTS PROCESSING"]
saf["SAF CLI"]
reports["Compliance Reports"]
artifacts["GitLab Artifacts"]
security_dashboard["Security Dashboard"]
end
%% Component relationships
GitLab -->|triggers| Runner
pipeline -->|configures| jobs
repo -->|contains| profiles
jobs -->|use| services
services -->|connect to| api
services -->|create| rbac
services -->|scan| pods
services -->|deploy| sidecars
services -->|process with| saf
saf -->|produces| reports
reports -->|stored as| artifacts
artifacts -->|published to| GitLab
reports -->|displayed in| security_dashboard
%% WCAG-compliant styling
style GitLab fill:none,stroke:#0066CC,stroke-width:4px
style Runner fill:none,stroke:#DD6100,stroke-width:4px
style Kubernetes fill:none,stroke:#505050,stroke-width:4px
style Results fill:none,stroke:#4C366B,stroke-width:4px
%% Component styling
style ci fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style pipeline fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style repo fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style jobs fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style services fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style profiles fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style api fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style rbac fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style pods fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style sidecars fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style saf fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style reports fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style artifacts fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style security_dashboard fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
Enterprise Integration Architecture¶
flowchart TD
subgraph Enterprise["ENTERPRISE ENVIRONMENT"]
direction TB
cicd["CI/CD Systems"]
security["Security Systems"]
monitoring["Monitoring Systems"]
compliance["Compliance Systems"]
end
subgraph Scanner["SCANNER DEPLOYMENT"]
direction TB
helm["Helm Deployment"]
scripts["Script Deployment"]
sidecar["Sidecar Deployment"]
end
subgraph Kubernetes["KUBERNETES CLUSTERS"]
direction TB
prod["Production Cluster"]
staging["Staging Cluster"]
dev["Development Cluster"]
end
subgraph Integration["INTEGRATION POINTS"]
triggers["Scan Triggers"]
results["Results Processing"]
reports["Reporting Systems"]
alerts["Alert Systems"]
end
%% Component relationships
Enterprise -->|manages| Scanner
Enterprise -->|contains| Kubernetes
Enterprise -->|configures| Integration
cicd -->|triggers| triggers
security -->|consumes| results
monitoring -->|watches| Scanner
compliance -->|receives| reports
Scanner -->|deployed to| Kubernetes
helm -->|installs in| prod
helm -->|installs in| staging
scripts -->|runs against| dev
sidecar -->|embeds in| prod
triggers -->|activates| Scanner
Scanner -->|produces| results
results -->|generates| reports
results -->|may create| alerts
%% WCAG-compliant styling
style Enterprise fill:none,stroke:#0066CC,stroke-width:4px
style Scanner fill:none,stroke:#DD6100,stroke-width:4px
style Kubernetes fill:none,stroke:#505050,stroke-width:4px
style Integration fill:none,stroke:#4C366B,stroke-width:4px
%% Component styling
style cicd fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style security fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style monitoring fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style compliance fill:#0066CC,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style helm fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style scripts fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style sidecar fill:#DD6100,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style prod fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style staging fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style dev fill:#505050,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style triggers fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style results fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style reports fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
style alerts fill:#4C366B,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF