Namespace Naming Discipline

Namespaces accumulate. The discipline.

Naming convention

The naming convention is predictable and greppable: team-purpose-env, lowercase, hyphenated, no generic or brand names. Examples: data-pipelines-prod, platform-monitoring-shared, frontend-app-staging. CI scripts target by pattern; engineers can guess the namespace without looking it up.

Ownership labels

Every namespace carries ownership labels: team, owner, contact, lifecycle. Queryable via kubectl get namespaces -L team,owner,contact,lifecycle; audited quarterly. Empty ownership is technical debt that becomes an orphan namespace by Q3.

Isolation between namespaces

Three primitives keep namespaces isolated: NetworkPolicy default-deny, resource quotas, namespace-scoped RBAC. Without these, namespaces are organisational lipstick on a flat cluster. With them, namespaces become real blast-radius boundaries.

Cleanup discipline

Cleanup keeps the cluster sane. Empty namespaces flagged after 30 days, quarterly drift and missing-label audit, ephemeral namespaces with TTL labels for auto-cleanup. Without ongoing cleanup the namespace count grows monotonically and the audit cost grows with it.