Skip to content

Commit

Permalink
Merge pull request #7020 from k8s-infra-cherrypick-robot/cherry-pick-…
Browse files Browse the repository at this point in the history
…7001-to-release-1.2

[release-1.2] ✨ Add Virtink as infrastructure provider
  • Loading branch information
k8s-ci-robot authored Aug 5, 2022
2 parents 823ddf4 + 0029f5e commit 478d597
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 25 deletions.
6 changes: 6 additions & 0 deletions cmd/clusterctl/client/config/providers_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ const (
MAASProviderName = "maas"
KubevirtProviderName = "kubevirt"
VclusterProviderName = "vcluster"
VirtinkProviderName = "virtink"
)

// Bootstrap providers.
Expand Down Expand Up @@ -224,6 +225,11 @@ func (p *providersClient) defaults() []Provider {
url: "https://github.com/loft-sh/cluster-api-provider-vcluster/releases/latest/infrastructure-components.yaml",
providerType: clusterctlv1.InfrastructureProviderType,
},
&provider{
name: VirtinkProviderName,
url: "https://github.com/smartxworks/cluster-api-provider-virtink/releases/latest/infrastructure-components.yaml",
providerType: clusterctlv1.InfrastructureProviderType,
},

// Bootstrap providers
&provider{
Expand Down
2 changes: 2 additions & 0 deletions cmd/clusterctl/client/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
config.SideroProviderName,
config.VCloudDirectorProviderName,
config.VclusterProviderName,
config.VirtinkProviderName,
config.VSphereProviderName,
},
wantErr: false,
Expand Down Expand Up @@ -119,6 +120,7 @@ func Test_clusterctlClient_GetProvidersConfig(t *testing.T) {
config.SideroProviderName,
config.VCloudDirectorProviderName,
config.VclusterProviderName,
config.VirtinkProviderName,
config.VSphereProviderName,
},
wantErr: false,
Expand Down
5 changes: 5 additions & 0 deletions cmd/clusterctl/cmd/config_repositories_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ packet InfrastructureProvider https://github.com/kubernetes-sigs/
sidero InfrastructureProvider https://github.com/siderolabs/sidero/releases/latest/ infrastructure-components.yaml
vcd InfrastructureProvider https://github.com/vmware/cluster-api-provider-cloud-director/releases/latest/ infrastructure-components.yaml
vcluster InfrastructureProvider https://github.com/loft-sh/cluster-api-provider-vcluster/releases/latest/ infrastructure-components.yaml
virtink InfrastructureProvider https://github.com/smartxworks/cluster-api-provider-virtink/releases/latest/ infrastructure-components.yaml
vsphere InfrastructureProvider https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/releases/latest/ infrastructure-components.yaml
`

Expand Down Expand Up @@ -243,6 +244,10 @@ var expectedOutputYaml = `- File: core_components.yaml
Name: vcluster
ProviderType: InfrastructureProvider
URL: https://github.com/loft-sh/cluster-api-provider-vcluster/releases/latest/
- File: infrastructure-components.yaml
Name: virtink
ProviderType: InfrastructureProvider
URL: https://github.com/smartxworks/cluster-api-provider-virtink/releases/latest/
- File: infrastructure-components.yaml
Name: vsphere
ProviderType: InfrastructureProvider
Expand Down
13 changes: 7 additions & 6 deletions docs/book/src/reference/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,40 @@ are also sponsored by SIG Cluster Lifecycle. Check provider's documentation for
updated info about which API version they are supporting.

## Bootstrap
- [EKS](https://github.com/kubernetes-sigs/cluster-api-provider-aws/tree/main/bootstrap/eks)
- [Kubeadm](https://github.com/kubernetes-sigs/cluster-api/tree/main/bootstrap/kubeadm)
- [Talos](https://github.com/siderolabs/cluster-api-bootstrap-provider-talos)
- [EKS](https://github.com/kubernetes-sigs/cluster-api-provider-aws/tree/main/bootstrap/eks)

## Infrastructure
- [AWS](https://cluster-api-aws.sigs.k8s.io/)
- [Azure](https://github.com/kubernetes-sigs/cluster-api-provider-azure)
- [Azure Stack HCI](https://github.com/microsoft/cluster-api-provider-azurestackhci)
- [BYOH](https://github.com/vmware-tanzu/cluster-api-provider-bringyourownhost)
- [CloudStack](https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack)
- [Metal3](https://github.com/metal3-io/cluster-api-provider-metal3)
- [DigitalOcean](https://github.com/kubernetes-sigs/cluster-api-provider-digitalocean)
- [Equinix Metal (formerly Packet)](https://github.com/kubernetes-sigs/cluster-api-provider-packet)
- [GCP](https://github.com/kubernetes-sigs/cluster-api-provider-gcp)
- [Hetzner](https://github.com/syself/cluster-api-provider-hetzner)
- [IBM Cloud](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud)
- [KubeVirt](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt)
- [MAAS](https://github.com/spectrocloud/cluster-api-provider-maas)
- [vcluster](https://github.com/loft-sh/cluster-api-provider-vcluster)
- [Metal3](https://github.com/metal3-io/cluster-api-provider-metal3)
- [Microvm](https://github.com/weaveworks-liquidmetal/cluster-api-provider-microvm)
- [Nested](https://github.com/kubernetes-sigs/cluster-api-provider-nested)
- [Nutanix](https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix)
- [OCI](https://github.com/oracle/cluster-api-provider-oci)
- [OpenStack](https://github.com/kubernetes-sigs/cluster-api-provider-openstack)
- [Equinix Metal (formerly Packet)](https://github.com/kubernetes-sigs/cluster-api-provider-packet)
- [Sidero](https://github.com/siderolabs/sidero)
- [Tencent Cloud](https://github.com/TencentCloud/cluster-api-provider-tencent)
- [vcluster](https://github.com/loft-sh/cluster-api-provider-vcluster)
- [Virtink](https://github.com/smartxworks/cluster-api-provider-virtink)
- [VMware Cloud Director](https://github.com/vmware/cluster-api-provider-cloud-director)
- [vSphere](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere)
- [Microvm](https://github.com/weaveworks-liquidmetal/cluster-api-provider-microvm)

## API Adopters

Following are the implementations managed by third-parties adopting the standard cluster-api and/or machine-api being developed here.

* [Gardener Machine controller manager](https://github.com/gardener/machine-controller-manager/tree/cluster-api)
* [Kubermatic machine controller](https://github.com/kubermatic/machine-controller)
* [OpenShift Machine API Operator](https://github.com/openshift/machine-api-operator)
* [Gardener Machine controller manager](https://github.com/gardener/machine-controller-manager/tree/cluster-api)
55 changes: 36 additions & 19 deletions docs/book/src/user/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Additional documentation about experimental features can be found in [Experiment
Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied
before getting started with Cluster API. See below for the expected settings for common providers.
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,Metal3,Nutanix,Kubevirt,OCI,OpenStack,VCD,vcluster,vSphere"}}
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,Kubevirt,Metal3,Nutanix,OCI,OpenStack,VCD,vcluster,Virtink,vSphere"}}
{{#tab AWS}}
Download the latest binary of `clusterawsadm` from the [AWS provider releases].
Expand Down Expand Up @@ -432,6 +432,11 @@ export IBMCLOUD_API_KEY=<you_api_key>
clusterctl init --infrastructure ibmcloud
```
{{#/tab }}
{{#tab Kubevirt}}
Please visit the [Kubevirt project][Kubevirt provider].
{{#/tab }}
{{#tab Metal3}}
Expand All @@ -442,11 +447,6 @@ Please visit the [Metal3 project][Metal3 provider].
Please follow the Cluster API Provider for [Nutanix Getting Started Guide](https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/blob/main/docs/getting_started.md)
{{#/tab }}
{{#tab Kubevirt}}
Please visit the [Kubevirt project][Kubevirt provider].
{{#/tab }}
{{#tab OCI}}
Expand Down Expand Up @@ -480,6 +480,14 @@ clusterctl init --infrastructure vcluster
Please follow the Cluster API Provider for [vcluster Quick Start Guide](https://github.com/loft-sh/cluster-api-provider-vcluster/blob/main/docs/quick-start.md)
{{#/tab }}
{{#tab Virtink}}
```bash
# Initialize the management cluster
clusterctl init --infrastructure virtink
```
{{#/tab }}
{{#tab vSphere}}
Expand Down Expand Up @@ -567,7 +575,7 @@ before configuring a cluster with Cluster API. Instructions are provided for com
Otherwise, you can look at the `clusterctl generate cluster` [command][clusterctl generate cluster] documentation for details about how to
discover the list of variables required by a cluster templates.
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,Metal3,Nutanix,Kubevirt,OpenStack,VCD,vcluster,vSphere"}}
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,Kubevirt,Metal3,Nutanix,OpenStack,VCD,vcluster,Virtink,vSphere"}}
{{#tab AWS}}
```bash
Expand Down Expand Up @@ -758,6 +766,17 @@ export IBMPOWERVS_NETWORK_NAME=<your-capi-network-name>
Please visit the [IBM Cloud provider] for more information.
{{#/tab }}
{{#tab Kubevirt}}
A ClusterAPI compatible image must be available in your Kubevirt image library. For instructions on how to build a compatible image
see [image-builder](https://image-builder.sigs.k8s.io/capi/capi.html).
To see all required Kubevirt environment variables execute:
```bash
clusterctl generate cluster --infrastructure kubevirt --list-variables capi-quickstart
```
{{#/tab }}
{{#tab Metal3}}
Expand Down Expand Up @@ -798,18 +817,6 @@ To see all required Nutanix environment variables execute:
clusterctl generate cluster --infrastructure nutanix --list-variables capi-quickstart
```
{{#/tab }}
{{#tab Kubevirt}}
A ClusterAPI compatible image must be available in your Kubevirt image library. For instructions on how to build a compatible image
see [image-builder](https://image-builder.sigs.k8s.io/capi/capi.html).
To see all required Kubevirt environment variables execute:
```bash
clusterctl generate cluster --infrastructure kubevirt --list-variables capi-quickstart
```
{{#/tab }}
{{#tab OpenStack}}
Expand Down Expand Up @@ -875,6 +882,16 @@ export HELM_VALUES="service:\n type: NodePort"
Please see the [vcluster installation instructions](https://github.com/loft-sh/cluster-api-provider-vcluster#installation-instructions) for more details.
{{#/tab }}
{{#tab Virtink}}
To see all required Virtink environment variables execute:
```bash
clusterctl generate cluster --infrastructure virtink --list-variables capi-quickstart
```
See the [Virtink provider](https://github.com/smartxworks/cluster-api-provider-virtink) document for more details.
{{#/tab }}
{{#tab vSphere}}
Expand Down

0 comments on commit 478d597

Please sign in to comment.