Skip to content

v1beta2 contract: add status.initialization with provisioned/initialized fields #6106

Description

@damdo

Parent: #5448

In the new v1beta3 types, add Initialization structs. These replace status.ready / status.initialized for the v1beta2 contract.

InfraCluster types (AWSCluster, AWSManagedCluster, ROSACluster)

type AWSClusterInitializationStatus struct {
    // provisioned is true when the infrastructure is fully provisioned.
    // NOTE: this field is part of the Cluster API contract.
    // +optional
    Provisioned *bool `json:"provisioned,omitempty"`
}

InfraMachine types (AWSMachine)

type AWSMachineInitializationStatus struct {
    // provisioned is true when the machine infrastructure is fully provisioned.
    // NOTE: this field is part of the Cluster API contract.
    // +optional
    Provisioned *bool `json:"provisioned,omitempty"`
}

ControlPlane types (AWSManagedControlPlane, ROSAControlPlane)

type AWSManagedControlPlaneInitializationStatus struct {
    // controlPlaneInitialized denotes whether the control plane is initialized.
    // NOTE: this field is part of the Cluster API contract.
    // +optional
    ControlPlaneInitialized *bool `json:"controlPlaneInitialized,omitempty"`
}

Bootstrap types (EKSConfig)

type EKSConfigInitializationStatus struct {
    // dataSecretCreated is true when the bootstrap data secret has been created.
    // NOTE: this field is part of the Cluster API contract.
    // +optional
    DataSecretCreated *bool `json:"dataSecretCreated,omitempty"`
}

Controllers must set Initialization.Provisioned = ptr.To(true) everywhere they currently set Ready = true.

Reference: CAPI contract at internal/contract/infrastructure_cluster.go:58-68, DevCluster at test/infrastructure/docker/api/v1beta2/devcluster_types.go

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/apiIssues or PRs related to the APIsneeds-priorityneeds-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions