releasebinding

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

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"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL