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
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/cluster_api_version_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Update cluster-api version
Update Kubernetes version
- [ ] [go.mod](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/go.mod)
- [ ] [Kubebuilder version](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/Makefile#L84)
- [ ] [scripts](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/fetch_ext_bins.sh#L29)


If Go version is bumped, update it in the following files
Expand Down
9 changes: 0 additions & 9 deletions .github/workflows/validate-yaml-lint.yaml

This file was deleted.

14 changes: 10 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ define checkdiff
git --no-pager diff --name-only FETCH_HEAD
endef

ALL_VERIFY_CHECKS = boilerplate shellcheck modules gen conversions go-version
ALL_VERIFY_CHECKS = boilerplate shellcheck modules gen conversions go-version yamllint linkcheck

.PHONY: verify
verify: $(addprefix verify-,$(ALL_VERIFY_CHECKS)) ## Run all verify-* targets
Expand Down Expand Up @@ -583,9 +583,15 @@ else
endif


.PHONY: yamllint
yamllint:
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(PWD):/data cytopia/yamllint:latest /data --config-file /data/.yamllint --no-warnings
CURR_DIR := $(shell pwd)
.PHONY: verify-yamllint
verify-yamllint:
@docker run -v $(CURR_DIR):/data cytopia/yamllint:latest /data --config-file /data/.yamllint --no-warnings

MD_FILES := $(shell find . -iname "*.md")
.PHONY: verify-linkcheck
verify-linkcheck:
@docker run --init -w /input -v $(CURR_DIR):/input ghcr.io/tcort/markdown-link-check:3.12 -q -p $(MD_FILES)

## --------------------------------------
## Cleanup / Verification
Expand Down
8 changes: 4 additions & 4 deletions docs/book/src/developer/conversion.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ kubebuilder create api --group <group> --version <version> --kind <kind>
**_NOTE:_** [Refer for more detailed information about prerequisites.](https://kubebuilder.io/multiversion-tutorial/api-changes.html#changing-things-up)

## Conversion flow
1. In each “spoke” version package, add marker `+k8s:conversion-gen` directive pointing to the “hub” version package. It must be in `doc.go`. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1alpha4/doc.go)
1. In each “spoke” version package, add marker `+k8s:conversion-gen` directive pointing to the “hub” version package. It must be in `doc.go`. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta1/doc.go)
2. In “hub” version package, create `doc.go` file without any marker. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta1/doc.go)
3. In “spoke” version package, add a var `localSchemeBuilder = &SchemeBuilder.SchemeBuilder` in `groupversion_info.go` so the auto-generated code would compile. [Refer]( https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/e55357a520089abc6ac2a9ca91a5b9cf0606bbbc/api/v1alpha4/groupversion_info.go#L37)
4. In “hub” version package, create a `conversion.go` to implement the “hub” methods. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta1/conversion.go)
3. In “spoke” version package, add a var `localSchemeBuilder = &SchemeBuilder.SchemeBuilder` in `groupversion_info.go` so the auto-generated code would compile. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta1/groupversion_info.go)
4. In “hub” version package, create a `conversion.go` to implement the “hub” methods. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta2/conversion.go)
5. Run target `make generate-go-conversions-core`, this will generate `zz_generated.conversion.go` in the spoke version package.
6. In "spoke" version package, update `{kind}_conversion.go` to implement Convertible for each type. When `conversion-gen` stops generating methods because of incompatibilities or we need to override the behavior, we stick them in this source file. Our “spoke” versions need to implement the Convertible interface. Namely, they’ll need ConvertTo and ConvertFrom methods to convert to/from the hub version. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1alpha4/ibmpowervs_conversion.go)
6. In "spoke" version package, update `{kind}_conversion.go` to implement Convertible for each type. When `conversion-gen` stops generating methods because of incompatibilities or we need to override the behavior, we stick them in this source file. Our “spoke” versions need to implement the Convertible interface. Namely, they’ll need ConvertTo and ConvertFrom methods to convert to/from the hub version. [Refer](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/api/v1beta1/ibmpowervs_conversion.go)

## References
- [What are hubs and spokes?](https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html)
Expand Down
16 changes: 8 additions & 8 deletions docs/book/src/developer/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
- ##### K8s Packages
| Package | Module name | Used by |
| ------- | ----------- | ------- |
| api | [k8s.io/api](https://k8s.io/api) | [go.mod][go.mod1] |
| apiextensions-apiserver | [k8s.io/apiextensions-apiserver](https://k8s.io/apiextensions-apiserver) | [go.mod][go.mod1] |
| apimachinery | [k8s.io/apimachinery](https://k8s.io/apimachinery) | [go.mod][go.mod1] |
| cli-runtime | [k8s.io/cli-runtime](https://k8s.io/cli-runtime) | [go.mod][go.mod1] |
| client-go | [k8s.io/client-go](https://k8s.io/client-go) | [go.mod][go.mod1] |
| utils | [k8s.io/utils](https://k8s.io/utils) | [go.mod][go.mod1] |
| api | [api](https://github.com/kubernetes/api) | [go.mod][go.mod1] |
| apiextensions-apiserver | [apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | [go.mod][go.mod1] |
| apimachinery | [apimachinery](https://github.com/kubernetes/apimachinery) | [go.mod][go.mod1] |
| cli-runtime | [cli-runtime](https://github.com/kubernetes/cli-runtime) | [go.mod][go.mod1] |
| client-go | [client-go](https://github.com/kubernetes/client-go) | [go.mod][go.mod1] |
| utils | [utils](https://github.com/kubernetes/utils) | [go.mod][go.mod1] |
| controller-runtime | [sigs.k8s.io/controller-runtime](https://sigs.k8s.io/controller-runtime) | [go.mod][go.mod1] |
| controller-runtime/tools/setup-envtest | [sigs.k8s.io/controller-runtime/tools/setup-envtest](https://sigs.k8s.io/controller-runtime/tools/setup-envtest) | [hack/tools/go.mod][go.mod2] |
| controller-tools | [sigs.k8s.io/controller-tools](https://sigs.k8s.io/controller-tools) | [hack/tools/go.mod][go.mod2] |
Expand Down Expand Up @@ -49,8 +49,8 @@
#### Other Tools
| Package | Used by | Source |
| --- | ----------- | ------ |
| kind | [ensure-kind.sh](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/hack/ensure-kind.sh#L24) | [kind](https://github.com/kubernetes-sigs/kind) |
| kubebuilder-tools | [fetch_ext_bins.sh](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/scripts/fetch_ext_bins.sh#L29) <br/> [Makefile](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/Makefile#L72) | [kubebuilder-tools](https://storage.googleapis.com/kubebuilder-tools) |
| kind | [ensure-kind.sh](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/hack/ensure-kind.sh) | [kind](https://github.com/kubernetes-sigs/kind) |
| kubebuilder | [Makefile](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/Makefile) | [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder) |

[go.mod1]: https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/go.mod
[go.mod2]: https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/hack/tools/go.mod
14 changes: 7 additions & 7 deletions docs/book/src/developer/index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Developer Guide

- [Rapid iterative development with Tilt](/developer/tilt.html)
- [Guide for API conversions](/developer/conversion.html)
- [Release Process](/developer/release.html)
- [Release Support Guidelines](/developer/release-support-guidelines.md)
- [How to build the machine boot images](/developer/build-images.html)
- [Modules and tools dependencies](/developer/dependencies.html)
- [E2E testing](/developer/e2e.html)
- [Rapid iterative development with Tilt](./tilt.md)
- [Guide for API conversions](./conversion.md)
- [Release Process](./release.md)
- [Release Support Guidelines](./release-support-guidelines.md)
- [How to build the machine boot images](./build-images.md)
- [Modules and tools dependencies](./dependencies.md)
- [E2E testing](./e2e.md)
6 changes: 3 additions & 3 deletions docs/book/src/developer/tilt.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,11 @@ extra_args:
---
## Different flavors of deploying workload clusters using CAPIBM.

> **Note:** Currently, both [ClusterClass](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/index.html) and [ClusterResourceset](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) are experimental features. By default, the workload cluster is deployed using the external Cloud Controller Manager (CCM).
> **Note:** Currently, [ClusterClass](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-class/index.html) is an experimental features. By default, the workload cluster is deployed using the external Cloud Controller Manager (CCM).

### 1. Configuration to deploy workload cluster from ClusterClass template

To deploy workload cluster with [clusterclass-template](/topics/powervs/clusterclass-cluster.html), enable the feature gates `EXP_CLUSTER_RESOURCE_SET` and `CLUSTER_TOPOLOGY` to `true` under kustomize_substitutions.
To deploy workload cluster with [clusterclass-template](../topics/powervs/creating-a-cluster.md#deploy-a-powervs-cluster-with-cluster-class), enable the feature gates `EXP_CLUSTER_RESOURCE_SET` and `CLUSTER_TOPOLOGY` to `true` under kustomize_substitutions.

```yaml
default_registry: "localhost:5001"
Expand Down Expand Up @@ -183,7 +183,7 @@ Kind cluster becomes a management cluster after this point, check the pods runni

## Create workload clusters

To provision your workload cluster, check the `Creating a cluster` section for [VPC](/topics/vpc/creating-a-cluster.html) and [PowerVS](/topics/powervs/creating-a-cluster.html).
To provision your workload cluster, check the `Creating a cluster` section for [VPC](../topics/vpc/creating-a-cluster.md) and [PowerVS](../topics/powervs/creating-a-cluster.md).

After deploying it, check the tilt logs and wait for the clusters to be created.

Expand Down
4 changes: 2 additions & 2 deletions docs/book/src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ it into a management cluster using `clusterctl`.
```console
export SERVICE_ENDPOINT=us-south:vpc=https://us-south-stage01.iaasdev.cloud.ibm.com,powervs=https://dal.power-iaas.test.cloud.ibm.com,rc=https://resource-controller.test.cloud.ibm.com
```
> Note: Refer [Regions-Zones Mapping](/reference/regions-zones-mapping.html) for more information.
> Note: Refer [Regions-Zones Mapping](./reference/regions-zones-mapping.md) for more information.

4. For enabling debug level logs for the controller, set the `LOGLEVEL` environment variable(defaults to 0).
```console
Expand Down Expand Up @@ -86,4 +86,4 @@ it into a management cluster using `clusterctl`.
clusterctl generate cluster [name] --kubernetes-version [version] | kubectl apply -f -
```

6. Once the management cluster is ready with the required providers up and running, proceed to provisioning the workload cluster. Check the respective sections for [VPC](/topics/vpc/creating-a-cluster.html) and [PowerVS](/topics/powervs/creating-a-cluster.html) to deploy the cluster.
6. Once the management cluster is ready with the required providers up and running, proceed to provisioning the workload cluster. Check the respective sections for [VPC](./topics/vpc/creating-a-cluster.md) and [PowerVS](./topics/powervs/creating-a-cluster.md) to deploy the cluster.
13 changes: 4 additions & 9 deletions docs/book/src/introduction.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# Kubernetes Cluster API Provider IBM Cloud

<p align="center">
<img src="../images/k8s-ibm-cloud.png" alt="Kubernetes Cluster API Provider IBM Cloud">
</p>

------
<p align="center">Kubernetes-native declarative infrastructure for IBM Cloud.</p>

## What is the Cluster API Provider IBM Cloud
Expand All @@ -14,7 +9,7 @@ The [Cluster API](https://github.com/kubernetes-sigs/cluster-api) brings declara
The API itself is shared across multiple cloud providers allowing for true IBM Cloud
hybrid deployments of Kubernetes. It is built atop the lessons learned from
previous cluster managers such as [kops](https://github.com/kubernetes/kops) and
[kubicorn](http://kubicorn.io/).
[kubicorn](https://github.com/kubicorn/kubicorn).

<aside class="note">

Expand All @@ -36,18 +31,18 @@ This book documents Cluster API Provider IBM Cloud v0.11. For other versions ple
## CAPIBM Supported Infrastructure-as-a-Service (IaaS)

<p align="center">
<img src="../images/ibm-cloud-iaas.png" alt="Supported IBM Cloud IaaS">
<img src="../../images/ibm-cloud.svg" alt="Supported IBM Cloud IaaS">
</p>

Currently, the CAPIBM project exclusively facilitates the deployment of Kubernetes (K8s) clusters solely on two IBM infrastructure offerings, namely [IBM VPC (Virtual Server Instances)](https://cloud.ibm.com/docs/vpc?topic=vpc-about-advanced-virtual-servers) and [IBM PowerVS](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-about-virtual-server).

## Quick Start

Check out the [getting started](./getting-started.html) section to create your first Kubernetes cluster on IBM Cloud using Cluster API.
Check out the [getting started](./getting-started.md) section to create your first Kubernetes cluster on IBM Cloud using Cluster API.

## Tilt-based development environment

See [developer guide](/developer/tilt.html) section for details.
See [developer guide](./developer/tilt.md) section for details.


## Documentation
Expand Down
4 changes: 2 additions & 2 deletions docs/book/src/machine-images/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ Pre-built public Images are published by the maintainers regularly for each new

>Note: These images are only for the test purpose

- [IBM Cloud VPC Images](/machine-images/vpc.html)
- [IBM Cloud PowerVS Images](/machine-images/powervs.html)
- [IBM Cloud VPC Images](./vpc.md)
- [IBM Cloud PowerVS Images](./powervs.md)
4 changes: 2 additions & 2 deletions docs/book/src/reference/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

Further references to the Cluster API Provider IBM Cloud - CAPIBM project.

- [API reference](/reference/api-references.html)
- [Regions-Zones Mapping](/reference/regions-zones-mapping.html)
- [API reference](./api-references.md)
- [Regions-Zones Mapping](./regions-zones-mapping.md)
22 changes: 11 additions & 11 deletions docs/book/src/topics/capibmadm/powervs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@

## 1. PowerVS commands
- [key](./key.md)
- [create](/topics/capibmadm/powervs/key.html#1-capibmadm-powervs-key-create)
- [delete](/topics/capibmadm/powervs/key.html#2-capibmadm-powervs-key-delete)
- [list](/topics/capibmadm/powervs/key.html#3-capibmadm-powervs-key-list)
- [create](../../capibmadm/powervs/key.md#1-capibmadm-powervs-key-create)
- [delete](../../capibmadm/powervs/key.md#2-capibmadm-powervs-key-delete)
- [list](../../capibmadm/powervs/key.md#3-capibmadm-powervs-key-list)
- [network](./network.md)
- [create](/topics/capibmadm/powervs/network.html#1-capibmadm-powervs-network-create)
- [delete](/topics/capibmadm/powervs/network.html#2-capibmadm-powervs-network-delete)
- [list](/topics/capibmadm/powervs/network.html#3-capibmadm-powervs-network-list)
- [create](../../capibmadm/powervs/network.md#1-capibmadm-powervs-network-create)
- [delete](../../capibmadm/powervs/network.md#2-capibmadm-powervs-network-delete)
- [list](../../capibmadm/powervs/network.md#3-capibmadm-powervs-network-list)
- [port](./port.md)
- [create](/topics/capibmadm/powervs/port.html#1-capibmadm-powervs-port-create)
- [delete](/topics/capibmadm/powervs/port.html#2-capibmadm-powervs-port-delete)
- [list](/topics/capibmadm/powervs/port.html#3-capibmadm-powervs-port-list)
- [create](../../capibmadm/powervs/port.md#1-capibmadm-powervs-port-create)
- [delete](../../capibmadm/powervs/port.md#2-capibmadm-powervs-port-delete)
- [list](../../capibmadm/powervs/port.md#3-capibmadm-powervs-port-list)
- [image](./image.md)
- [import](/topics/capibmadm/powervs/image.html#1-capibmadm-powervs-image-import)
- [list](/topics/capibmadm/powervs/image.html#2-capibmadm-powervs-image-list)
- [import](../../capibmadm/powervs/image.md#1-capibmadm-powervs-image-import)
- [list](../../capibmadm/powervs/image.md#2-capibmadm-powervs-image-list)
8 changes: 4 additions & 4 deletions docs/book/src/topics/capibmadm/vpc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
## 1. VPC commands

- [key](./key.md)
- [list](/topics/capibmadm/vpc/key.html#1-capibmadm-vpc-key-list)
- [create](/topics/capibmadm/vpc/key.html#2-capibmadm-vpc-key-create)
- [delete](/topics/capibmadm/vpc/key.html#3-capibmadm-vpc-key-delete)
- [list](../../capibmadm/vpc/key.md#1-capibmadm-vpc-key-list)
- [create](../../capibmadm/vpc/key.md#2-capibmadm-vpc-key-create)
- [delete](../../capibmadm/vpc/key.md#3-capibmadm-vpc-key-delete)

- [image](./image.md)
- [list](/topics/capibmadm/vpc/image.html#1-capibmadm-vpc-image-list)
- [list](../../capibmadm/vpc/image.md#1-capibmadm-vpc-image-list)
4 changes: 2 additions & 2 deletions docs/book/src/topics/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

This section contains information about using IBM Cloud features with Cluster API Provider IBM Cloud.

- [IBM Cloud VPC Cluster](/topics/vpc/index.html)
- [IBM Cloud PowerVS Cluster](/topics/powervs/index.html)
- [IBM Cloud VPC Cluster](./vpc/index.md)
- [IBM Cloud PowerVS Cluster](./powervs/index.md)
Loading