Starting from Kubernetes v1.25, Pod Security Standards (PSS) are promoted to stable. For most use cases, the policies defined in the Pod Security Standards are a great starting point; consider applying them before switching to one of the tools provided by this module.
For more advanced use cases, where custom policies that are not included in the PSS must be enforced, this module is the right choice.
The Kubernetes API server provides a mechanism to review every request that is made (object creation, modification or deletion) through a Validating Admission Webhook that validates each request and tells the API server whether it is allowed based on some logic (policy).
Policy Module is based on Gatekeeper and Kyverno, two popular open-source Kubernetes-native policy engines that run as Validating Admission Webhooks. It allows writing custom constraints (policies) and enforcing them at runtime. SIGHUP provides a set of base constraints that can be used both as a starting point and as a reference for implementing new rules matching your requirements.
Policy Module is part of SIGHUP Distribution (SD) and is deployed automatically by furyctl when you create or update a cluster. You don't need to download, vendor or install its packages manually.
You configure the module under spec.distribution.modules.policy in your furyctl.yaml. The type field selects the policy engine to deploy: gatekeeper, kyverno, or none to disable the module. The other fields are optional and fall back to sensible defaults.