Skip to content

Commit 9848bb8

Browse files
Added linkcheck action to makefile, Added yamllint and linkcheck to verify
1 parent b3134af commit 9848bb8

File tree

20 files changed

+82
-91
lines changed

20 files changed

+82
-91
lines changed

.github/ISSUE_TEMPLATE/cluster_api_version_update.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ Update cluster-api version
2020
Update Kubernetes version
2121
- [ ] [go.mod](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/go.mod)
2222
- [ ] [Kubebuilder version](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/Makefile#L84)
23-
- [ ] [scripts](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/fetch_ext_bins.sh#L29)
2423

2524

2625
If Go version is bumped, update it in the following files

.github/workflows/validate-yaml-lint.yaml

Lines changed: 0 additions & 9 deletions
This file was deleted.

Makefile

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ define checkdiff
515515
git --no-pager diff --name-only FETCH_HEAD
516516
endef
517517

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

520520
.PHONY: verify
521521
verify: $(addprefix verify-,$(ALL_VERIFY_CHECKS)) ## Run all verify-* targets
@@ -583,9 +583,15 @@ else
583583
endif
584584

585585

586-
.PHONY: yamllint
587-
yamllint:
588-
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(PWD):/data cytopia/yamllint:latest /data --config-file /data/.yamllint --no-warnings
586+
CURR_DIR := $(shell pwd)
587+
.PHONY: verify-yamllint
588+
verify-yamllint:
589+
@docker run -v $(CURR_DIR):/data cytopia/yamllint:latest /data --config-file /data/.yamllint --no-warnings
590+
591+
MD_FILES := $(shell find . -iname "*.md")
592+
.PHONY: verify-linkcheck
593+
verify-linkcheck:
594+
@docker run --init -w /input -v $(CURR_DIR):/input ghcr.io/tcort/markdown-link-check:3.12 -q -p $(MD_FILES)
589595

590596
## --------------------------------------
591597
## Cleanup / Verification

docs/book/src/developer/conversion.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ kubebuilder create api --group <group> --version <version> --kind <kind>
1414
**_NOTE:_** [Refer for more detailed information about prerequisites.](https://kubebuilder.io/multiversion-tutorial/api-changes.html#changing-things-up)
1515

1616
## Conversion flow
17-
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)
17+
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)
1818
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)
19-
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)
20-
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)
19+
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#L38)
20+
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)
2121
5. Run target `make generate-go-conversions-core`, this will generate `zz_generated.conversion.go` in the spoke version package.
22-
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)
22+
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)
2323

2424
## References
2525
- [What are hubs and spokes?](https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html)

docs/book/src/developer/dependencies.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
- ##### K8s Packages
1111
| Package | Module name | Used by |
1212
| ------- | ----------- | ------- |
13-
| api | [k8s.io/api](https://k8s.io/api) | [go.mod][go.mod1] |
14-
| apiextensions-apiserver | [k8s.io/apiextensions-apiserver](https://k8s.io/apiextensions-apiserver) | [go.mod][go.mod1] |
15-
| apimachinery | [k8s.io/apimachinery](https://k8s.io/apimachinery) | [go.mod][go.mod1] |
16-
| cli-runtime | [k8s.io/cli-runtime](https://k8s.io/cli-runtime) | [go.mod][go.mod1] |
17-
| client-go | [k8s.io/client-go](https://k8s.io/client-go) | [go.mod][go.mod1] |
18-
| utils | [k8s.io/utils](https://k8s.io/utils) | [go.mod][go.mod1] |
13+
| api | [api](https://github.com/kubernetes/api) | [go.mod][go.mod1] |
14+
| apiextensions-apiserver | [apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | [go.mod][go.mod1] |
15+
| apimachinery | [apimachinery](https://github.com/kubernetes/apimachinery) | [go.mod][go.mod1] |
16+
| cli-runtime | [cli-runtime](https://github.com/kubernetes/cli-runtime) | [go.mod][go.mod1] |
17+
| client-go | [client-go](https://github.com/kubernetes/client-go) | [go.mod][go.mod1] |
18+
| utils | [utils](https://github.com/kubernetes/utils) | [go.mod][go.mod1] |
1919
| controller-runtime | [sigs.k8s.io/controller-runtime](https://sigs.k8s.io/controller-runtime) | [go.mod][go.mod1] |
2020
| 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] |
2121
| controller-tools | [sigs.k8s.io/controller-tools](https://sigs.k8s.io/controller-tools) | [hack/tools/go.mod][go.mod2] |
@@ -50,7 +50,7 @@
5050
| Package | Used by | Source |
5151
| --- | ----------- | ------ |
5252
| 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) |
53-
| 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) |
53+
| kubebuilder | [Makefile](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/Makefile#L72) | [kubebuilder](https://github.com/kubernetes-sigs/kubebuilder) |
5454

5555
[go.mod1]: https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/go.mod
5656
[go.mod2]: https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/hack/tools/go.mod

docs/book/src/developer/index.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Developer Guide
22

3-
- [Rapid iterative development with Tilt](/developer/tilt.html)
4-
- [Guide for API conversions](/developer/conversion.html)
5-
- [Release Process](/developer/release.html)
6-
- [Release Support Guidelines](/developer/release-support-guidelines.md)
7-
- [How to build the machine boot images](/developer/build-images.html)
8-
- [Modules and tools dependencies](/developer/dependencies.html)
9-
- [E2E testing](/developer/e2e.html)
3+
- [Rapid iterative development with Tilt](./tilt.md)
4+
- [Guide for API conversions](./conversion.md)
5+
- [Release Process](./release.md)
6+
- [Release Support Guidelines](./release-support-guidelines.md)
7+
- [How to build the machine boot images](./build-images.md)
8+
- [Modules and tools dependencies](./dependencies.md)
9+
- [E2E testing](./e2e.md)

docs/book/src/developer/tilt.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@ extra_args:
9797
---
9898
## Different flavors of deploying workload clusters using CAPIBM.
9999
100-
> **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).
100+
> **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/cluster-resource-set.html#clusterresourceset-ga) are experimental features. By default, the workload cluster is deployed using the external Cloud Controller Manager (CCM).
101101
102102
### 1. Configuration to deploy workload cluster from ClusterClass template
103103
104-
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.
104+
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.
105105

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

184184
## Create workload clusters
185185

186-
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).
186+
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).
187187

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

docs/book/src/getting-started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ it into a management cluster using `clusterctl`.
5151
```console
5252
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
5353
```
54-
> Note: Refer [Regions-Zones Mapping](/reference/regions-zones-mapping.html) for more information.
54+
> Note: Refer [Regions-Zones Mapping](./reference/regions-zones-mapping.md) for more information.
5555

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

89-
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.
89+
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.

docs/book/src/introduction.md

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# Kubernetes Cluster API Provider IBM Cloud
22

3-
<p align="center">
4-
<img src="../images/k8s-ibm-cloud.png" alt="Kubernetes Cluster API Provider IBM Cloud">
5-
</p>
6-
7-
------
83
<p align="center">Kubernetes-native declarative infrastructure for IBM Cloud.</p>
94

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

1914
<aside class="note">
2015

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

3833
<p align="center">
39-
<img src="../images/ibm-cloud-iaas.png" alt="Supported IBM Cloud IaaS">
34+
<img src="../../images/ibm-cloud.svg" alt="Supported IBM Cloud IaaS">
4035
</p>
4136

4237
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).
4338

4439
## Quick Start
4540

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

4843
## Tilt-based development environment
4944

50-
See [developer guide](/developer/tilt.html) section for details.
45+
See [developer guide](./developer/tilt.md) section for details.
5146

5247

5348
## Documentation

docs/book/src/machine-images/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ Pre-built public Images are published by the maintainers regularly for each new
66

77
>Note: These images are only for the test purpose
88
9-
- [IBM Cloud VPC Images](/machine-images/vpc.html)
10-
- [IBM Cloud PowerVS Images](/machine-images/powervs.html)
9+
- [IBM Cloud VPC Images](./vpc.md)
10+
- [IBM Cloud PowerVS Images](./powervs.md)

0 commit comments

Comments
 (0)