Documentation
¶
Index ¶
Constants ¶
View Source
const ( // ConditionReleaseSynced indicates that the Release resource has been created/updated // from the ReleaseBinding ConditionReleaseSynced controller.ConditionType = "ReleaseSynced" // ConditionResourcesReady indicates that all resources in the Release are ready // based on workload-type specific evaluation ConditionResourcesReady controller.ConditionType = "ResourcesReady" // ConditionReady indicates the overall readiness of the ReleaseBinding // This is the top-level condition that aggregates ReleaseSynced and ResourcesReady ConditionReady controller.ConditionType = "Ready" )
View Source
const ( // ReasonReleaseCreated indicates the Release was successfully created ReasonReleaseCreated controller.ConditionReason = "ReleaseCreated" // ReasonReleaseSynced indicates the Release is up to date ReasonReleaseSynced controller.ConditionReason = "ReleaseSynced" // ReasonResourcesReady indicates all resources are ready ReasonResourcesReady controller.ConditionReason = "ResourcesReady" // ReasonComponentReleaseNotFound indicates the referenced ComponentRelease doesn't exist ReasonComponentReleaseNotFound controller.ConditionReason = "ComponentReleaseNotFound" // ReasonEnvironmentNotFound indicates the referenced Environment doesn't exist ReasonEnvironmentNotFound controller.ConditionReason = "EnvironmentNotFound" // ReasonDataPlaneNotFound indicates the referenced DataPlane doesn't exist ReasonDataPlaneNotFound controller.ConditionReason = "DataPlaneNotFound" // ReasonDataPlaneNotConfigured indicates the Environment has no DataPlaneRef ReasonDataPlaneNotConfigured controller.ConditionReason = "DataPlaneNotConfigured" // ReasonComponentNotFound indicates the referenced Component doesn't exist ReasonComponentNotFound controller.ConditionReason = "ComponentNotFound" // ReasonProjectNotFound indicates the referenced Project doesn't exist ReasonProjectNotFound controller.ConditionReason = "ProjectNotFound" // ReasonInvalidReleaseConfiguration indicates the ComponentRelease configuration is invalid ReasonInvalidReleaseConfiguration controller.ConditionReason = "InvalidReleaseConfiguration" // ReasonRenderingFailed indicates failure to render resources ReasonRenderingFailed controller.ConditionReason = "RenderingFailed" // ReasonReleaseOwnershipConflict indicates the Release exists but is owned by another resource ReasonReleaseOwnershipConflict controller.ConditionReason = "ReleaseOwnershipConflict" // ReasonReleaseUpdateFailed indicates failure to create/update the Release ReasonReleaseUpdateFailed controller.ConditionReason = "ReleaseUpdateFailed" // ReasonResourcesNotReady indicates one or more resources are not ready ReasonResourcesNotReady controller.ConditionReason = "ResourcesNotReady" // ReasonResourcesProgressing indicates resources are being created/updated ReasonResourcesProgressing controller.ConditionReason = "ResourcesProgressing" // ReasonResourcesDegraded indicates one or more resources are degraded ReasonResourcesDegraded controller.ConditionReason = "ResourcesDegraded" // ReasonResourcesUnknown indicates resource status is unknown ReasonResourcesUnknown controller.ConditionReason = "ResourcesUnknown" // ReasonReady indicates the ReleaseBinding is fully ready ReasonReady controller.ConditionReason = "Ready" // ReasonReadyWithSuspendedResources indicates ready with suspended workload (scaled to 0) ReasonReadyWithSuspendedResources controller.ConditionReason = "ReadyWithSuspendedResources" // ReasonJobCompleted indicates Job completed successfully ReasonJobCompleted controller.ConditionReason = "JobCompleted" // ReasonJobRunning indicates Job is running ReasonJobRunning controller.ConditionReason = "JobRunning" // ReasonJobFailed indicates Job failed ReasonJobFailed controller.ConditionReason = "JobFailed" // ReasonCronJobScheduled indicates CronJob is scheduled and ready ReasonCronJobScheduled controller.ConditionReason = "CronJobScheduled" // ReasonCronJobSuspended indicates CronJob is suspended ReasonCronJobSuspended controller.ConditionReason = "CronJobSuspended" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reconciler ¶
type Reconciler struct {
client.Client
Scheme *runtime.Scheme
// Pipeline is the component rendering pipeline, shared across all reconciliations.
// This enables CEL environment caching across different component types and reconciliations.
Pipeline *componentpipeline.Pipeline
}
Reconciler reconciles a ReleaseBinding object
func (*Reconciler) Reconcile ¶
func (r *Reconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, rErr error)
Reconcile is part of the main kubernetes reconciliation loop
func (*Reconciler) SetupWithManager ¶
func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error
SetupWithManager sets up the controller with the Manager.
type ResourceCategory ¶
type ResourceCategory string
ResourceCategory defines the category of a resource for status evaluation. Different categories have different readiness evaluation criteria.
const ( // CategoryPrimaryWorkload - The main workload resource (Deployment, StatefulSet, Job, CronJob) // This is the most important resource for determining component readiness CategoryPrimaryWorkload ResourceCategory = "primary-workload" // CategorySupporting - Supporting infrastructure resources (Service, PVC, etc.) // These should exist but have simple status checks CategorySupporting ResourceCategory = "supporting" // CategoryOperational - Operational resources that may have complex states (HPA, HTTPRoute, etc.) // These can be progressing without blocking readiness CategoryOperational ResourceCategory = "operational" // CategoryNoStatus - Resources without meaningful status semantics (ConfigMap, Secret, etc.) // These are skipped in status evaluation (following ArgoCD's approach) CategoryNoStatus ResourceCategory = "no-status" )
type ResourceStatusSummary ¶
type ResourceStatusSummary struct {
Total int
Healthy int
Progressing int
Degraded int
Suspended int
Unknown int
}
ResourceStatusSummary aggregates health status counts for resources
type WorkloadType ¶
type WorkloadType string
WorkloadType represents the type of workload based on ComponentType
const ( WorkloadTypeDeployment WorkloadType = "deployment" WorkloadTypeStatefulSet WorkloadType = "statefulset" WorkloadTypeCronJob WorkloadType = "cronjob" WorkloadTypeJob WorkloadType = "job" WorkloadTypeProxy WorkloadType = "proxy" WorkloadTypeUnknown WorkloadType = "unknown" )
Click to show internal directories.
Click to hide internal directories.