Skip to content

Implement Standardized Status Conditions for CAPT Resources Using metav1.Condition #461

@rahulbabu95

Description

@rahulbabu95

Description:

Currently, the Cluster API Provider Tinkerbell (CAPT) lacks standardized status condition tracking for its resources. We should implement metav1.Condition based status tracking to improve observability and user experience.

Background:

Kubernetes uses metav1.Condition as a standard way to represent resource states. Cluster API core has implemented comprehensive condition tracking in v1beta2. Other providers like CAPV have successfully implemented similar condition patterns.

Proposed Implementation:

Add condition support to CAPT infrastructure resources starting with TinkerbellMachine. Initial conditions to consider implementing:
Ready: Indicates if the machine is fully provisioned and ready
HardwareReady: Indicates if hardware is available and configured
PowerStateReady: Indicates if BMC power operations completed successfully
Example Condition Structure:

const (
// Ready condition indicates the machine is fully provisioned
Ready = "Ready"
// HardwareReady indicates the Hardware is configured
HardwareReady = "HardwareReady"
// Additional conditions...
)

Benefits:

  • Improved debugging and troubleshooting capabilities
  • Consistent status reporting across CAPI ecosystem
  • Enhanced user experience through clear state visibility

Tasks:

  • Define relevant conditions for CAPT resources
  • Implement condition handling in controllers
  • Update status subresource with condition changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions