Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Namespaces

Where namespaces are declared, and what their labels decide. Read this before adding a component or a node app, because a namespace declared in the wrong place deadlocks and a namespace labelled wrongly reads the wrong tier’s secrets.

Every Namespace CR lives in infra/namespaces/app/namespaces.yaml, owned by the namespaces Kustomization, which depends on nothing. Components do not declare their own. A controller whose chart writes into a namespace it does not own would otherwise deadlock against the component that does. See Startup ordering.

What stays per-namespace is the policy attached to it: infra/policies/namespaces/<namespace>/ holds that namespace’s NetworkPolicy and RBAC, not its Namespace.

Every non-control-plane namespace carries futk.eu/tier: infra or futk.eu/tier: node, and node namespaces add futk.eu/node: <hostname>.

Those labels are load-bearing, not documentation. The ValidatingAdmissionPolicy in infra/infisical-operator/config/ reads them to decide which Infisical path a namespace may pull from, so a namespace with the wrong label reads the wrong tier’s secrets, and one with no label cannot host an InfisicalStaticSecret at all. See Secrets.