PackageVariant Controllers
PackageVariant and PackageVariantSet controllers for package automation.
Porch controllers are Kubernetes controllers that automate repository synchronization and package variant management. They run as a single deployment and can be individually enabled or disabled based on your needs.
All Porch controllers typically run together in a single pod and share the controller-runtime framework. They use standard Kubernetes controller patterns - watching resources, reconciling state, and requeuing when needed. You can enable or disable individual controllers using the --reconcilers flag, and they all act as clients of the Porch API server rather than being part of it.
While controllers share a pod by default, each controller can run in its own deployment if needed for scaling or isolation purposes, though this configuration is not covered in the documentation. See the configuration guide for standard deployment details.
Synchronizes Repository custom resources with their backing Git repositories. The controller performs health checks and full syncs to keep package metadata current in Porch’s cache layer.
Automate creation and management of package variants through declarative configuration. Two controllers work together:
PackageVariant and PackageVariantSet controllers for package automation.
Kubernetes controller for repository synchronization and lifecycle management.