Skip to content
Merged
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
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,6 @@ TILT ?= $(LOCALBIN)/tilt
KIND ?= $(LOCALBIN)/kind
CHAINSAW ?= $(LOCALBIN)/chainsaw
ENVTEST ?= $(CACHE_BIN)/setup-envtest
HUSKY ?= $(LOCALBIN)/husky
NILAWAY ?= $(LOCALBIN)/nilaway
GOVULNC ?= $(LOCALBIN)/govulncheck
MOCKGEN ?= $(LOCALBIN)/mockgen
Expand All @@ -365,7 +364,7 @@ S5CMD ?= $(CACHE_BIN)/s5cmd
## Tool Versions
KUSTOMIZE_VERSION ?= v5.4.3
CTLPTL_VERSION ?= v0.8.29
CLUSTERCTL_VERSION ?= v1.7.2
CLUSTERCTL_VERSION ?= v1.11.1
CRD_REF_DOCS_VERSION ?= v0.1.0
KUBECTL_VERSION ?= v1.28.0
KUBEBUILDER_VERSION ?= v3.15.1
Expand Down
183 changes: 96 additions & 87 deletions Tiltfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,102 +6,111 @@ load("ext://secret", "secret_from_dict")
load("ext://base64", "decode_base64")
update_settings(k8s_upsert_timeout_secs=120)

helm_repo(
"capi-operator-repo",
"https://kubernetes-sigs.github.io/cluster-api-operator",
labels=["helm-repos"],
)
helm_repo("jetstack-repo", "https://charts.jetstack.io", labels=["helm-repos"])
helm_resource(
"cert-manager",
"jetstack-repo/cert-manager",
namespace="cert-manager",
resource_deps=["jetstack-repo"],
flags=[
"--create-namespace",
"--set=installCRDs=true",
"--set=global.leaderElection.namespace=cert-manager",
],
labels=["cert-manager"],
)

helm_resource(
"capi-operator",
"capi-operator-repo/cluster-api-operator",
namespace="capi-operator-system",
flags=[
"--create-namespace",
"--wait",
"--version=0.14.0",
],
resource_deps=["capi-operator-repo", "cert-manager"],
labels=["CAPI"],
)
namespace_create("capi-system")
k8s_yaml("./hack/manifests/core.yaml")
k8s_resource(
new_name="capi-controller-manager",
objects=["capi-system:namespace", "cluster-api:coreprovider"],
resource_deps=["capi-operator"],
labels=["CAPI"],
)
if os.getenv("INSTALL_KUBEADM_PROVIDER", "true") == "true":
namespace_create("kubeadm-control-plane-system")
namespace_create("kubeadm-bootstrap-system")
k8s_yaml("./hack/manifests/kubeadm.yaml")
k8s_resource(
new_name="kubeadm-controller-manager",
objects=[
"kubeadm-bootstrap-system:namespace",
"kubeadm-control-plane-system:namespace",
"kubeadm:bootstrapprovider",
"kubeadm:controlplaneprovider",
if os.getenv("USE_CAPI_OPERATOR", "false") == "true":
helm_repo(
"capi-operator-repo",
"https://kubernetes-sigs.github.io/cluster-api-operator",
labels=["helm-repos"],
)
helm_repo("jetstack-repo", "https://charts.jetstack.io", labels=["helm-repos"])
helm_resource(
"cert-manager",
"jetstack-repo/cert-manager",
namespace="cert-manager",
resource_deps=["jetstack-repo"],
flags=[
"--create-namespace",
"--set=installCRDs=true",
"--set=global.leaderElection.namespace=cert-manager",
],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
labels=["cert-manager"],
)

if os.getenv("INSTALL_HELM_PROVIDER", "true") == "true":
namespace_create("caaph-system")
k8s_yaml("./hack/manifests/helm.yaml")
k8s_resource(
new_name="helm-controller-manager",
objects=["caaph-system:namespace", "helm:addonprovider"],
resource_deps=["capi-controller-manager"],
helm_resource(
"capi-operator",
"capi-operator-repo/cluster-api-operator",
namespace="capi-operator-system",
flags=[
"--create-namespace",
"--wait",
"--version=0.14.0",
],
resource_deps=["capi-operator-repo", "cert-manager"],
labels=["CAPI"],
)

if os.getenv("INSTALL_K3S_PROVIDER", "false") == "true":
namespace_create("capi-k3s-control-plane-system")
namespace_create("capi-k3s-bootstrap-system")
k8s_yaml("./hack/manifests/k3s.yaml")
namespace_create("capi-system")
k8s_yaml("./hack/manifests/core.yaml")
k8s_resource(
new_name="k3s-controller-manager",
objects=[
"capi-k3s-bootstrap-system:namespace",
"capi-k3s-control-plane-system:namespace",
"k3s:bootstrapprovider",
"k3s:controlplaneprovider",
],
resource_deps=["capi-controller-manager"],
new_name="capi-controller-manager",
objects=["capi-system:namespace", "cluster-api:coreprovider"],
resource_deps=["capi-operator"],
labels=["CAPI"],
)

if os.getenv("INSTALL_RKE2_PROVIDER", "false") == "true":
namespace_create("rke2-control-plane-system")
namespace_create("rke2-bootstrap-system")
k8s_yaml("./hack/manifests/rke2.yaml")
k8s_resource(
new_name="capi-rke2-controller-manager",
objects=[
"rke2-bootstrap-system:namespace",
"rke2-control-plane-system:namespace",
"rke2:bootstrapprovider",
"rke2:controlplaneprovider",
],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
if os.getenv("INSTALL_KUBEADM_PROVIDER", "true") == "true":
namespace_create("kubeadm-control-plane-system")
namespace_create("kubeadm-bootstrap-system")
k8s_yaml("./hack/manifests/kubeadm.yaml")
k8s_resource(
new_name="kubeadm-controller-manager",
objects=[
"kubeadm-bootstrap-system:namespace",
"kubeadm-control-plane-system:namespace",
"kubeadm:bootstrapprovider",
"kubeadm:controlplaneprovider",
],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
)

if os.getenv("INSTALL_HELM_PROVIDER", "true") == "true":
namespace_create("caaph-system")
k8s_yaml("./hack/manifests/helm.yaml")
k8s_resource(
new_name="helm-controller-manager",
objects=["caaph-system:namespace", "helm:addonprovider"],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
)

if os.getenv("INSTALL_K3S_PROVIDER", "false") == "true":
namespace_create("capi-k3s-control-plane-system")
namespace_create("capi-k3s-bootstrap-system")
k8s_yaml("./hack/manifests/k3s.yaml")
k8s_resource(
new_name="k3s-controller-manager",
objects=[
"capi-k3s-bootstrap-system:namespace",
"capi-k3s-control-plane-system:namespace",
"k3s:bootstrapprovider",
"k3s:controlplaneprovider",
],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
)

if os.getenv("INSTALL_RKE2_PROVIDER", "false") == "true":
namespace_create("rke2-control-plane-system")
namespace_create("rke2-bootstrap-system")
k8s_yaml("./hack/manifests/rke2.yaml")
k8s_resource(
new_name="capi-rke2-controller-manager",
objects=[
"rke2-bootstrap-system:namespace",
"rke2-control-plane-system:namespace",
"rke2:bootstrapprovider",
"rke2:controlplaneprovider",
],
resource_deps=["capi-controller-manager"],
labels=["CAPI"],
)
else:
# install all providers in one shot because clusterctl init hangs on cert-manager if we try to do each conditionally
local_resource(
'capi-controller-manager',
cmd="EXP_CLUSTER_RESOURCE_SET=true CLUSTER_TOPOLOGY=true EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION=true clusterctl init --addon helm --core cluster-api:${capi_version} --bootstrap kubeadm:${capi_version},k3s:${k3s_version},rke2:${rke2_version} --control-plane kubeadm:${capi_version},k3s:${k3s_version},rke2:${rke2_version} --config ./hack/clusterctl.yaml",
env={'capi_version': os.getenv("CAPI_VERSION", "v1.11.1"), 'k3s_version': os.getenv("K3S_VERSION", "v0.3.0"), 'rke2_version': os.getenv("RKE2_VERSION", "v0.20.1")},
)

capl_resources = [
"capl-system:namespace",
"addresssets.infrastructure.cluster.x-k8s.io:customresourcedefinition",
Expand Down
2 changes: 1 addition & 1 deletion api/v1alpha2/linodecluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1alpha2
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"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion api/v1alpha2/linodemachine_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
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"
)

const (
Expand Down
4 changes: 2 additions & 2 deletions api/v1alpha2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion cloud/scope/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"errors"
"fmt"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"

infrav1alpha2 "github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/firewall.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import (
"fmt"

"k8s.io/client-go/util/retry"
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/machine.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (

corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/machine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
"k8s.io/utils/ptr"
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"

infrav1alpha2 "github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/object_storage_key.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"github.com/linode/linodego"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
clusteraddonsv1 "sigs.k8s.io/cluster-api/api/addons/v1beta1"
clusteraddonsv1 "sigs.k8s.io/cluster-api/api/addons/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/object_storage_key_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
"k8s.io/utils/ptr"
clusteraddonsv1 "sigs.k8s.io/cluster-api/api/addons/v1beta1"
clusteraddonsv1 "sigs.k8s.io/cluster-api/api/addons/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"

infrav1alpha2 "github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/placement_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"errors"
"fmt"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
2 changes: 1 addition & 1 deletion cloud/scope/vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"errors"
"fmt"

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/cluster-api/util/patch"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
6 changes: 3 additions & 3 deletions cloud/services/domains.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"github.com/akamai/AkamaiOPEN-edgegrid-golang/v8/pkg/dns"
"github.com/linode/linodego"
"golang.org/x/exp/slices"
"sigs.k8s.io/cluster-api/api/v1beta1"
"sigs.k8s.io/cluster-api/api/core/v1beta2"
kutil "sigs.k8s.io/cluster-api/util"

"github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down Expand Up @@ -70,7 +70,7 @@ func getMachineIPs(cscope *scope.ClusterScope) (ipv4IPs, ipv6IPs []string, err e
continue
}
for _, IPs := range eachMachine.Status.Addresses {
if IPs.Type != v1beta1.MachineExternalIP {
if IPs.Type != v1beta2.MachineExternalIP {
continue
}
addr, err := netip.ParseAddr(IPs.Address)
Expand Down Expand Up @@ -315,7 +315,7 @@ func processLinodeMachine(ctx context.Context, cscope *scope.ClusterScope, machi
options := []DNSOptions{}
for _, IPs := range machine.Status.Addresses {
recordType := linodego.RecordTypeA
if IPs.Type != v1beta1.MachineExternalIP {
if IPs.Type != v1beta2.MachineExternalIP {
continue
}
addr, err := netip.ParseAddr(IPs.Address)
Expand Down
2 changes: 1 addition & 1 deletion cloud/services/domains_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"go.uber.org/mock/gomock"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/utils/ptr"
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"

infrav1alpha2 "github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down
6 changes: 3 additions & 3 deletions cloud/services/loadbalancers.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/go-logr/logr"
"github.com/linode/linodego"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/cluster-api/api/v1beta1"
"sigs.k8s.io/cluster-api/api/core/v1beta2"
"sigs.k8s.io/controller-runtime/pkg/client"

"github.com/linode/cluster-api-provider-linode/api/v1alpha2"
Expand Down Expand Up @@ -399,7 +399,7 @@ func AddNodesToNB(ctx context.Context, logger logr.Logger, clusterScope *scope.C
}
for _, IPs := range linodeMachine.Status.Addresses {
// Look for internal IPs that are NOT linode private IPs (likely VPC IPs)
if IPs.Type == v1beta1.MachineInternalIP && !util.IsLinodePrivateIP(IPs.Address) {
if IPs.Type == v1beta2.MachineInternalIP && !util.IsLinodePrivateIP(IPs.Address) {
if err := processAndCreateNodeBalancerNodes(ctx, IPs.Address, clusterScope, nodeBalancerNodes, subnetID); err != nil {
logger.Error(err, "Failed to process and create NB nodes")
return err
Expand All @@ -412,7 +412,7 @@ func AddNodesToNB(ctx context.Context, logger logr.Logger, clusterScope *scope.C
// We will use private IP address as the default
internalIPFound := false
for _, IPs := range linodeMachine.Status.Addresses {
if IPs.Type != v1beta1.MachineInternalIP || !util.IsLinodePrivateIP(IPs.Address) {
if IPs.Type != v1beta2.MachineInternalIP || !util.IsLinodePrivateIP(IPs.Address) {
continue
}
internalIPFound = true
Expand Down
Loading
Loading