MATIH Platform is in active MVP development. Documentation reflects current implementation status.
17. Kubernetes & Helm
Security
Overview

Security Overview

Kubernetes security in the MATIH platform is implemented across multiple layers: pod security contexts for container-level isolation, secrets management for credential protection, cert-manager for TLS certificate automation, and RBAC for access control. Together these layers enforce defense-in-depth for the entire platform deployment.


Security Layers

LayerComponentScope
ContainerSecurity ContextsPod and container runtime restrictions
SecretsKubernetes Secrets + External Secrets OperatorCredential storage and rotation
TLScert-managerCertificate provisioning and renewal
AccessRBACAPI server access control
NetworkNetworkPolicyPod-to-pod communication control

Security Architecture

External Traffic --> TLS Termination (cert-manager) --> NGINX Ingress
                                                            |
                                                     RBAC (who can access)
                                                            |
                                                     NetworkPolicy (what can connect)
                                                            |
                                                     Security Context (how it runs)
                                                            |
                                                     Secrets (credentials access)

Pod Security Standards

The MATIH platform targets the restricted Pod Security Standard with exceptions documented per service:

StandardLevelDescription
PrivilegedNoneNo restrictions (not used)
BaselineSome servicesPrevents known privilege escalations
RestrictedMost servicesHeavily restricted, follows best practices

Compliance Requirements

RequirementImplementation
No root containersrunAsNonRoot: true in security contexts
Read-only filesystemreadOnlyRootFilesystem: true where possible
No privilege escalationallowPrivilegeEscalation: false
Minimal capabilitiesdrop: ["ALL"] in container capabilities
Encrypted secretsExternal Secrets Operator with cloud KMS
TLS everywherecert-manager with Let's Encrypt
Least privilege RBACNamespace-scoped roles, no cluster-admin for services

Security Scanning

ToolPurposeFrequency
TrivyContainer image vulnerability scanningCI/CD pipeline
kube-benchCIS Kubernetes benchmark complianceWeekly
PolarisBest practice validationCI/CD pipeline
OPA/GatekeeperPolicy enforcementRuntime

Detailed Sections

SectionContent
Security ContextsPod and container security settings
Secrets ManagementCredential storage, rotation, and access
cert-managerTLS certificate automation
RBACRole-based access control configuration