Skip to content

Commit c4ba378

Browse files
committed
add support for the akamai linode-linode infrastructure provider
1 parent 45d31e0 commit c4ba378

File tree

6 files changed

+41
-2
lines changed

6 files changed

+41
-2
lines changed

cmd/clusterctl/client/config/providers_client.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const (
3737

3838
// Infra providers.
3939
const (
40+
AkamaiProviderName = "linode-linode"
4041
AWSProviderName = "aws"
4142
AzureProviderName = "azure"
4243
BYOHProviderName = "byoh"
@@ -149,6 +150,11 @@ func (p *providersClient) defaults() []Provider {
149150
},
150151

151152
// Infrastructure providers
153+
&provider{
154+
name: AkamaiProviderName,
155+
url: "https://github.com/linode/cluster-api-provider-linode/releases/latest/infrastructure-components.yaml",
156+
providerType: clusterctlv1.InfrastructureProviderType,
157+
},
152158
&provider{
153159
name: AWSProviderName,
154160
url: "https://github.com/kubernetes-sigs/cluster-api-provider-aws/releases/latest/infrastructure-components.yaml",

cmd/clusterctl/client/config_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
8888
config.K0smotronProviderName,
8989
config.KubeKeyProviderName,
9090
config.KubevirtProviderName,
91+
config.AkamaiProviderName,
9192
config.MAASProviderName,
9293
config.Metal3ProviderName,
9394
config.NestedProviderName,
@@ -147,6 +148,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
147148
config.K0smotronProviderName,
148149
config.KubeKeyProviderName,
149150
config.KubevirtProviderName,
151+
config.AkamaiProviderName,
150152
config.MAASProviderName,
151153
config.Metal3ProviderName,
152154
config.NestedProviderName,

cmd/clusterctl/cmd/config_repositories_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ in-memory InfrastructureProvider https://github.com/kubernetes-s
136136
k0sproject-k0smotron InfrastructureProvider https://github.com/k0sproject/k0smotron/releases/latest/ infrastructure-components.yaml
137137
kubekey InfrastructureProvider https://github.com/kubesphere/kubekey/releases/latest/ infrastructure-components.yaml
138138
kubevirt InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/releases/latest/ infrastructure-components.yaml
139+
linode-linode InfrastructureProvider https://github.com/linode/cluster-api-provider-linode/releases/latest/ infrastructure-components.yaml
139140
maas InfrastructureProvider https://github.com/spectrocloud/cluster-api-provider-maas/releases/latest/ infrastructure-components.yaml
140141
metal3 InfrastructureProvider https://github.com/metal3-io/cluster-api-provider-metal3/releases/latest/ infrastructure-components.yaml
141142
my-infra-provider InfrastructureProvider /home/.config/cluster-api/overrides/infrastructure-docker/latest/ infrastructure-components.yaml
@@ -287,6 +288,10 @@ var expectedOutputYaml = `- File: core_components.yaml
287288
Name: kubevirt
288289
ProviderType: InfrastructureProvider
289290
URL: https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt/releases/latest/
291+
- File: infrastructure-components.yaml
292+
Name: linode-linode
293+
ProviderType: InfrastructureProvider
294+
URL: https://github.com/linode/cluster-api-provider-linode/releases/latest/
290295
- File: infrastructure-components.yaml
291296
Name: maas
292297
ProviderType: InfrastructureProvider

docs/book/src/reference/glossary.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ Cluster API Provider IBM Cloud
7575
### CAPIO
7676
Cluster API Operator
7777

78+
### CAPL
79+
Cluster API Provider Akamai (Linode)
80+
7881
### CAPM3
7982
Cluster API Provider Metal3
8083

docs/book/src/reference/providers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ updated info about which API version they are supporting.
2525
- [k0smotron/k0s](https://github.com/k0sproject/k0smotron)
2626

2727
## Infrastructure
28+
- [Akamai (Linode)](https://linode.github.io/cluster-api-provider-linode/)
2829
- [AWS](https://cluster-api-aws.sigs.k8s.io/)
2930
- [Azure](https://github.com/kubernetes-sigs/cluster-api-provider-azure)
3031
- [Azure Stack HCI](https://github.com/microsoft/cluster-api-provider-azurestackhci)

docs/book/src/user/quick-start.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,16 @@ Additional documentation about experimental features can be found in [Experiment
281281
Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied
282282
before getting started with Cluster API. See below for the expected settings for common providers.
283283
284-
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,Hivelocity,IBM Cloud,K0smotron,KubeKey,KubeVirt,Metal3,Nutanix,OCI,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
284+
{{#tabs name:"tab-installation-infrastructure" tabs:"Akamai (Linode),AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,Hivelocity,IBM Cloud,K0smotron,KubeKey,KubeVirt,Metal3,Nutanix,OCI,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
285+
{{#tab Akamai (Linode)}}
286+
287+
```bash
288+
export LINODE_TOKEN=<your-access-token>
289+
290+
# Initialize the management cluster
291+
clusterctl init --infrastructure linode-linode
292+
```
293+
{{#/tab }}
285294
{{#tab AWS}}
286295
287296
Download the latest binary of `clusterawsadm` from the [AWS provider releases]. The [clusterawsadm] command line utility assists with identity and access management (IAM) for [Cluster API Provider AWS][capa].
@@ -852,7 +861,19 @@ before configuring a cluster with Cluster API. Instructions are provided for com
852861
Otherwise, you can look at the `clusterctl generate cluster` [command][clusterctl generate cluster] documentation for details about how to
853862
discover the list of variables required by a cluster templates.
854863
855-
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,K0smotron,KubeKey,KubeVirt,Metal3,Nutanix,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
864+
{{#tabs name:"tab-configuration-infrastructure" tabs:"Akamai (Linode),AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,K0smotron,KubeKey,KubeVirt,Metal3,Nutanix,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
865+
{{#tab Akamai (Linode)}}
866+
867+
```bash
868+
export LINODE_REGION=us-ord
869+
export LINODE_TOKEN=<your linode PAT>
870+
export LINODE_CONTROL_PLANE_MACHINE_TYPE=g6-standard-2
871+
export LINODE_MACHINE_TYPE=g6-standard-2
872+
```
873+
874+
See the [Akamai (Linode) provider] for more information.
875+
876+
{{#/tab }}
856877
{{#tab AWS}}
857878
858879
```bash
@@ -1706,6 +1727,7 @@ kind delete cluster
17061727
17071728
<!-- links -->
17081729
[Experimental Features]: ../tasks/experimental-features/experimental-features.md
1730+
[Akamai (Linode) provider]: https://linode.github.io/cluster-api-provider-linode/introduction.html
17091731
[AWS provider prerequisites]: https://cluster-api-aws.sigs.k8s.io/topics/using-clusterawsadm-to-fulfill-prerequisites.html
17101732
[AWS provider releases]: https://github.com/kubernetes-sigs/cluster-api-provider-aws/releases
17111733
[Azure Provider Prerequisites]: https://capz.sigs.k8s.io/topics/getting-started.html#prerequisites

0 commit comments

Comments
 (0)