Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ linters:
alias: crclient
- pkg: k8s.io/apimachinery/pkg/types
alias: apimachinerytypes
- pkg: sigs.k8s.io/cluster-api/exp/api/v1beta1
alias: expclusterv1
- pkg: "sigs.k8s.io/cluster-api/api/core/v1beta1"
alias: clusterv1
Comment on lines +172 to +173
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- pkg: "sigs.k8s.io/cluster-api/api/core/v1beta1"
alias: clusterv1
- pkg: "sigs.k8s.io/cluster-api/api/core/v1beta2"
alias: clusterv1
- pkg: "sigs.k8s.io/cluster-api/api/core/v1beta1"
alias: clusterv1beta1
  • make lint-fix (or golangci-lint run --fix)

no-unaliased: false
nolintlint:
require-specific: true
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ endif
.PHONY: defaulters
defaulters: $(DEFAULTER_GEN) ## Generate all Go types
$(DEFAULTER_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--v=0 \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
--output-file=zz_generated.defaults.go \
Expand Down Expand Up @@ -262,36 +262,36 @@ generate-go-apis: ## Alias for .build/generate-go-apis
$(MAKE) defaulters

$(CONVERSION_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--output-file=zz_generated.conversion.go \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./api/v1beta1 \
./cmd/clusterawsadm/api/bootstrap/v1alpha1

$(CONVERSION_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--output-file=zz_generated.conversion.go \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./$(EXP_DIR)/api/v1beta1

$(CONVERSION_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--output-file=zz_generated.conversion.go \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./bootstrap/eks/api/v1beta1

$(CONVERSION_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--output-file=zz_generated.conversion.go \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./controlplane/eks/api/v1beta1

$(CONVERSION_GEN) \
--extra-peer-dirs=sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/v1beta1 \
--extra-peer-dirs=sigs.k8s.io/cluster-api/api/core/v1beta2 \
--output-file=zz_generated.conversion.go \
--go-header-file=./hack/boilerplate/boilerplate.generatego.txt \
./controlplane/rosa/api/v1beta2
Expand Down
19 changes: 10 additions & 9 deletions api/v1beta1/awscluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
Copy link
Member

@chrischdi chrischdi Oct 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I'm right then this package should not import clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"

It should use keep using clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1"

Otherwise this could be considered a breaking api change (same for the whole package)

)

const (
Expand Down Expand Up @@ -200,11 +201,11 @@ type AWSLoadBalancerSpec struct {
// AWSClusterStatus defines the observed state of AWSCluster.
type AWSClusterStatus struct {
// +kubebuilder:default=false
Ready bool `json:"ready"`
Network NetworkStatus `json:"networkStatus,omitempty"`
FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
Bastion *Instance `json:"bastion,omitempty"`
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
Ready bool `json:"ready"`
Network NetworkStatus `json:"networkStatus,omitempty"`
FailureDomains clusterv1beta1.FailureDomains `json:"failureDomains,omitempty"`
Bastion *Instance `json:"bastion,omitempty"`
Conditions clusterv1beta1.Conditions `json:"conditions,omitempty"`
}

// S3Bucket defines a supporting S3 bucket for the cluster, currently can be optionally used for Ignition.
Expand Down Expand Up @@ -254,12 +255,12 @@ type AWSClusterList struct {
}

// GetConditions returns the observations of the operational state of the AWSCluster resource.
func (r *AWSCluster) GetConditions() clusterv1.Conditions {
func (r *AWSCluster) GetConditions() clusterv1beta1.Conditions {
return r.Status.Conditions
}

// SetConditions sets the underlying service state of the AWSCluster to the predescribed clusterv1.Conditions.
func (r *AWSCluster) SetConditions(conditions clusterv1.Conditions) {
// SetConditions sets the underlying service state of the AWSCluster to the predescribed clusterv1beta1.Conditions.
func (r *AWSCluster) SetConditions(conditions clusterv1beta1.Conditions) {
r.Status.Conditions = conditions
}

Expand Down
2 changes: 1 addition & 1 deletion api/v1beta1/awsclustertemplate_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

// AWSClusterTemplateSpec defines the desired state of AWSClusterTemplate.
Expand Down
12 changes: 6 additions & 6 deletions api/v1beta1/awsmachine_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1"
)

const (
Expand Down Expand Up @@ -207,7 +207,7 @@ type AWSMachineStatus struct {
Interruptible bool `json:"interruptible,omitempty"`

// Addresses contains the AWS instance associated addresses.
Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`
Addresses []clusterv1beta1.MachineAddress `json:"addresses,omitempty"`

// InstanceState is the state of the AWS instance for this machine.
// +optional
Expand Down Expand Up @@ -253,7 +253,7 @@ type AWSMachineStatus struct {

// Conditions defines current service state of the AWSMachine.
// +optional
Conditions clusterv1.Conditions `json:"conditions,omitempty"`
Conditions clusterv1beta1.Conditions `json:"conditions,omitempty"`
}

// +kubebuilder:object:root=true
Expand All @@ -276,12 +276,12 @@ type AWSMachine struct {
}

// GetConditions returns the observations of the operational state of the AWSMachine resource.
func (r *AWSMachine) GetConditions() clusterv1.Conditions {
func (r *AWSMachine) GetConditions() clusterv1beta1.Conditions {
return r.Status.Conditions
}

// SetConditions sets the underlying service state of the AWSMachine to the predescribed clusterv1.Conditions.
func (r *AWSMachine) SetConditions(conditions clusterv1.Conditions) {
// SetConditions sets the underlying service state of the AWSMachine to the predescribed clusterv1beta1.Conditions.
func (r *AWSMachine) SetConditions(conditions clusterv1beta1.Conditions) {
r.Status.Conditions = conditions
}

Expand Down
2 changes: 1 addition & 1 deletion api/v1beta1/awsmachinetemplate_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

// AWSMachineTemplateStatus defines a status for an AWSMachineTemplate.
Expand Down
53 changes: 36 additions & 17 deletions api/v1beta1/conditions_consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ limitations under the License.

package v1beta1

import clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
import clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1"

const (
// PrincipalCredentialRetrievedCondition reports on whether Principal credentials could be retrieved successfully.
// A possible scenario, where retrieval is unsuccessful, is when SourcePrincipal is not authorized for assume role.
PrincipalCredentialRetrievedCondition clusterv1.ConditionType = "PrincipalCredentialRetrieved"
PrincipalCredentialRetrievedCondition clusterv1beta1.ConditionType = "PrincipalCredentialRetrieved"
// PrincipalCredentialRetrievalFailedReason used when errors occur during identity credential retrieval.
PrincipalCredentialRetrievalFailedReason = "PrincipalCredentialRetrievalFailed"
// CredentialProviderBuildFailedReason used when errors occur during building providers before trying credential retrieval.
//nolint:gosec
CredentialProviderBuildFailedReason = "CredentialProviderBuildFailed"
// PrincipalUsageAllowedCondition reports on whether Principal and all the nested source identities are allowed to be used in the AWSCluster namespace.
PrincipalUsageAllowedCondition clusterv1.ConditionType = "PrincipalUsageAllowed"
PrincipalUsageAllowedCondition clusterv1beta1.ConditionType = "PrincipalUsageAllowed"
// PrincipalUsageUnauthorizedReason used when AWSCluster namespace is not in the identity's allowed namespaces list.
PrincipalUsageUnauthorizedReason = "PrincipalUsageUnauthorized"
// SourcePrincipalUsageUnauthorizedReason used when AWSCluster is not in the intersection of source identity allowed namespaces
Expand All @@ -38,7 +38,7 @@ const (

const (
// VpcReadyCondition reports on the successful reconciliation of a VPC.
VpcReadyCondition clusterv1.ConditionType = "VpcReady"
VpcReadyCondition clusterv1beta1.ConditionType = "VpcReady"
// VpcCreationStartedReason used when attempting to create a VPC for a managed cluster.
// Will not be applied to unmanaged clusters.
VpcCreationStartedReason = "VpcCreationStarted"
Expand All @@ -48,31 +48,39 @@ const (

const (
// SubnetsReadyCondition reports on the successful reconciliation of subnets.
SubnetsReadyCondition clusterv1.ConditionType = "SubnetsReady"
SubnetsReadyCondition clusterv1beta1.ConditionType = "SubnetsReady"
// SubnetsReconciliationFailedReason used to report failures while reconciling subnets.
SubnetsReconciliationFailedReason = "SubnetsReconciliationFailed"
)

const (
// InternetGatewayReadyCondition reports on the successful reconciliation of internet gateways.
// Only applicable to managed clusters.
InternetGatewayReadyCondition clusterv1.ConditionType = "InternetGatewayReady"
InternetGatewayReadyCondition clusterv1beta1.ConditionType = "InternetGatewayReady"
// InternetGatewayFailedReason used when errors occur during internet gateway reconciliation.
InternetGatewayFailedReason = "InternetGatewayFailed"
)

const (
// EgressOnlyInternetGatewayReadyCondition reports on the successful reconciliation of egress only internet gateways.
// Only applicable to managed clusters.
EgressOnlyInternetGatewayReadyCondition clusterv1.ConditionType = "EgressOnlyInternetGatewayReady"
EgressOnlyInternetGatewayReadyCondition clusterv1beta1.ConditionType = "EgressOnlyInternetGatewayReady"
// EgressOnlyInternetGatewayFailedReason used when errors occur during egress only internet gateway reconciliation.
EgressOnlyInternetGatewayFailedReason = "EgressOnlyInternetGatewayFailed"
)

const (
// CarrierGatewayReadyCondition reports on the successful reconciliation of carrier gateways.
// Only applicable to managed clusters.
CarrierGatewayReadyCondition clusterv1beta1.ConditionType = "CarrierGatewayReady"
// CarrierGatewayFailedReason used when errors occur during carrier gateway reconciliation.
CarrierGatewayFailedReason = "CarrierGatewayFailed"
)

const (
// NatGatewaysReadyCondition reports successful reconciliation of NAT gateways.
// Only applicable to managed clusters.
NatGatewaysReadyCondition clusterv1.ConditionType = "NatGatewaysReady"
NatGatewaysReadyCondition clusterv1beta1.ConditionType = "NatGatewaysReady"
// NatGatewaysCreationStartedReason set once when creating new NAT gateways.
NatGatewaysCreationStartedReason = "NatGatewaysCreationStarted"
// NatGatewaysReconciliationFailedReason used when any errors occur during reconciliation of NAT gateways.
Expand All @@ -82,30 +90,38 @@ const (
const (
// RouteTablesReadyCondition reports successful reconciliation of route tables.
// Only applicable to managed clusters.
RouteTablesReadyCondition clusterv1.ConditionType = "RouteTablesReady"
RouteTablesReadyCondition clusterv1beta1.ConditionType = "RouteTablesReady"
// RouteTableReconciliationFailedReason used when any errors occur during reconciliation of route tables.
RouteTableReconciliationFailedReason = "RouteTableReconciliationFailed"
)

const (
// VpcEndpointsReadyCondition reports successful reconciliation of vpc endpoints.
// Only applicable to managed clusters.
VpcEndpointsReadyCondition clusterv1beta1.ConditionType = "VpcEndpointsReadyCondition"
// VpcEndpointsReconciliationFailedReason used when any errors occur during reconciliation of vpc endpoints.
VpcEndpointsReconciliationFailedReason = "VpcEndpointsReconciliationFailed"
)

const (
// SecondaryCidrsReadyCondition reports successful reconciliation of secondary CIDR blocks.
// Only applicable to managed clusters.
SecondaryCidrsReadyCondition clusterv1.ConditionType = "SecondaryCidrsReady"
SecondaryCidrsReadyCondition clusterv1beta1.ConditionType = "SecondaryCidrsReady"
// SecondaryCidrReconciliationFailedReason used when any errors occur during reconciliation of secondary CIDR blocks.
SecondaryCidrReconciliationFailedReason = "SecondaryCidrReconciliationFailed"
)

const (
// ClusterSecurityGroupsReadyCondition reports successful reconciliation of security groups.
ClusterSecurityGroupsReadyCondition clusterv1.ConditionType = "ClusterSecurityGroupsReady"
ClusterSecurityGroupsReadyCondition clusterv1beta1.ConditionType = "ClusterSecurityGroupsReady"
// ClusterSecurityGroupReconciliationFailedReason used when any errors occur during reconciliation of security groups.
ClusterSecurityGroupReconciliationFailedReason = "SecurityGroupReconciliationFailed"
)

const (
// BastionHostReadyCondition reports whether a bastion host is ready. Depending on the configuration, a cluster
// may not require a bastion host and this condition will be skipped.
BastionHostReadyCondition clusterv1.ConditionType = "BastionHostReady"
BastionHostReadyCondition clusterv1beta1.ConditionType = "BastionHostReady"
// BastionCreationStartedReason used when creating a new bastion host.
BastionCreationStartedReason = "BastionCreationStarted"
// BastionHostFailedReason used when an error occurs during the creation of a bastion host.
Expand All @@ -114,9 +130,12 @@ const (

const (
// LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled.
LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady"
LoadBalancerReadyCondition clusterv1beta1.ConditionType = "LoadBalancerReady"
// WaitForDNSNameReason used while waiting for a DNS name for the API server to be populated.
WaitForDNSNameReason = "WaitForDNSName"
// WaitForExternalControlPlaneEndpointReason is available when the AWS Cluster is waiting for an externally managed
// Load Balancer, such as an external Control Plane provider.
WaitForExternalControlPlaneEndpointReason = "WaitForExternalControlPlaneEndpoint"
// WaitForDNSNameResolveReason used while waiting for DNS name to resolve.
WaitForDNSNameResolveReason = "WaitForDNSNameResolve"
// LoadBalancerFailedReason used when an error occurs during load balancer reconciliation.
Expand All @@ -125,7 +144,7 @@ const (

const (
// InstanceReadyCondition reports on current status of the EC2 instance. Ready indicates the instance is in a Running state.
InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"
InstanceReadyCondition clusterv1beta1.ConditionType = "InstanceReady"

// InstanceNotFoundReason used when the instance couldn't be retrieved.
InstanceNotFoundReason = "InstanceNotFound"
Expand All @@ -147,7 +166,7 @@ const (

const (
// SecurityGroupsReadyCondition indicates the security groups are up to date on the AWSMachine.
SecurityGroupsReadyCondition clusterv1.ConditionType = "SecurityGroupsReady"
SecurityGroupsReadyCondition clusterv1beta1.ConditionType = "SecurityGroupsReady"

// SecurityGroupsFailedReason used when the security groups could not be synced.
SecurityGroupsFailedReason = "SecurityGroupsSyncFailed"
Expand All @@ -158,7 +177,7 @@ const (
// When set to false, severity can be an Error if the subnet is not found or unavailable in the instance's AZ.
// Note this is only applicable to control plane machines.
// Only applicable to control plane machines.
ELBAttachedCondition clusterv1.ConditionType = "ELBAttached"
ELBAttachedCondition clusterv1beta1.ConditionType = "ELBAttached"

// ELBAttachFailedReason used when a control plane node fails to attach to the ELB.
ELBAttachFailedReason = "ELBAttachFailed"
Expand All @@ -168,7 +187,7 @@ const (

const (
// S3BucketReadyCondition indicates an S3 bucket has been created successfully.
S3BucketReadyCondition clusterv1.ConditionType = "S3BucketCreated"
S3BucketReadyCondition clusterv1beta1.ConditionType = "S3BucketCreated"

// S3BucketFailedReason is used when any errors occur during reconciliation of an S3 bucket.
S3BucketFailedReason = "S3BucketCreationFailed"
Expand Down
2 changes: 1 addition & 1 deletion api/v1beta1/tags.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/validation/field"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

// Tags defines a map of tags.
Expand Down
2 changes: 1 addition & 1 deletion api/v1beta1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1beta1
import (
"k8s.io/apimachinery/pkg/util/sets"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

// AWSResourceReference is a reference to a specific AWS resource by ID or filters.
Expand Down
Loading