villebro opened a new pull request, #56: URL: https://github.com/apache/superset-kubernetes-operator/pull/56
## Summary This PR collapses the operator’s component and lifecycle task CRDs into the parent `Superset` CRD. `Superset` is the reconciliation boundary for one Superset installation: the web server, Celery components, MCP server, websocket server, and lifecycle tasks do not have independent desired state. They share instance configuration, secret material, database migration ordering, drain and maintenance behavior, rollout gates, and aggregate readiness. A lifecycle task can block or replace every component, and a component rollout may depend on lifecycle state that only the parent can evaluate. Because of that coupling, the separate component CRDs exposed internal controller decomposition as Kubernetes APIs. They implied that components could be created, updated, or observed as independently managed custom resources, even though the controller could not safely reconcile them without the parent’s configuration, lifecycle, and rollout context. With this change, users declare one desired state in the `Superset` resource, and the controller reconciles Deployments, Services, ConfigMaps, HPAs, PDBs, lifecycle task Pods, networking, monitoring, and NetworkPolicies as parent-owned secondary resources. The `Superset` status subresource becomes the canonical visibility surface for component readiness, resource references, lifecycle task progress, and failure messages. ## Details - Removes the component CRDs and `SupersetLifecycleTask` CRD from API types, generated manifests, Helm CRDs, RBAC, samples, and controller registration. - Reworks parent reconciliation so `Superset` directly creates and prunes Deployments, Services, ConfigMaps, task Pods, HPAs, PDBs, NetworkPolicies, Ingresses, HTTPRoutes, and ServiceMonitors. - Expands parent status with component and lifecycle task refs, phases, readiness, resource presence, image/replica details, config checksums, task checksums, retry timing, and task conditions. - Keeps the implementation modular internally: component descriptors, deployment defaults, config rendering, lifecycle task orchestration, task Pod execution, resource reconciliation, and status projection are split into focused code paths with targeted tests. - Updates architecture, lifecycle, installation, configuration, migration, security, and generated API reference docs for the single-CRD model. - Regenerates CRDs, deepcopy code, Helm CRDs, and API reference docs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
