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]

Reply via email to