Able Community · Enterprise Platform

SecDevOps Platform

A single-node, security-first Kubernetes platform where every request is authenticated, every deployment is scanned and signed, every secret lives in a vault, and every component is backed up. This page shows how the pieces connect and how work flows through them — end to end.
secdevops.ablecommunity.comCanonical platform domain (wildcard, TLS)
8 servicesBehind one hardened gateway
OIDC + MFAOne identity, everywhere
Nightly backupsAll state, DR-validated

1 How a request reaches a service

Nothing is exposed directly. Every request crosses a firewall, terminates TLS at a single gateway, and is routed by hostname — so there is exactly one front door to secure and observe.

public

👩‍💻 User / Client (Internet)

Reaches *.secdevops.ablecommunity.com over HTTPS. Wildcard DNS → one public IP.

perimeter

🧱 Cisco Firewall

Only ports 80/443 forwarded inbound. SSH & host management restricted to the protected management IP.

host

🖥️ Host ingress proxy

Forwards :80/:443 into the cluster gateway. Management plane (K8s API, Cockpit) never leaves the host network.

gateway

🚪 APISIX API Gateway

TLS terminates here. Let's Encrypt certificate for all hostnames. Host-based routing sends each name to the right service. Admin API is internal-only.

workloads

☸️ K3s cluster services

Each service in its own namespace with a default-deny network policy — services can only talk to what they explicitly need.

2 The DevSecOps pipeline — code to production

This is the "Sec" in SecDevOps: security is built into every step of shipping software, not bolted on at the end. A change cannot reach the cluster without passing the gates.

1 · Commit

Developer pushes to GitLab.

🔐 SSO login (Keycloak + MFA)

2 · CI Pipeline

GitLab CI builds & tests the change.

🔐 SAST · dependency & secret scan

3 · Image + Sign

Container built, scanned, pushed to the registry.

🔐 Vulnerability scan · cosign signature

4 · GitOps

ArgoCD syncs the declared state from Git.

🔐 Git is the single source of truth

5 · Admission

Kyverno checks every manifest before it runs.

🔐 Policy-as-code gate

6 · Runtime

Workload runs in K3s.

🔐 Falco runtime detection · NetworkPolicy

3 What ties it all together

Four platform-wide capabilities every service depends on — the reason the pieces behave as one system.

🪪 Identity — Keycloak

One login for every tool. Users authenticate once via OIDC; their group decides what they can do in each service. Privileged groups are forced through multi-factor authentication. No per-app passwords.

🔒 Secrets — Vault

Central, encrypted secret store. Auto-unseals on boot, holds credentials and TLS material, and is itself snapshotted nightly. Privileged operations require a separate break-glass credential.

📈 Observability — Prometheus & Grafana

Metrics from every component feed Grafana dashboards; Falco streams runtime security events. You can see health, load, and threats in one place — see the Platform Overview dashboard in Grafana.

💾 Backup & DR

Nightly backups of Vault, GitLab, Keycloak, the gateway config and the cluster — kept on a separate disk, with a documented, drill-tested restore procedure. The platform also self-heals on reboot.

4 The services

Eight web interfaces, one gateway, one identity. All reachable at <name>.secdevops.ablecommunity.com.

GitLab

gitlab.secdevops…

Source code, CI/CD pipelines, container registry.

ArgoCD

argocd.secdevops…

GitOps delivery — deploys what Git declares.

Rancher

rancher.secdevops…

Cluster & workload management UI.

Keycloak

keycloak.secdevops…

Identity provider — SSO, groups, MFA.

Vault

vault.secdevops…

Secrets management & encryption.

Grafana

grafana.secdevops…

Dashboards, metrics, alerting.

MCP Reference

mcp.secdevops…

Agentic / AI Model-Context-Protocol service.

Cockpit

cockpit.secdevops…

Host management (gated). Root-level — extra auth layer.

5 Why it's called SecDevOps

Security isn't a stage — it's present at every layer. Each row is a control that is already enforced, not aspirational.

LayerSecurity controlWhat it prevents
IdentityOIDC single sign-on + MFA on privileged groupsShared/weak passwords; unauthorised admin access
NetworkDefault-deny NetworkPolicies per namespaceLateral movement between compromised services
PerimeterSingle TLS gateway; management plane isolatedDirect exposure of databases, APIs, admin ports
Supply chainSAST + image scanning + cosign signing in CIVulnerable or tampered code & images reaching prod
AdmissionKyverno policy-as-codeNon-compliant workloads ever starting
RuntimeFalco behavioural detectionUndetected intrusions & anomalous activity
SecretsVault with separation of dutiesSecrets in code, configs, or Git history
RecoveryNightly backups + tested restore + reboot self-healPermanent data loss; long outages
Enforced & verified Security gate in the pipeline Request / data flow
SecDevOps Platform · Able Community · architecture overview. Live status: Grafana → Platform Overview.  ·  This page is served from inside the platform it describes.