status

package
v1.76.5 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ConditionInstalled reflects the state of the first install of the application.
	// True when the install pipeline completed; False while it is blocked or has failed
	// at one of: waiting for dependent modules to converge (Pending), unmet requirements, download,
	// load from filesystem, settings validation, hooks, or Helm manifest apply.
	// Sticky: once True it is never retracted — subsequent failures surface on
	// UpdateInstalled instead.
	// Possible reasons: Pending, RequirementsUnmet, DownloadFailed,
	// LoadFromFilesystemFailed, SettingsInvalid, HookInitializationFailed,
	// HookFailed, ManifestsApplyFailed.
	ConditionInstalled = "Installed"

	// ConditionUpdateInstalled reflects the state of installing a new version over
	// a running application. While the update is in progress, the previously
	// installed version may keep serving traffic, so Ready/Scaled/ConfigurationApplied
	// /Managed can stay True while UpdateInstalled reports a problem with the new
	// version. False means the update is blocked or has failed.
	// Possible reasons: Pending, DownloadFailed, LoadFromFilesystemFailed,
	// SettingsInvalid, HookInitializationFailed, HookFailed, ManifestsApplyFailed,
	// ApplyingManifests (the new version's manifests are still being applied).
	ConditionUpdateInstalled = "UpdateInstalled"

	// ConditionReady reflects user-facing readiness of the application.
	// On first install it tracks Installed and goes False alongside it on failure.
	// During an update it can stay True while the previous version keeps serving.
	// On reconcile it goes False when the running version can no longer be trusted
	// (download, hook, or manifest-apply failures); a settings-only failure does
	// not affect Ready because the running version's settings are unchanged.
	// Possible reasons: Pending, RequirementsUnmet, DownloadFailed,
	// LoadFromFilesystemFailed, SettingsInvalid, HookInitializationFailed,
	// HookFailed, ManifestsApplyFailed, ApplyingManifests (mid-apply over a
	// non-serving previous version), Ready (when True).
	ConditionReady = "Ready"

	// ConditionScaled reflects the runtime scaling state of the application.
	// Owned exclusively by the workload health monitor — no other condition
	// influences this value. True at steady state, False when at least one
	// workload is rolling out (Reconciling) or failed (Degraded), Unknown
	// when there are no workloads to observe yet.
	// Possible reasons: Reconciling (False), Degraded (False), Scaled (True).
	ConditionScaled = "Scaled"

	// ConditionManaged reflects whether the controller is actively managing the
	// application. False means the controller cannot bring the application to
	// (or keep it in) a managed state: typically hook, Helm, or — during reconcile —
	// download failures, where continuing to manage the current state is unsafe.
	// Settings-only failures do not break Managed. Unknown when a hard dependency
	// is disabled under the running app — managing is meaningless until the
	// dependency returns, but the cause is external rather than a controller failure.
	// Possible reasons: RequirementsUnmet, DownloadFailed, HookInitializationFailed,
	// HookFailed, ManifestsApplyFailed, ApplyingManifests (mid-apply over a
	// non-managed previous version), Managed (when True).
	ConditionManaged = "Managed"

	// ConditionConfigurationApplied reflects whether the desired configuration —
	// settings, render, hooks, manifests — was successfully applied. False on
	// invalid settings, hook errors, or Helm errors. On reconcile a download
	// failure makes the configuration state Unknown (we cannot tell whether the
	// desired config is on disk). A disabled dependency under the running app
	// also forces Unknown — the desired configuration is no longer being maintained.
	// Possible reasons: RequirementsUnmet, DownloadFailed, SettingsInvalid,
	// HookInitializationFailed, HookFailed, ManifestsApplyFailed,
	// ApplyingManifests (the new version's manifests are still being applied),
	// ConfigurationApplied (when True).
	ConditionConfigurationApplied = "ConfigurationApplied"
)

External condition types — what the user sees on the Application resource.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service processes status events and updates Application conditions.

func NewService

func NewService(client client.Client, getter getter, logger *log.Logger) *Service

NewService creates a new status service with default condition specs.

func (*Service) Start

Start begins the status service event loop in a goroutine. It pulls changed package names from the queue and reflects them onto Application resources. The loop exits when the queue is shut down.

Jump to

Keyboard shortcuts

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