diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 11b1387fd7..e3e6b82a7e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -59,7 +59,7 @@ releases to fix CVEs and critical bugs if needed. ## Dependency Licence Management -Cluster API provider vSphere follows the [license policy of the CNCF](https://github.com/cncf/foundation/blob/main/allowed-third-party-license-policy.md). This sets limits on which +Cluster API provider vSphere follows the [license policy of the CNCF](https://github.com/cncf/foundation/blob/main/policies-guidance/allowed-third-party-license-policy.md). This sets limits on which licenses dependencies and other artifacts use. For go dependencies only dependencies listed in the `go.mod` are considered dependencies. This is in line with [how dependencies are reviewed in Kubernetes](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/vendor.md#reviewing-and-approving-dependency-changes). ### Contributor Ladder diff --git a/docs/development.md b/docs/development.md index 23ed28caff..357104f1e8 100644 --- a/docs/development.md +++ b/docs/development.md @@ -2,7 +2,7 @@ ## Using Tilt for rapid iteration -Follow the instructions to use [Tilt with Cluster API](https://cluster-api.sigs.k8s.io/developer/tilt.html) +Follow the instructions to use [Tilt with Cluster API](https://cluster-api.sigs.k8s.io/developer/core/tilt.html) For example, given a directory layout of diff --git a/docs/proposal/20211006-supervisor-based-apis.md b/docs/proposal/20211006-supervisor-based-apis.md index 6f61e51599..f57d0474e6 100644 --- a/docs/proposal/20211006-supervisor-based-apis.md +++ b/docs/proposal/20211006-supervisor-based-apis.md @@ -13,24 +13,22 @@ status: implementable ## Table of Contents -- [Title](#title) - - [Table of Contents](#table-of-contents) - - [Glossary](#glossary) - - [Summary](#summary) - - [Motivation](#motivation) - - [Goals](#goals) - - [Non-Goals/Future Work](#non-goalsfuture-work) - - [Proposal](#proposal) - - [User Stories](#user-stories) - - [Story 1](#story-1) - - [Story 2](#story-2) - - [Story 3](#story-3) - - [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) - - [Security Model](#security-model) - - [Risks and Mitigations](#risks-and-mitigations) - - [Alternatives](#alternatives) - - [Upgrade Strategy](#upgrade-strategy) - - [Implementation History](#implementation-history) +- [Glossary](#glossary) +- [Summary](#summary) +- [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals/Future Work](#non-goalsfuture-work) +- [Proposal](#proposal) + - [User Stories](#user-stories) + - [Story 1](#story-1) + - [Story 2](#story-2) + - [Story 3](#story-3) + - [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) + - [Security Model](#security-model) + - [Risks and Mitigations](#risks-and-mitigations) +- [Alternatives](#alternatives) +- [Upgrade Strategy](#upgrade-strategy) +- [Implementation History](#implementation-history) ## Glossary diff --git a/docs/proposal/20220907-node-affinity-and-anti-affinity.md b/docs/proposal/20220907-node-affinity-and-anti-affinity.md index 4b75af0faf..e7a61226c0 100644 --- a/docs/proposal/20220907-node-affinity-and-anti-affinity.md +++ b/docs/proposal/20220907-node-affinity-and-anti-affinity.md @@ -15,35 +15,33 @@ status: proposed ## Table of Contents -* [Support for Node affinity and anti-affinity](#support-for-node-affinity-and-anti-affinity) - * [Table of Contents](#table-of-contents) - * [Glossary](#glossary) - * [Summary](#summary) - * [Motivation](#motivation) - * [Goals](#goals) - * [Future Work](#future-work) - * [Non-Goals](#non-goals) - * [Proposal](#proposal) - * [User Stories](#user-stories) - * [Story 1](#story-1) - * [Story 2](#story-2) - * [Story 3](#story-3) - * [Requirements](#requirements) - * [Functional Requirements](#functional-requirements) - * [Non-Functional Requirements](#non-functional-requirements) - * [Overall Design](#overall-design) - * [Cluster Modules](#cluster-modules) - * [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) - * [API changes](#api-changes) - * [VSphereCluster CR](#vspherecluster-cr) - * [VSphereVM CR](#vspherevm-cr) - * [Implementation Details](#implementation-details) - * [VSphereCluster controller changes](#vspherecluster-controller-changes) - * [VSphereVM controller changes](#vspherevm-controller-changes) - * [VSphereMachine controller changes](#vspheremachine-controller-changes) - * [Node label controller changes](#node-label-controller-changes) - * [Feature flags](#feature-flags) - * [Upgrade Strategy](#upgrade-strategy) +* [Glossary](#glossary) +* [Summary](#summary) +* [Motivation](#motivation) + * [Goals](#goals) + * [Future Work](#future-work) + * [Non-Goals](#non-goals) +* [Proposal](#proposal) + * [User Stories](#user-stories) + * [Story 1](#story-1) + * [Story 2](#story-2) + * [Story 3](#story-3) + * [Requirements](#requirements) + * [Functional Requirements](#functional-requirements) + * [Non-Functional Requirements](#non-functional-requirements) + * [Overall Design](#overall-design) + * [Cluster Modules](#cluster-modules) + * [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) + * [API changes](#api-changes) + * [VSphereCluster CR](#vspherecluster-cr) + * [VSphereVM CR](#vspherevm-cr) + * [Implementation Details](#implementation-details) + * [VSphereCluster controller changes](#vspherecluster-controller-changes) + * [VSphereVM controller changes](#vspherevm-controller-changes) + * [VSphereMachine controller changes](#vspheremachine-controller-changes) + * [Node label controller changes](#node-label-controller-changes) + * [Feature flags](#feature-flags) + * [Upgrade Strategy](#upgrade-strategy) ## Glossary diff --git a/docs/proposal/20220929-ipam-support.md b/docs/proposal/20220929-ipam-support.md index 059790479e..3b252cf11f 100644 --- a/docs/proposal/20220929-ipam-support.md +++ b/docs/proposal/20220929-ipam-support.md @@ -21,35 +21,33 @@ status: Implementable ## Table of Contents -- [CAPV IPAM Support](#capv-ipam-support) - - [Table of Contents](#table-of-contents) - - [Glossary](#glossary) - - [Summary](#summary) - - [Motivation](#motivation) - - [Goals](#goals) - - [Non-Goals/Future Work](#non-goalsfuture-work) - - [Proposal](#proposal) - - [User Stories](#user-stories) - - [Story 1](#story-1) - - [Story 2](#story-2) - - [Story 3](#story-3) - - [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) - - [API Changes](#api-changes) - - [VSphereVM Controller Changes](#vspherevm-controller-changes) - - [Owner Reference and Finalizer](#owner-reference-and-finalizer) - - [Flavors](#flavors) - - [Validation](#validation) - - [Nameservers](#nameservers) - - [Security Model](#security-model) - - [Risks and Mitigations](#risks-and-mitigations) - - [Alternatives](#alternatives) - - [Upgrade Strategy](#upgrade-strategy) - - [Additional Details](#additional-details) - - [Test Plan](#test-plan) - - [Graduation Criteria](#graduation-criteria) - - [Version Skew Strategy](#version-skew-strategy) - - [References](#references) - - [Implementation History](#implementation-history) +- [Glossary](#glossary) +- [Summary](#summary) +- [Motivation](#motivation) + - [Goals](#goals) + - [Non-Goals/Future Work](#non-goalsfuture-work) +- [Proposal](#proposal) + - [User Stories](#user-stories) + - [Story 1](#story-1) + - [Story 2](#story-2) + - [Story 3](#story-3) + - [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints) + - [API Changes](#api-changes) + - [VSphereVM Controller Changes](#vspherevm-controller-changes) + - [Owner Reference and Finalizer](#owner-reference-and-finalizer) + - [Flavors](#flavors) + - [Validation](#validation) + - [Nameservers](#nameservers) + - [Security Model](#security-model) + - [Risks and Mitigations](#risks-and-mitigations) +- [Alternatives](#alternatives) +- [Upgrade Strategy](#upgrade-strategy) +- [Additional Details](#additional-details) + - [Test Plan](#test-plan) + - [Graduation Criteria](#graduation-criteria) + - [Version Skew Strategy](#version-skew-strategy) +- [References](#references) +- [Implementation History](#implementation-history) ## Glossary diff --git a/hack/verify-licenses.sh b/hack/verify-licenses.sh index efe89fe85e..b6395c1442 100755 --- a/hack/verify-licenses.sh +++ b/hack/verify-licenses.sh @@ -22,7 +22,7 @@ if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace fi -# This list is from https://github.com/cncf/foundation/blob/main/allowed-third-party-license-policy.md +# This list is from https://github.com/cncf/foundation/blob/main/policies-guidance/allowed-third-party-license-policy.md CNCF_LICENSE_ALLOWLIST=Apache-2.0,MIT,BSD-2-Clause,SD-2-Clause-FreeBSD,BSD-3-Clause,ISC,Python-2.0,PostgreSQL,X11,Zlib VERSION=${1} @@ -35,4 +35,4 @@ TRIVY="${REPO_ROOT}/hack/tools/bin/trivy/${VERSION}/trivy" $TRIVY filesystem . --license-full --ignored-licenses ${CNCF_LICENSE_ALLOWLIST} --scanners license --severity UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL -f json | \ # Specifically ignore 'github.com/hashicorp/hcl'. This is a known indirect dependency that we should remove where possible. # This query ensures we only skip github.com/hashicorp/hcl for as long as the license remains MPL-2.0 -jq '.Results[] | select( .Licenses[]?.PkgName == "github.com/hashicorp/hcl" and .Licenses[]?.Name == "MPL-2.0" | not) | if . == {} then . else error(.) end' \ No newline at end of file +jq '.Results[] | select( .Licenses[]?.PkgName == "github.com/hashicorp/hcl" and .Licenses[]?.Name == "MPL-2.0" | not) | if . == {} then . else error(.) end' diff --git a/test/infrastructure/vcsim/README.md b/test/infrastructure/vcsim/README.md index f49ac67395..af5afb6689 100644 --- a/test/infrastructure/vcsim/README.md +++ b/test/infrastructure/vcsim/README.md @@ -9,7 +9,7 @@ vcsim controller is a regular Kubernetes controller designed to be run aside to as a target infrastructure instead of a real vCenter. It is also worth to notice that vcsim controller leverages several components from Cluster API's in-memory -provider, and thus it is recommended to become familiar with this [document](https://github.com/kubernetes-sigs/cluster-api/blob/main/test/infrastructure/inmemory/README.md) +provider, and thus it is recommended to become familiar with this [document](https://github.com/kubernetes-sigs/cluster-api/blob/main/test/infrastructure/docker/internal/controllers/backends/inmemory/README.md) before reading the following paragraphs. ### Preparing a test environment (using vcsim) @@ -191,13 +191,13 @@ runtime extension, so it is possible to deploy it leveraging on the existing mac After starting tilt with `make tilt-up`, you can use the [vcsim.sh](scripts/vcsim.sh) script and the instruction above to create a test cluster. -See [Developing Cluster API with Tilt](https://cluster-api.sigs.k8s.io/developer/tilt) for more details. +See [Developing Cluster API with Tilt](https://cluster-api.sigs.k8s.io/developer/core/tilt) for more details. ### E2E tests vsim can be used to run a subset of CAPV E2E tests that can be executed by setting `GINKGO_FOCUS="\[vcsim\]"`. -See [Running the end-to-end tests locally](https://cluster-api.sigs.k8s.io/developer/testing#running-the-end-to-end-tests-locally) for more details. +See [Running the end-to-end tests locally](https://cluster-api.sigs.k8s.io/developer/core/testing#running-the-end-to-end-tests-locally) for more details. Note: The code for the E2E test setup will take care of creating the `VCenterSimulator`, the `ControlPlaneEndpoint` and to grab required variables from the corresponding `EnvVar`. diff --git a/test/infrastructure/vm-operator/README.md b/test/infrastructure/vm-operator/README.md index a3f50b36a3..6a4a52629a 100644 --- a/test/infrastructure/vm-operator/README.md +++ b/test/infrastructure/vm-operator/README.md @@ -84,7 +84,7 @@ NOTE: net-operator is not represented for sake of simplicity, it is complementar A subset of CAPV E2E tests can be executed using the supervisor mode by setting `GINKGO_FOCUS="\[supervisor\]"`. -See [Running the end-to-end tests locally](https://cluster-api.sigs.k8s.io/developer/testing#running-the-end-to-end-tests-locally) for more details. +See [Running the end-to-end tests locally](https://cluster-api.sigs.k8s.io/developer/core/testing#running-the-end-to-end-tests-locally) for more details. Note: The code responsible for E2E tests setup will take care of ensuring the management cluster and vCenter have all the dependencies required by the vm-operator; The only exception is the Content Library with