Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
627bd68
Bump github.com/spf13/pflag (#2157)
dependabot[bot] Jan 30, 2025
58c99ac
add machine images for powervs (#2158)
priyanshikhetwani Jan 30, 2025
f409497
Bump golang to v1.22.11 (#2160)
Prajyot-Parab Feb 3, 2025
cd7d669
Proposal for adding Additional Disks to node (#2139)
anshuman-agarwala Feb 4, 2025
d0a00cc
Fix powervs machine image links (#2164)
Prajyot-Parab Feb 4, 2025
dde072c
Bump golang.org/x/text from 0.21.0 to 0.22.0 (#2170)
dependabot[bot] Feb 5, 2025
2c4dc73
Bump github.com/IBM/platform-services-go-sdk from 0.73.0 to 0.74.0 (#…
dependabot[bot] Feb 5, 2025
0d51c86
fix linters related warnings (#2169)
Prajyot-Parab Feb 5, 2025
19f249d
make powervs cluster setup with external cloud provider as default (#…
Prajyot-Parab Feb 5, 2025
a1ae38b
Update the commit-hash for PowerVS Cloud Controller (#2174)
kishen-v Feb 5, 2025
c6b2def
add uts for setProviderID (#2144)
arshadd-b Feb 5, 2025
9dc131b
Bump golang.org/x/crypto from 0.32.0 to 0.33.0 (#2180)
dependabot[bot] Feb 8, 2025
9728303
Bump golang to v1.22.12 (#2181)
Prajyot-Parab Feb 10, 2025
73e0e3f
Bump golang.org/x/net from 0.34.0 to 0.35.0 (#2186)
dependabot[bot] Feb 11, 2025
635721a
Bump github.com/IBM/platform-services-go-sdk from 0.74.0 to 0.75.0 (#…
dependabot[bot] Feb 12, 2025
9a15a48
Enhance local development documentation (#2162)
pjsharath28 Feb 12, 2025
9b28606
updated feature request template (#2184)
aman4433 Feb 12, 2025
dad28ba
fix powervs_cloud_controller image build (#2188)
Prajyot-Parab Feb 12, 2025
0c35eac
update powervs_cloud_controller image tag (#2191)
Prajyot-Parab Feb 12, 2025
1c61bbe
Fix release issue template description (#2196)
Amulyam24 Feb 12, 2025
3c1d9f2
Bump github.com/IBM-Cloud/power-go-client from 1.9.0 to 1.10.0 (#2197)
dependabot[bot] Feb 13, 2025
5e7545c
Bump github.com/IBM/vpc-go-sdk from 0.64.0 to 0.64.1 (#2198)
dependabot[bot] Feb 13, 2025
c346471
Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#2201)
dependabot[bot] Feb 18, 2025
cafe0f2
Post v0.10.0 release housekeeping (#2200)
Prajyot-Parab Feb 18, 2025
9211da3
Bump cluster-api to v1.9.5 (#2204)
Prajyot-Parab Feb 19, 2025
eb584e8
Add release-0-10 book link (#2209)
Prajyot-Parab Feb 20, 2025
506282a
Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (#2214)
dependabot[bot] Feb 24, 2025
7d64b3c
build and publish vpc image for k8s version 1.31.4 (#2213)
priyanshikhetwani Feb 24, 2025
070d1c7
Update CCM image to fix the PowerVS CI (#2215)
Amulyam24 Feb 24, 2025
24c2873
Bump github.com/IBM/platform-services-go-sdk from 0.75.0 to 0.76.0 (#…
dependabot[bot] Feb 25, 2025
c1b3165
Update the release issue template (#2218)
Amulyam24 Feb 25, 2025
91d63f4
Bump github.com/IBM/platform-services-go-sdk from 0.76.0 to 0.77.0 (#…
dependabot[bot] Feb 26, 2025
139f08b
Bump honnef.co/go/tools (#2234)
Karthik-K-N Mar 7, 2025
2c73e74
Bump github.com/IBM/platform-services-go-sdk from 0.77.0 to 0.77.1 (#…
dependabot[bot] Mar 7, 2025
53e5da3
Bump github.com/IBM-Cloud/power-go-client from 1.10.0 to 1.11.0 (#2236)
dependabot[bot] Mar 8, 2025
1656309
Infra: Fix Machine GT endpoint management (#2232)
cjschaef Mar 8, 2025
d451e4c
streamline the CCM image build process (#2240)
Prajyot-Parab Mar 13, 2025
e014a8b
fix platform flags (#2245)
Prajyot-Parab Mar 13, 2025
b437169
Update meeting time and zoom link (#2254)
Karthik-K-N Mar 18, 2025
dcd3ce6
Bump github.com/containerd/containerd/v2 in /hack/tools (#2256)
dependabot[bot] Mar 18, 2025
53ccde2
Bump github.com/containerd/containerd in /hack/tools (#2257)
dependabot[bot] Mar 19, 2025
d3cc590
Bump go to v1.23 (#2258)
Prajyot-Parab Mar 19, 2025
fb8827d
Add proposal for assigning additional listener to specific machines (…
Shilpa-Gokul Mar 20, 2025
6463334
Bump gcb-docker-gcloud to v20241229-5dc092c636 (#2262)
Prajyot-Parab Mar 21, 2025
41228bb
Bump github.com/coreos/ignition/v2 from 2.20.0 to 2.21.0 (#2249)
dependabot[bot] Mar 21, 2025
0712918
Bump golang.org/x/net from 0.34.0 to 0.36.0 in /hack/tools (#2255)
dependabot[bot] Mar 21, 2025
62aae45
Bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 in /hack/tools …
dependabot[bot] Mar 25, 2025
3b99462
Bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 in /hack/tools …
dependabot[bot] Mar 25, 2025
7640740
Bump github.com/IBM/networking-go-sdk from 0.51.2 to 0.51.3 (#2273)
dependabot[bot] Mar 27, 2025
c1645bb
add ref links for environment variables (#2172)
arshadd-b Mar 28, 2025
16b72f3
fix GO-2025-3553 Vulnerability (#2282)
Prajyot-Parab Apr 1, 2025
f730dfe
fix release-manifests target (#2290)
Prajyot-Parab Apr 1, 2025
55d0e32
Remove usage of deprecated webhook.Validator and webhook.Defaulter in…
Karthik-K-N Apr 2, 2025
dd77d0a
generate templates pointing to registry.k8s.io (#2292)
Prajyot-Parab Apr 2, 2025
0105d7d
Move away from use controller-runtime scheme (#2287)
Karthik-K-N Apr 2, 2025
059630f
Bump github.com/golangci/golangci-lint from 1.59.1 to 1.64.8 in /hack…
Prajyot-Parab Apr 3, 2025
757bcce
Move wehbooks out of api directory (#2296)
Karthik-K-N Apr 7, 2025
7df8c1b
Fixed bootVolume name bug (#2297)
anshuman-agarwala Apr 7, 2025
20dead9
Bump golang.org/x/net from 0.37.0 to 0.39.0 (#2302)
dependabot[bot] Apr 8, 2025
f792076
Adopt CAPI v2beta2 status changes and respective controller changes f…
Karthik-K-N Apr 8, 2025
e4e7458
Bump go.uber.org/mock from 0.5.0 to 0.5.1 (#2298)
dependabot[bot] Apr 8, 2025
353b235
Bump go.uber.org/mock from 0.4.0 to 0.5.1 in /hack/tools (#2303)
Prajyot-Parab Apr 8, 2025
982d67e
Update cluster-api to v1.10.0-beta.1 (#2295)
Amulyam24 Apr 9, 2025
947170d
Add release-notes generation tooling (#2305)
Prajyot-Parab Apr 10, 2025
d78de2f
Bump github.com/IBM/vpc-go-sdk from 0.65.0 to 0.67.0 (#2306)
dependabot[bot] Apr 11, 2025
8af9f6c
Add the e1050 System Type (#2304)
GunaKKIBM Apr 11, 2025
41331fa
Add kubeconfig and cluster config path while deleting the cluster in …
Amulyam24 Apr 11, 2025
79795d0
Bump github.com/IBM/vpc-go-sdk from 0.67.0 to 0.67.1 (#2309)
dependabot[bot] Apr 15, 2025
8d6066b
Update cloud-proivder-powervs commit to build latest image (#2314)
Karthik-K-N Apr 17, 2025
7c980a6
Initialise IBMPowerVSImage only when ImageRef is set in PowerVS machi…
Amulyam24 Apr 17, 2025
f2d80d9
Bump github.com/go-jose/go-jose/v3 from 3.0.3 to 3.0.4 in /hack/tools…
dependabot[bot] Apr 17, 2025
efec291
Bump golang.org/x/net from 0.37.0 to 0.38.0 in /hack/tools (#2315)
dependabot[bot] Apr 17, 2025
c6f7e5a
Bump helm.sh/helm/v3 from 3.16.3 to 3.17.3 in /hack/tools (#2316)
dependabot[bot] Apr 17, 2025
d956f98
Bump github.com/IBM/go-sdk-core/v5 from 5.19.0 to 5.19.1 (#2317)
dependabot[bot] Apr 21, 2025
1473197
Bump github.com/IBM/networking-go-sdk from 0.51.3 to 0.51.4 (#2318)
dependabot[bot] Apr 21, 2025
8afd485
Bump github.com/IBM/platform-services-go-sdk from 0.79.0 to 0.79.1 (#…
dependabot[bot] Apr 21, 2025
ff2e9fa
Update cloud-controller-manager container image to latest image (#2320)
Karthik-K-N Apr 21, 2025
ae6fd3f
Added support for additionalVolumes in VPCMachines (#2275)
anshuman-agarwala Apr 22, 2025
52bdb84
Bump github.com/go-jose/go-jose/v4 from 4.0.4 to 4.0.5 in /hack/tools…
dependabot[bot] Apr 22, 2025
90cd173
Change the number of ginkgo nodes to 1 to run the e2e tests serially …
Amulyam24 Apr 23, 2025
d4ca9c3
Update cluster-api to v1.10.0 (#2325)
Prajyot-Parab Apr 25, 2025
38fffdc
Fix trviy scan flow (#2310)
Prajyot-Parab Apr 25, 2025
af5ef66
Adopt CAPI v2beta2 status changes and respective controller changes f…
Karthik-K-N Apr 28, 2025
95465a2
Fixed additionalvolume fields in e2e template (#2329)
anshuman-agarwala Apr 28, 2025
0657a0e
Bump github.com/IBM/platform-services-go-sdk from 0.79.1 to 0.80.0 (#…
dependabot[bot] Apr 29, 2025
17bb21e
Bump go.uber.org/mock from 0.5.1 to 0.5.2 in /hack/tools (#2330)
dependabot[bot] Apr 29, 2025
73e31c6
Bump go.uber.org/mock from 0.5.1 to 0.5.2 (#2331)
dependabot[bot] Apr 29, 2025
126acb0
Bump github.com/IBM/vpc-go-sdk from 0.67.1 to 0.68.0 (#2333)
dependabot[bot] Apr 29, 2025
f2dea68
Update cluster-api to v1.10.1 (#2334)
Amulyam24 Apr 30, 2025
fcaaad0
Added flag to disable http/2 (#2149)
anshuman-agarwala Apr 30, 2025
680b5d8
Update cloud-proivder-powervs commit (#2335)
Prajyot-Parab Apr 30, 2025
9414bc3
Fix priority between network and DHCP server (#2269)
dharaneeshvrd May 1, 2025
cbdb255
Update cloud-controller-manager container image to latest image (#2336)
Prajyot-Parab May 1, 2025
f10c50b
drop older k8s images (#2338)
Prajyot-Parab May 5, 2025
bcaa88e
Update release.md (#2340)
kishen-v May 5, 2025
233ecec
revert additionalVolumes from templates (#2342)
Prajyot-Parab May 5, 2025
ffe8b8b
Bump golang.org/x/net from 0.39.0 to 0.40.0 (#2343)
dependabot[bot] May 6, 2025
1f9046f
Enhance UT for ReconcileCOSInstance method (#2339)
Karthik-K-N May 6, 2025
ebba609
Update troubleshooting guide to include steps to debug CCM (#2347)
Karthik-K-N May 7, 2025
bd1cb3f
Bump github.com/IBM/platform-services-go-sdk from 0.80.0 to 0.81.0 (#…
dependabot[bot] May 8, 2025
4f7eb65
Revert "Added support for additionalVolumes in VPCMachines (#2275)" (…
Prajyot-Parab May 12, 2025
9369909
Bump gotest.tools/gotestsum from 1.12.1 to 1.12.2 in /hack/tools (#2353)
dependabot[bot] May 13, 2025
4603187
update k8s machine images (#2351)
Prajyot-Parab May 13, 2025
f2980da
Bump github.com/IBM/networking-go-sdk from 0.51.4 to 0.51.5 (#2354)
dependabot[bot] May 14, 2025
40cb107
Post v0.11.0 release housekeeping (#2357)
Prajyot-Parab May 14, 2025
b46adbe
Update .golangci.yml (#2359)
kishen-v May 14, 2025
5c30689
Add release-0-11 book link (#2361)
Prajyot-Parab May 15, 2025
5cb5298
Bump github.com/IBM/platform-services-go-sdk from 0.81.0 to 0.81.1 (#…
dependabot[bot] May 16, 2025
dc0496c
Bump github.com/IBM/platform-services-go-sdk from 0.81.1 to 0.82.0 (#…
dependabot[bot] May 21, 2025
fbc58de
Minor documentation refactoring (#2365)
kishen-v May 21, 2025
a27efe3
Update the release process documentation (#2223)
kishen-v May 22, 2025
467b4a0
Bump github.com/joelanford/go-apidiff from 0.8.2 to 0.8.3 in /hack/to…
dependabot[bot] May 27, 2025
03bfc5c
Update cluster-api to v1.10.2 (#2369)
Amulyam24 May 28, 2025
51dd7d5
Update golang to v1.23.9 (#2370)
Amulyam24 May 28, 2025
162b627
Bump PowerVS CI image to v 1.32.3 (#2372)
Amulyam24 May 28, 2025
74233d2
Add listener based on the machine label and listener label (#2155)
Shilpa-Gokul May 28, 2025
067f7f7
Bump github.com/IBM/platform-services-go-sdk from 0.82.0 to 0.83.0 (#…
dependabot[bot] May 29, 2025
ec3a9ec
Bump github.com/IBM/platform-services-go-sdk from 0.83.0 to 0.83.1 (#…
dependabot[bot] May 31, 2025
81b2151
Bump golang.org/x/text from 0.25.0 to 0.26.0 (#2382)
dependabot[bot] Jun 6, 2025
e6f34de
Bump github.com/IBM/networking-go-sdk from 0.51.5 to 0.51.6 (#2380)
dependabot[bot] Jun 6, 2025
69c7a7c
add tier0 storage type support (#2384)
Prajyot-Parab Jun 11, 2025
357fdf9
Bump github.com/IBM/platform-services-go-sdk from 0.83.1 to 0.83.2 (#…
dependabot[bot] Jun 12, 2025
b616beb
Bump VPC CI machine image to k8s v1.32.3 (#2388)
Amulyam24 Jun 12, 2025
7fa9420
:warning: Adopt CAPI v1beta2 api's (#2383)
Karthik-K-N Jun 16, 2025
c070673
Update cluster-api version to v1.11.0-alpha.0 in e2e test files (#2390)
Amulyam24 Jun 16, 2025
a679a0c
Bump github.com/IBM/networking-go-sdk from 0.51.6 to 0.51.7 (#2391)
dependabot[bot] Jun 18, 2025
51c5358
test
carmal891 Jun 18, 2025
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
29 changes: 22 additions & 7 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,30 @@
---
name: Feature enhancement request
about: Suggest an idea for this project

about: Propose a new feature or suggest improvements to an existing one.
---

/kind feature
/area provider/ibmcloud

**Describe the solution you'd like**
[A clear and concise description of what you want to happen.]
## User Story
**What would you like to be added?**

> Example: "As a [developer/user/operator], I would like to [high-level description] for [reasons]."

## Detailed Feature Description
Provide a clear and concise description of the new feature or the improvement to an existing feature.

## Context & Motivation
**What problem does this solve, and why is it important?**
Explain the motivation behind this request. How does this feature improve the project? What specific use cases does it address?

## Proposed Solution
**How should this be implemented?**
Describe potential approaches for implementing this feature. If possible, provide links to related documentation or prior discussions.

## Alternatives Considered
**Have you considered any alternatives?**
List any alternative solutions or workarounds you've considered and explain why they may or may not be suitable.

**Anything else you would like to add:**
[Miscellaneous information that will assist in solving the issue.]
## Additional Information
**Anything else you would like to add?**
Include screenshots, references, or additional context that can assist in understanding and implementing the request.
14 changes: 11 additions & 3 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Release tracker
about: Create an issue to track tasks for a Cluster API version update
about: Create an issue to track tasks to be done after CAPIBM major version release
title: Release tracker for v<>

---
Expand All @@ -15,5 +15,13 @@ After every CAPIBM major version release:
- [ ] [Update release support data in docs](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/docs/book/src/developer/release-support-guidelines.md)
- [ ] [Update docs with reference to latest release](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/blob/main/README.md#compatibility-with-cluster-api-and-kubernetes-versions)
- [ ] Update and add documentation link for new release branch in Netlify
- [ ] Add new presubmit job for latest release kubernetes/test-infra for CAPIBM jobs
- [ ] Bump machine images in CI to use relevent Kubernetes version
- [ ] Add new presubmit job for latest release branch in [kubernetes/test-infra](https://github.com/kubernetes/test-infra/tree/master/config/jobs/kubernetes-sigs/cluster-api-provider-ibmcloud)
- [ ] Update kubekins-e2e image to relevent Kubernetes version
- [ ] Add E2E CI jobs for latest release branch in [ppc64le-cloud/test-infra](https://github.com/ppc64le-cloud/test-infra/blob/master/config/jobs/periodic/cluster-api-provider-ibmcloud/test-e2e-capi-ibmcloud-periodics.yaml)
- [ ] Bump machine images in CI to relevent Kubernetes version
- [ ] Update kubekins-e2e image to relevent Kubernetes version

> Note:
> 1. An example for infrastructure provider version upgrade, if we cut a release for version
> 0.9.0, update the infratructure provider version to 0.10.0 on the main branch.
> 2. Keep the version upgrades in check for the main branch and the two latest releases.
6 changes: 3 additions & 3 deletions .github/workflows/weekly-security-scan.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,19 @@ jobs:
strategy:
fail-fast: false
matrix:
branch: [ main, release-0.9, release-0.8 ]
branch: [ main, release-0.11, release-0.10 ]
name: Trivy
runs-on: ubuntu-24.04
steps:
- name: Check out code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # tag=v4.2.2
with:
ref: ${{ matrix.branch }}
- name: Calculate go version
id: vars
run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT
- name: Set up Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # tag=v5.5.0
with:
go-version: ${{ steps.vars.outputs.go_version }}
- name: Run verify security target
Expand Down
20 changes: 9 additions & 11 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ linters:
- dogsled
- errcheck
- errchkjson
- execinquery
- exportloopref
- copyloopvar
- gci
- goconst
- gocritic
Expand Down Expand Up @@ -89,8 +88,10 @@ linters-settings:
alias: capiv1alpha3
- pkg: sigs.k8s.io/cluster-api/api/v1alpha4
alias: capiv1alpha4
- pkg: sigs.k8s.io/cluster-api/api/v1beta1
- pkg: sigs.k8s.io/cluster-api/api/core/v1beta1
alias: capiv1beta1
- pkg: sigs.k8s.io/cluster-api/api/core/v1beta2
alias: clusterv1
# CAPI-IBMCLOUD
- pkg: sigs.k8s.io/cluster-api-provider-ibmcloud/api/v1beta1
alias: infrav1beta1
Expand All @@ -100,10 +101,6 @@ linters-settings:
allow-unused: false
allow-leading-space: false
require-specific: true
staticcheck:
go: "1.22"
stylecheck:
go: "1.22"
gosec:
excludes:
- G307 # Deferring unsafe method "Close" on type "\*os.File"
Expand All @@ -126,7 +123,7 @@ linters-settings:
- whyNoLint
- wrapperFunc
unused:
go: "1.22"
go: "1.24"
issues:
max-same-issues: 0
max-issues-per-linter: 0
Expand Down Expand Up @@ -208,12 +205,13 @@ issues:
- gocritic
text: "deferInLoop: Possible resource leak, 'defer' is called in the 'for' loop"
path: _test\.go
exclude-files:
- "zz_generated.*\\.go$"

run:
timeout: 10m
go: "1.24"
timeout: 20m
build-tags:
- tools
- e2e
skip-files:
- "zz_generated.*\\.go$"
allow-parallel-runners: true
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ COPY controllers/ controllers/
COPY cloud/ cloud/
COPY pkg/ pkg/
COPY util/ util/
COPY internal/ internal/

# Build
ARG TARGETOS
Expand Down
60 changes: 50 additions & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,47 @@ CONTROLLER_GEN := $(TOOLS_BIN_DIR)/controller-gen
CONVERSION_VERIFIER := $(TOOLS_BIN_DIR)/conversion-verifier
SETUP_ENVTEST := $(TOOLS_BIN_DIR)/setup-envtest
GOVULNCHECK := $(TOOLS_BIN_DIR)/govulncheck
TRIVY := $(TOOLS_BIN_DIR)/trivy
RELEASE_NOTES := $(TOOLS_BIN_DIR)/release-notes

STAGING_REGISTRY ?= gcr.io/k8s-staging-capi-ibmcloud
STAGING_BUCKET ?= artifacts.k8s-staging-capi-ibmcloud.appspot.com
BUCKET ?= $(STAGING_BUCKET)
PROD_REGISTRY := registry.k8s.io/capi-ibmcloud
REGISTRY ?= $(STAGING_REGISTRY)
RELEASE_TAG ?= $(shell git describe --abbrev=0 2>/dev/null)
ifneq (,$(findstring -,$(RELEASE_TAG)))
PRE_RELEASE=true
endif
FULL_VERSION := $(RELEASE_TAG:v%=%)
MAJOR_VERSION := $(shell echo $(FULL_VERSION) | sed -E 's/^([0-9]+)\.([0-9]+)\.([0-9]+).*/\1/')
MINOR_VERSION := $(shell echo $(FULL_VERSION) | sed -E 's/^([0-9]+)\.([0-9]+)\.([0-9]+).*/\2/')
PATCH_VERSION := $(shell echo $(FULL_VERSION) | sed -E 's/^([0-9]+)\.([0-9]+)\.([0-9]+).*/\3/')
# if the release tag is a .0 version, use the main branch
ifeq ($(PATCH_VERSION),0)
RELEASE_BRANCH ?= main
else
RELEASE_BRANCH ?= release-$(MAJOR_VERSION).$(MINOR_VERSION)
endif
PREVIOUS_TAG ?= $(shell git tag --merged $(GIT_REMOTE_NAME)/$(RELEASE_BRANCH) -l | grep -E "^v[0-9]+\.[0-9]+\.[0-9]+$$" | sort -V | tail -n 1 2>/dev/null)
START_SHA ?= $(shell git rev-list -n 1 $(PREVIOUS_TAG) 2>/dev/null)
END_SHA ?= $(shell git rev-parse $(GIT_REMOTE_NAME)/$(RELEASE_BRANCH) 2>/dev/null)
GIT_REPO_NAME ?= cluster-api-provider-ibmcloud
GIT_ORG_NAME ?= kubernetes-sigs
GIT_REMOTE_NAME ?= upstream

PULL_BASE_REF ?= $(RELEASE_TAG) # PULL_BASE_REF will be provided by Prow
RELEASE_ALIAS_TAG ?= $(PULL_BASE_REF)
RELEASE_DIR := out
RELEASE_NOTES_DIR := CHANGELOG
OUTPUT_TYPE ?= type=registry

# Go
GO_VERSION ?=1.22.10
GO_VERSION ?=1.24.3
GO_CONTAINER_IMAGE ?= golang:$(GO_VERSION)

# Trivy
TRIVY_VER := 0.61.1

# kind
CAPI_KIND_CLUSTER_NAME ?= capi-test

Expand All @@ -81,7 +105,7 @@ PULL_POLICY ?= Always
# Set build time variables including version details
LDFLAGS := $(shell ./hack/version.sh)

KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.30.0
KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.33.0

# main controller
CORE_IMAGE_NAME ?= cluster-api-ibmcloud-controller
Expand Down Expand Up @@ -181,7 +205,7 @@ generate-go-conversions: $(CONVERSION_GEN) ## Generate conversions go code
.PHONY: generate-templates
generate-templates: $(KUSTOMIZE) ## Generate cluster templates
$(KUSTOMIZE) build $(TEMPLATES_DIR)/cluster-template --load-restrictor LoadRestrictionsNone > $(TEMPLATES_DIR)/cluster-template.yaml
$(KUSTOMIZE) build $(TEMPLATES_DIR)/cluster-template-powervs-cloud-provider --load-restrictor LoadRestrictionsNone > $(TEMPLATES_DIR)/cluster-template-powervs-cloud-provider.yaml
$(KUSTOMIZE) build $(TEMPLATES_DIR)/cluster-template-powervs --load-restrictor LoadRestrictionsNone > $(TEMPLATES_DIR)/cluster-template-powervs.yaml
$(KUSTOMIZE) build $(TEMPLATES_DIR)/cluster-template-powervs-clusterclass --load-restrictor LoadRestrictionsNone > $(TEMPLATES_DIR)/cluster-template-powervs-clusterclass.yaml
$(KUSTOMIZE) build $(TEMPLATES_DIR)/cluster-template-vpc-clusterclass --load-restrictor LoadRestrictionsNone > $(TEMPLATES_DIR)/cluster-template-vpc-clusterclass.yaml

Expand Down Expand Up @@ -230,12 +254,12 @@ test: generate fmt vet setup-envtest $(GOTESTSUM) ## Run tests

# Allow overriding the e2e configurations
GINKGO_FOCUS ?= Workload cluster creation
GINKGO_NODES ?= 3
GINKGO_NODES ?= 1
GINKGO_NOCOLOR ?= false
GINKGO_TIMEOUT ?= 2h
E2E_FLAVOR ?= powervs-md-remediation
JUNIT_FILE ?= junit.e2e_suite.1.xml
GINKGO_ARGS ?= -v --trace --tags=e2e --timeout=$(GINKGO_TIMEOUT) --focus=$(GINKGO_FOCUS) --nodes=$(GINKGO_NODES) --no-color=$(GINKGO_NOCOLOR) --output-dir="$(ARTIFACTS)" --junit-report="$(JUNIT_FILE)"
GINKGO_ARGS ?= -v --trace --tags=e2e --timeout=$(GINKGO_TIMEOUT) --focus="$(GINKGO_FOCUS)" --nodes=$(GINKGO_NODES) --no-color=$(GINKGO_NOCOLOR) --output-dir="$(ARTIFACTS)" --junit-report="$(JUNIT_FILE)"
ARTIFACTS ?= $(REPO_ROOT)/_artifacts
SKIP_CLEANUP ?= false
SKIP_CREATE_MGMT_CLUSTER ?= false
Expand Down Expand Up @@ -271,6 +295,9 @@ test-cover: setup-envtest## Run tests with code coverage and code generate repor
$(RELEASE_DIR):
mkdir -p $@

$(RELEASE_NOTES_DIR):
mkdir -p $@

$(ARTIFACTS):
mkdir -p $@

Expand Down Expand Up @@ -302,13 +329,13 @@ check-github-token:
.PHONY: release
release: clean-release check-release-tag $(RELEASE_DIR) ## Build and push container images using the latest git tag for the commit
git checkout "${RELEASE_TAG}"
CORE_CONTROLLER_IMG=$(PROD_REGISTRY)/$(CORE_IMAGE_NAME) $(MAKE) release-manifests
$(MAKE) release-manifests
$(MAKE) release-templates
$(MAKE) release-binaries

.PHONY: release-manifests
release-manifests: ## Build the manifests to publish with a release
$(MAKE) $(RELEASE_DIR)/$(CORE_MANIFEST_FILE).yaml TAG=$(RELEASE_TAG)
$(MAKE) $(RELEASE_DIR)/$(CORE_MANIFEST_FILE).yaml TAG=$(RELEASE_TAG) CORE_CONTROLLER_IMG=$(PROD_REGISTRY)/$(CORE_IMAGE_NAME)
# Add metadata to the release artifacts
cp metadata.yaml $(RELEASE_DIR)/metadata.yaml

Expand All @@ -322,6 +349,19 @@ release-staging: ## Build and push container images to the staging bucket
$(MAKE) release-binaries
$(MAKE) upload-staging-artifacts

.PHONY: release-notes
release-notes: $(RELEASE_NOTES) $(RELEASE_NOTES_DIR) ## Generate/update release notes.
@echo "generating release notes from $(PREVIOUS_TAG) to $(RELEASE_TAG) with start sha $(START_SHA) and end sha $(END_SHA)"
@if [ -n "${PRE_RELEASE}" ]; then \
echo ":rotating_light: This is a RELEASE CANDIDATE. Use it only for testing purposes. If you find any bugs, file an [issue](https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud/issues/new)." > $(RELEASE_NOTES_DIR)/release-notes-$(RELEASE_TAG).md; \
$(RELEASE_NOTES) --org $(GIT_ORG_NAME) --repo $(GIT_REPO_NAME) --branch $(RELEASE_BRANCH) --required-author "" --start-sha $(START_SHA) --end-sha $(END_SHA) --markdown-links true --dependencies false --output $(RELEASE_NOTES_DIR)/$(RELEASE_TAG).md; \
(cat $(RELEASE_NOTES_DIR)/release-notes-$(RELEASE_TAG).md; echo ""; cat $(RELEASE_NOTES_DIR)/$(RELEASE_TAG).md) > $(RELEASE_NOTES_DIR)/tmp-release-notes.md; \
mv $(RELEASE_NOTES_DIR)/tmp-release-notes.md $(RELEASE_NOTES_DIR)/$(RELEASE_TAG).md; \
rm -f $(RELEASE_NOTES_DIR)/release-notes-$(RELEASE_TAG).md; \
else \
$(RELEASE_NOTES) --org $(GIT_ORG_NAME) --repo $(GIT_REPO_NAME) --branch $(RELEASE_BRANCH) --required-author "" --start-sha $(START_SHA) --end-sha $(END_SHA) --markdown-links true --output $(RELEASE_NOTES_DIR)/$(RELEASE_TAG).md; \
fi

.PHONY: staging-manifests
staging-manifests:
$(MAKE) $(RELEASE_DIR)/$(CORE_MANIFEST_FILE).yaml TAG=$(RELEASE_ALIAS_TAG)
Expand Down Expand Up @@ -514,8 +554,8 @@ verify-conversions: $(CONVERSION_VERIFIER) ## Verifies expected API conversion a
$(CONVERSION_VERIFIER)

.PHONY: verify-container-images
verify-container-images: $(TRIVY) ## Verify container images
TRACE=$(TRACE) ./hack/verify-container-images.sh
verify-container-images: ## Verify container images
TRACE=$(TRACE) ./hack/verify-container-images.sh $(TRIVY_VER)

.PHONY: verify-govulncheck
verify-govulncheck: $(GOVULNCHECK) ## Verify code for vulnerabilities
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ This provider's versions are compatible with the following versions of Cluster A

| |Cluster API v1alpha4 (v0.4) |Cluster API v1beta1 (v1.x) |
|:----------------------------------------|:---------------:|:--------------:|
| CAPIBM v1alpha4 (v0.1.x) | ✓ | |
| CAPIBM v1beta1 (v0.2.x, v0.3.x) | | ✓ |
| CAPIBM v1beta2 (v0.[4-9].x, main) | | ✓ |
| CAPIBM v1alpha4 (v0.1.x) | ✓ | |
| CAPIBM v1beta1 (v0.2.x, v0.3.x) | | ✓ |
| CAPIBM v1beta2 (v0.[4-11].x, main) | | ✓ |


(See [Kubernetes support matrix][cluster-api-supported-v] of Cluster API versions).
Expand Down Expand Up @@ -87,3 +87,5 @@ See also our [contributor guide](CONTRIBUTING.md) and the Kubernetes [community
Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).

<!-- ANCHOR_END: Community -->
test
test
8 changes: 4 additions & 4 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
The Kubernetes cluster-api-provider-ibmcloud is released on an as-needed basis. The process is as follows:

1. An issue is proposing a new release with a changelog since the last release
1. All [OWNERS](OWNERS) must LGTM this release
1. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION`
1. The release issue is closed
1. An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] cluster-api-provider-ibmcloud $VERSION is released`
2. All [OWNERS](OWNERS) must LGTM this release
3. An OWNER runs `git tag -s $VERSION` and inserts the changelog and pushes the tag with `git push $VERSION`
4. The release issue is closed
5. An announcement email is sent to `kubernetes-dev@googlegroups.com` with the subject `[ANNOUNCE] cluster-api-provider-ibmcloud $VERSION is released`
10 changes: 5 additions & 5 deletions api/v1beta1/conditions_consts.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.
package v1beta1

import (
capiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

const (
Expand All @@ -42,7 +42,7 @@ const (

const (
// InstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state.
InstanceReadyCondition capiv1beta1.ConditionType = "InstanceReady"
InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"
)

const (
Expand All @@ -60,10 +60,10 @@ const (

const (
// ImageReadyCondition reports on current status of the image. Ready indicates the image is in a active state.
ImageReadyCondition capiv1beta1.ConditionType = "ImageReady"
ImageReadyCondition clusterv1.ConditionType = "ImageReady"

// ImageImportedCondition reports on current status of the image import job. Ready indicates the import job is finished.
ImageImportedCondition capiv1beta1.ConditionType = "ImageImported"
ImageImportedCondition clusterv1.ConditionType = "ImageImported"
)

const (
Expand All @@ -73,5 +73,5 @@ const (

const (
// LoadBalancerReadyCondition reports on current status of the load balancer. Ready indicates the load balancer is in a active state.
LoadBalancerReadyCondition capiv1beta1.ConditionType = "LoadBalancerReady"
LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady"
)
5 changes: 5 additions & 0 deletions api/v1beta1/ibmpowervs_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,3 +208,8 @@ func Convert_v1beta2_IBMPowerVSClusterStatus_To_v1beta1_IBMPowerVSClusterStatus(
func Convert_v1beta2_IBMPowerVSImageSpec_To_v1beta1_IBMPowerVSImageSpec(in *infrav1beta2.IBMPowerVSImageSpec, out *IBMPowerVSImageSpec, s apiconversion.Scope) error {
return autoConvert_v1beta2_IBMPowerVSImageSpec_To_v1beta1_IBMPowerVSImageSpec(in, out, s)
}

func Convert_v1beta2_IBMPowerVSMachineStatus_To_v1beta1_IBMPowerVSMachineStatus(in *infrav1beta2.IBMPowerVSMachineStatus, out *IBMPowerVSMachineStatus, s apiconversion.Scope) error {
// CAPI V1Beta2 was added in CAPIBM v1beta2
return autoConvert_v1beta2_IBMPowerVSMachineStatus_To_v1beta1_IBMPowerVSMachineStatus(in, out, s)
}
4 changes: 2 additions & 2 deletions api/v1beta1/ibmpowervscluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

capiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
)

// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
Expand All @@ -44,7 +44,7 @@ type IBMPowerVSClusterSpec struct {

// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
// +optional
ControlPlaneEndpoint capiv1beta1.APIEndpoint `json:"controlPlaneEndpoint"`
ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

// IBMPowerVSClusterStatus defines the observed state of IBMPowerVSCluster.
Expand Down
Loading