Merge https://github.com/kubernetes-sigs/cluster-api-provider-ibmcloud:v0.14.0 (5d081d1) into main#161
Conversation
Signed-off-by: Prajyot-Parab <prajyot.parab2@ibm.com>
Bumps [github.com/coreos/ignition/v2](https://github.com/coreos/ignition) from 2.25.0 to 2.25.1. - [Release notes](https://github.com/coreos/ignition/releases) - [Changelog](https://github.com/coreos/ignition/blob/main/docs/release-notes.md) - [Commits](coreos/ignition@v2.25.0...v2.25.1) --- updated-dependencies: - dependency-name: github.com/coreos/ignition/v2 dependency-version: 2.25.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Prajyot-Parab <prajyot.parab2@ibm.com>
Add release-0-13 book link
Bumps [github.com/IBM/ibm-cos-sdk-go](https://github.com/IBM/ibm-cos-sdk-go) from 1.12.4 to 1.13.0. - [Release notes](https://github.com/IBM/ibm-cos-sdk-go/releases) - [Changelog](https://github.com/IBM/ibm-cos-sdk-go/blob/master/CHANGELOG.md) - [Commits](IBM/ibm-cos-sdk-go@v1.12.4...v1.13.0) --- updated-dependencies: - dependency-name: github.com/IBM/ibm-cos-sdk-go dependency-version: 1.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2586) Bumps [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk) from 0.91.0 to 0.92.0. - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.91.0...v0.92.0) --- updated-dependencies: - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.92.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Prajyot-Parab <prajyot.parab2@ibm.com>
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.32.0 to 0.33.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.48.0 to 0.49.0. - [Commits](golang/net@v0.48.0...v0.49.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.49.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2594) Bumps [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk) from 0.92.0 to 0.93.0. - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.92.0...v0.93.0) --- updated-dependencies: - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.93.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2599) Bumps [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk) from 0.93.0 to 0.93.1. - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.93.0...v0.93.1) --- updated-dependencies: - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.93.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
the webhook server should use the tlsconfig specified in the manager options, so users setting tls fields in the manager see their preference honoured not only for the metrics server but also for the webhook server. Core CAPI does this already, here: https://github.com/kubernetes-sigs/cluster-api/blob/55e16f424c0ed8d3739070125d4c32a036997465/main.go#L406
…2612) Bumps [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk) from 0.93.1 to 0.94.0. - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.93.1...v0.94.0) --- updated-dependencies: - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.94.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…2616) Bumps [github.com/IBM/platform-services-go-sdk](https://github.com/IBM/platform-services-go-sdk) from 0.94.0 to 0.94.2. - [Release notes](https://github.com/IBM/platform-services-go-sdk/releases) - [Changelog](https://github.com/IBM/platform-services-go-sdk/blob/main/CHANGELOG.md) - [Commits](IBM/platform-services-go-sdk@v0.94.0...v0.94.2) --- updated-dependencies: - dependency-name: github.com/IBM/platform-services-go-sdk dependency-version: 0.94.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.33.0 to 0.34.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.33.0...v0.34.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.34.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [sigs.k8s.io/kustomize/kustomize/v5](https://github.com/kubernetes-sigs/kustomize) from 5.8.0 to 5.8.1. - [Release notes](https://github.com/kubernetes-sigs/kustomize/releases) - [Commits](kubernetes-sigs/kustomize@kustomize/v5.8.0...kustomize/v5.8.1) --- updated-dependencies: - dependency-name: sigs.k8s.io/kustomize/kustomize/v5 dependency-version: 5.8.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.49.0 to 0.50.0. - [Commits](golang/net@v0.49.0...v0.50.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-version: 0.50.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…changes Combine GetServiceInstance and GetInstanceByName methods
Bumps [github.com/IBM/networking-go-sdk](https://github.com/IBM/networking-go-sdk) from 0.51.15 to 0.51.16. - [Release notes](https://github.com/IBM/networking-go-sdk/releases) - [Changelog](https://github.com/IBM/networking-go-sdk/blob/master/CHANGELOG.md) - [Commits](IBM/networking-go-sdk@v0.51.15...v0.51.16) --- updated-dependencies: - dependency-name: github.com/IBM/networking-go-sdk dependency-version: 0.51.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Prajyot-Parab <prajyot.parab2@ibm.com>
# Conflicts: # .github/dependabot.yml # Conflicts: # .github/ISSUE_TEMPLATE/feature_request.md
…ainer image to be consistent with ART for 4.18 Reconciling with https://github.com/openshift/ocp-build-data/tree/827ab4ccce9cbbcf82c9dbaf6398b61d6cff8d7a/images/ose-ibmcloud-cluster-api-controllers.yml
…ainer image to be consistent with ART for 4.19 Reconciling with https://github.com/openshift/ocp-build-data/tree/a39508c86497b4e5e463d7b2c78e51e577be9e7d/images/ose-ibmcloud-cluster-api-controllers.yml
# Conflicts: # vendor/golang.org/x/crypto/ssh/server.go
# Conflicts: # openshift/infrastructure-components.yaml
…ainer image to be consistent with ART for 4.21 Reconciling with https://github.com/openshift/ocp-build-data/tree/4fbe3fab45239dc4be6f5d9d98a0bf36e0274ec9/images/ose-ibmcloud-cluster-api-controllers.yml
…ainer image to be consistent with ART for 4.20 Reconciling with https://github.com/openshift/ocp-build-data/tree/8f77fc475c95f9d98c348deb2feb88f5952d7357/images/ose-ibmcloud-cluster-api-controllers.yml
…ainer image to be consistent with ART for 4.22 Reconciling with https://github.com/openshift/ocp-build-data/tree/087d1930e36b609f77d73bd8a313d85c940cff4d/images/ose-ibmcloud-cluster-api-controllers.yml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> # Conflicts: # hack/tools/vendor/github.com/fsnotify/fsnotify/.editorconfig # hack/tools/vendor/github.com/golangci/lint-1/LICENSE # hack/tools/vendor/github.com/pelletier/go-toml/LICENSE # hack/tools/vendor/sigs.k8s.io/kustomize/api/resmap/transcoding.go # openshift/tools/vendor/github.com/adrg/xdg/README.md # openshift/tools/vendor/github.com/adrg/xdg/base_dirs.go # openshift/tools/vendor/github.com/adrg/xdg/doc.go # openshift/tools/vendor/github.com/adrg/xdg/internal/pathutil/pathutil.go # openshift/tools/vendor/github.com/adrg/xdg/internal/pathutil/pathutil_plan9.go # openshift/tools/vendor/github.com/adrg/xdg/internal/pathutil/pathutil_unix.go # openshift/tools/vendor/github.com/adrg/xdg/internal/pathutil/pathutil_windows.go # openshift/tools/vendor/github.com/adrg/xdg/paths_darwin.go # openshift/tools/vendor/github.com/adrg/xdg/paths_plan9.go # openshift/tools/vendor/github.com/adrg/xdg/paths_unix.go # openshift/tools/vendor/github.com/adrg/xdg/paths_windows.go # openshift/tools/vendor/github.com/adrg/xdg/xdg.go # openshift/tools/vendor/github.com/cespare/xxhash/v2/README.md # openshift/tools/vendor/github.com/cespare/xxhash/v2/xxhash.go # openshift/tools/vendor/github.com/cespare/xxhash/v2/xxhash_asm.go # openshift/tools/vendor/github.com/cespare/xxhash/v2/xxhash_other.go # openshift/tools/vendor/github.com/cespare/xxhash/v2/xxhash_safe.go # openshift/tools/vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go # openshift/tools/vendor/github.com/cloudflare/circl/dh/x25519/curve_amd64.s # openshift/tools/vendor/github.com/cloudflare/circl/dh/x448/curve_amd64.s # openshift/tools/vendor/github.com/cloudflare/circl/ecc/goldilocks/curve.go # openshift/tools/vendor/github.com/cloudflare/circl/internal/conv/conv.go # openshift/tools/vendor/github.com/cloudflare/circl/math/fp25519/fp_amd64.s # openshift/tools/vendor/github.com/cloudflare/circl/math/fp448/fp_amd64.s # openshift/tools/vendor/github.com/cloudflare/circl/sign/ed25519/point.go # openshift/tools/vendor/github.com/cloudflare/circl/sign/ed448/ed448.go # openshift/tools/vendor/github.com/cloudflare/circl/sign/sign.go # openshift/tools/vendor/github.com/containerd/stargz-snapshotter/estargz/LICENSE # openshift/tools/vendor/github.com/distribution/reference/README.md # openshift/tools/vendor/github.com/distribution/reference/normalize.go # openshift/tools/vendor/github.com/distribution/reference/reference.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/.editorconfig # openshift/tools/vendor/github.com/fsnotify/fsnotify/.gitignore # openshift/tools/vendor/github.com/fsnotify/fsnotify/CHANGELOG.md # openshift/tools/vendor/github.com/fsnotify/fsnotify/CONTRIBUTING.md # openshift/tools/vendor/github.com/fsnotify/fsnotify/README.md # openshift/tools/vendor/github.com/fsnotify/fsnotify/backend_fen.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/backend_inotify.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/backend_kqueue.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/backend_other.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/backend_windows.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/fsnotify.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/system_bsd.go # openshift/tools/vendor/github.com/fsnotify/fsnotify/system_darwin.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/README.md # openshift/tools/vendor/github.com/fxamacker/cbor/v2/bytestring.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/cache.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/common.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/decode.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/doc.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/encode.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/encode_map.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/simplevalue.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/stream.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/structfields.go # openshift/tools/vendor/github.com/fxamacker/cbor/v2/tag.go # openshift/tools/vendor/github.com/go-viper/mapstructure/v2/LICENSE # openshift/tools/vendor/github.com/gobuffalo/flect/humanize.go # openshift/tools/vendor/github.com/google/btree/LICENSE # openshift/tools/vendor/github.com/google/go-cmp/cmp/internal/function/func.go # openshift/tools/vendor/github.com/google/go-cmp/cmp/options.go # openshift/tools/vendor/github.com/google/go-containerregistry/LICENSE # openshift/tools/vendor/github.com/google/go-containerregistry/pkg/authn/process_collector_js.go # openshift/tools/vendor/github.com/google/go-containerregistry/pkg/authn/process_collector_other.go # openshift/tools/vendor/github.com/google/go-containerregistry/pkg/v1/doc.go # openshift/tools/vendor/github.com/jetstack/cert-manager/LICENSE # openshift/tools/vendor/github.com/jetstack/cert-manager/pkg/apis/acme/v1/doc.go # openshift/tools/vendor/github.com/jetstack/cert-manager/pkg/apis/meta/v1/doc.go # openshift/tools/vendor/github.com/klauspost/compress/fse/bitwriter.go # openshift/tools/vendor/github.com/klauspost/compress/fse/compress.go # openshift/tools/vendor/github.com/klauspost/compress/huff0/bitwriter.go # openshift/tools/vendor/github.com/klauspost/compress/huff0/compress.go # openshift/tools/vendor/github.com/klauspost/compress/huff0/decompress.go # openshift/tools/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go # openshift/tools/vendor/github.com/klauspost/compress/huff0/huff0.go # openshift/tools/vendor/github.com/klauspost/compress/internal/le/unsafe_disabled.go # openshift/tools/vendor/github.com/klauspost/compress/internal/le/unsafe_enabled.go # openshift/tools/vendor/github.com/klauspost/compress/internal/snapref/decode.go # openshift/tools/vendor/github.com/klauspost/compress/internal/snapref/encode.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/bitwriter.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/blockdec.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/decoder.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/dict.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/enc_base.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/enc_best.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/enc_better.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/enc_dfast.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/enc_fast.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/framedec.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/fse_encoder.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/seqdec.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/snappy.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/zip.go # openshift/tools/vendor/github.com/klauspost/compress/zstd/zstd.go # openshift/tools/vendor/github.com/mitchellh/go-homedir/LICENSE # openshift/tools/vendor/github.com/mitchellh/mapstructure/CHANGELOG.md # openshift/tools/vendor/github.com/mitchellh/mapstructure/LICENSE # openshift/tools/vendor/github.com/mitchellh/mapstructure/mapstructure.go # openshift/tools/vendor/github.com/openshift/api/LICENSE # openshift/tools/vendor/github.com/openshift/cluster-capi-operator/manifests-gen/providercustomizations.go # openshift/tools/vendor/github.com/openshift/cluster-capi-operator/manifests-gen/providers.go # openshift/tools/vendor/github.com/pelletier/go-toml/v2/.gitignore # openshift/tools/vendor/github.com/pelletier/go-toml/v2/.goreleaser.yaml # openshift/tools/vendor/github.com/pelletier/go-toml/v2/CONTRIBUTING.md # openshift/tools/vendor/github.com/pelletier/go-toml/v2/README.md # openshift/tools/vendor/github.com/pelletier/go-toml/v2/SECURITY.md # openshift/tools/vendor/github.com/pelletier/go-toml/v2/ci.sh # openshift/tools/vendor/github.com/pelletier/go-toml/v2/internal/tracker/seen.go # openshift/tools/vendor/github.com/pelletier/go-toml/v2/marshaler.go # openshift/tools/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go # openshift/tools/vendor/github.com/prometheus/client_golang/NOTICE # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/collectors/go_collector_latest.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/desc.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/histogram.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/internal/go_collector_options.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/labels.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/metric.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/process_collector.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/process_collector_windows.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/promhttp/delegator.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/promhttp/internal/compression.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/registry.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/summary.go # openshift/tools/vendor/github.com/prometheus/client_golang/prometheus/vec.go # openshift/tools/vendor/github.com/prometheus/client_model/go/metrics.pb.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/decode.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/encode.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/expfmt.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/openmetrics_create.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/text_create.go # openshift/tools/vendor/github.com/prometheus/common/expfmt/text_parse.go # openshift/tools/vendor/github.com/prometheus/common/model/alert.go # openshift/tools/vendor/github.com/prometheus/common/model/labels.go # openshift/tools/vendor/github.com/prometheus/common/model/labelset.go # openshift/tools/vendor/github.com/prometheus/common/model/metric.go # openshift/tools/vendor/github.com/prometheus/common/model/signature.go # openshift/tools/vendor/github.com/prometheus/common/model/silence.go # openshift/tools/vendor/github.com/prometheus/common/model/value.go # openshift/tools/vendor/github.com/prometheus/common/model/value_float.go # openshift/tools/vendor/github.com/prometheus/common/model/value_histogram.go # openshift/tools/vendor/github.com/prometheus/procfs/.golangci.yml # openshift/tools/vendor/github.com/prometheus/procfs/MAINTAINERS.md # openshift/tools/vendor/github.com/prometheus/procfs/Makefile.common # openshift/tools/vendor/github.com/prometheus/procfs/README.md # openshift/tools/vendor/github.com/prometheus/procfs/arp.go # openshift/tools/vendor/github.com/prometheus/procfs/buddyinfo.go # openshift/tools/vendor/github.com/prometheus/procfs/cpuinfo.go # openshift/tools/vendor/github.com/prometheus/procfs/crypto.go # openshift/tools/vendor/github.com/prometheus/procfs/fs.go # openshift/tools/vendor/github.com/prometheus/procfs/fs_statfs_notype.go # openshift/tools/vendor/github.com/prometheus/procfs/fs_statfs_type.go # openshift/tools/vendor/github.com/prometheus/procfs/fscache.go # openshift/tools/vendor/github.com/prometheus/procfs/internal/fs/fs.go # openshift/tools/vendor/github.com/prometheus/procfs/internal/util/parse.go # openshift/tools/vendor/github.com/prometheus/procfs/internal/util/sysreadfile.go # openshift/tools/vendor/github.com/prometheus/procfs/ipvs.go # openshift/tools/vendor/github.com/prometheus/procfs/loadavg.go # openshift/tools/vendor/github.com/prometheus/procfs/mdstat.go # openshift/tools/vendor/github.com/prometheus/procfs/meminfo.go # openshift/tools/vendor/github.com/prometheus/procfs/mountinfo.go # openshift/tools/vendor/github.com/prometheus/procfs/mountstats.go # openshift/tools/vendor/github.com/prometheus/procfs/net_conntrackstat.go # openshift/tools/vendor/github.com/prometheus/procfs/net_ip_socket.go # openshift/tools/vendor/github.com/prometheus/procfs/net_protocols.go # openshift/tools/vendor/github.com/prometheus/procfs/net_sockstat.go # openshift/tools/vendor/github.com/prometheus/procfs/net_softnet.go # openshift/tools/vendor/github.com/prometheus/procfs/net_tcp.go # openshift/tools/vendor/github.com/prometheus/procfs/net_unix.go # openshift/tools/vendor/github.com/prometheus/procfs/net_wireless.go # openshift/tools/vendor/github.com/prometheus/procfs/proc.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_cgroup.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_fdinfo.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_io.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_limits.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_maps.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_netstat.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_ns.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_psi.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_smaps.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_snmp.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_snmp6.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_stat.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_status.go # openshift/tools/vendor/github.com/prometheus/procfs/proc_sys.go # openshift/tools/vendor/github.com/prometheus/procfs/softirqs.go # openshift/tools/vendor/github.com/prometheus/procfs/stat.go # openshift/tools/vendor/github.com/prometheus/procfs/swaps.go # openshift/tools/vendor/github.com/prometheus/procfs/thread.go # openshift/tools/vendor/github.com/prometheus/procfs/zoneinfo.go # openshift/tools/vendor/github.com/sagikazarmark/locafero/.envrc # openshift/tools/vendor/github.com/sagikazarmark/locafero/finder.go # openshift/tools/vendor/github.com/sagikazarmark/locafero/flake.lock # openshift/tools/vendor/github.com/sagikazarmark/locafero/flake.nix # openshift/tools/vendor/github.com/sagikazarmark/slog-shim/.editorconfig # openshift/tools/vendor/github.com/sirupsen/logrus/user_dirs.go # openshift/tools/vendor/github.com/spf13/afero/README.md # openshift/tools/vendor/github.com/spf13/afero/iofs.go # openshift/tools/vendor/github.com/spf13/afero/memmap.go # openshift/tools/vendor/github.com/spf13/cast/README.md # openshift/tools/vendor/github.com/spf13/cast/caste.go # openshift/tools/vendor/github.com/spf13/pflag/flag.go # openshift/tools/vendor/github.com/spf13/pflag/ip.go # openshift/tools/vendor/github.com/spf13/pflag/string_array.go # openshift/tools/vendor/github.com/spf13/viper/.envrc # openshift/tools/vendor/github.com/spf13/viper/.golangci.yaml # openshift/tools/vendor/github.com/spf13/viper/README.md # openshift/tools/vendor/github.com/spf13/viper/TROUBLESHOOTING.md # openshift/tools/vendor/github.com/spf13/viper/flags.go # openshift/tools/vendor/github.com/spf13/viper/flake.lock # openshift/tools/vendor/github.com/spf13/viper/flake.nix # openshift/tools/vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go # openshift/tools/vendor/github.com/spf13/viper/logger.go # openshift/tools/vendor/github.com/spf13/viper/util.go # openshift/tools/vendor/github.com/spf13/viper/viper.go # openshift/tools/vendor/github.com/spf13/viper/viper_go1_15.go # openshift/tools/vendor/go.opentelemetry.io/otel/LICENSE # openshift/tools/vendor/go.opentelemetry.io/otel/trace/LICENSE # openshift/tools/vendor/go.yaml.in/yaml/v2/NOTICE # openshift/tools/vendor/go.yaml.in/yaml/v2/README.md # openshift/tools/vendor/go.yaml.in/yaml/v3/LICENSE # openshift/tools/vendor/go.yaml.in/yaml/v3/apic.go # openshift/tools/vendor/go.yaml.in/yaml/v3/decode.go # openshift/tools/vendor/go.yaml.in/yaml/v3/emitterc.go # openshift/tools/vendor/go.yaml.in/yaml/v3/encode.go # openshift/tools/vendor/go.yaml.in/yaml/v3/parserc.go # openshift/tools/vendor/go.yaml.in/yaml/v3/readerc.go # openshift/tools/vendor/go.yaml.in/yaml/v3/resolve.go # openshift/tools/vendor/go.yaml.in/yaml/v3/scannerc.go # openshift/tools/vendor/go.yaml.in/yaml/v3/sorter.go # openshift/tools/vendor/go.yaml.in/yaml/v3/writerc.go # openshift/tools/vendor/go.yaml.in/yaml/v3/yaml.go # openshift/tools/vendor/go.yaml.in/yaml/v3/yamlh.go # openshift/tools/vendor/go.yaml.in/yaml/v3/yamlprivateh.go # openshift/tools/vendor/golang.org/x/crypto/LICENSE # openshift/tools/vendor/golang.org/x/crypto/cast5/cast5.go # openshift/tools/vendor/golang.org/x/crypto/hkdf/hkdf.go # openshift/tools/vendor/golang.org/x/crypto/sha3/doc.go # openshift/tools/vendor/golang.org/x/crypto/sha3/hashes.go # openshift/tools/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s # openshift/tools/vendor/golang.org/x/crypto/sha3/sha3.go # openshift/tools/vendor/golang.org/x/crypto/sha3/sha3_s390x.go # openshift/tools/vendor/golang.org/x/crypto/sha3/shake.go # openshift/tools/vendor/golang.org/x/net/http2/config.go # openshift/tools/vendor/golang.org/x/net/internal/httpcommon/request.go # openshift/tools/vendor/golang.org/x/sync/errgroup/errgroup.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_arm64.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_arm64.s # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_loong64.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_riscv64.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_x86.go # openshift/tools/vendor/golang.org/x/sys/cpu/cpu_x86.s # openshift/tools/vendor/golang.org/x/sys/cpu/parse.go # openshift/tools/vendor/gomodules.xyz/jsonpatch/v2/jsonpatch.go # openshift/tools/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb # openshift/tools/vendor/google.golang.org/protobuf/internal/filedesc/editions.go # openshift/tools/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go # openshift/tools/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go # openshift/tools/vendor/google.golang.org/protobuf/internal/impl/presence.go # openshift/tools/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go # openshift/tools/vendor/gopkg.in/yaml.v2/NOTICE # openshift/tools/vendor/k8s.io/api/admission/v1/doc.go # openshift/tools/vendor/k8s.io/api/admission/v1/generated.pb.go # openshift/tools/vendor/k8s.io/api/admission/v1/generated.proto # openshift/tools/vendor/k8s.io/api/admission/v1/types.go # openshift/tools/vendor/k8s.io/api/admission/v1/zz_generated.prerelease-lifecycle.go # openshift/tools/vendor/k8s.io/api/admission/v1beta1/doc.go # openshift/tools/vendor/k8s.io/api/admission/v1beta1/generated.pb.go # openshift/tools/vendor/k8s.io/api/admission/v1beta1/generated.proto # openshift/tools/vendor/k8s.io/api/flowcontrol/v1alpha1/doc.go # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/generated.pb.go # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/generated.proto # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/types.go # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/types_swagger_doc_generated.go # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/zz_generated.deepcopy.go # openshift/tools/vendor/k8s.io/api/networking/v1alpha1/zz_generated.prerelease-lifecycle.go # openshift/tools/vendor/k8s.io/api/resource/v1/devicetaint.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha2/devicetaint.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/generated.proto # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/types.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/zz_generated.deepcopy.go # openshift/tools/vendor/k8s.io/api/resource/v1alpha3/zz_generated.prerelease-lifecycle.go # openshift/tools/vendor/k8s.io/api/resource/v1beta1/generated.pb.go # openshift/tools/vendor/k8s.io/api/resource/v1beta1/generated.proto # openshift/tools/vendor/k8s.io/api/resource/v1beta1/types.go # openshift/tools/vendor/k8s.io/api/resource/v1beta1/types_swagger_doc_generated.go # openshift/tools/vendor/k8s.io/api/resource/v1beta1/zz_generated.deepcopy.go # openshift/tools/vendor/k8s.io/api/resource/v1beta2/generated.pb.go # openshift/tools/vendor/k8s.io/api/resource/v1beta2/generated.proto # openshift/tools/vendor/k8s.io/api/resource/v1beta2/types.go # openshift/tools/vendor/k8s.io/api/resource/v1beta2/types_swagger_doc_generated.go # openshift/tools/vendor/k8s.io/api/resource/v1beta2/zz_generated.deepcopy.go # openshift/tools/vendor/k8s.io/api/storage/v1/zz_generated.prerelease-lifecycle.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go # openshift/tools/vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/api/operation/operation.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/runtime/serializer/cbor/cbor.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/runtime/serializer/cbor/direct/direct.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/runtime/serializer/cbor/internal/modes/decode.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/runtime/serializer/cbor/internal/modes/encode.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/util/cache/lruexpirecache.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/util/diff/diff.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/util/validation/field/error_matcher.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/util/version/doc.go # openshift/tools/vendor/k8s.io/apimachinery/pkg/util/version/version.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/matchcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/mutatingwebhook.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/mutatingwebhookconfiguration.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/rule.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/rulewithoperations.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/servicereference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/validatingwebhook.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/validatingwebhookconfiguration.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1/webhookclientconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/auditannotation.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/expressionwarning.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/matchcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/matchresources.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/namedrulewithoperations.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/paramkind.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/paramref.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/typechecking.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validatingadmissionpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validatingadmissionpolicybinding.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validatingadmissionpolicybindingspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validatingadmissionpolicyspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validatingadmissionpolicystatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/validation.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1/variable.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/auditannotation.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/expressionwarning.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/matchcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/matchresources.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/mutatingwebhook.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/mutatingwebhookconfiguration.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/namedrulewithoperations.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/paramkind.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/paramref.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/servicereference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/typechecking.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingadmissionpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingadmissionpolicybinding.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingadmissionpolicybindingspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingadmissionpolicyspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingadmissionpolicystatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingwebhook.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validatingwebhookconfiguration.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/validation.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/variable.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1/webhookclientconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apiserverinternal/v1alpha1/serverstorageversion.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apiserverinternal/v1alpha1/storageversion.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apiserverinternal/v1alpha1/storageversioncondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apiserverinternal/v1alpha1/storageversionstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/controllerrevision.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/daemonset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/daemonsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/daemonsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/daemonsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/daemonsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/deployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/deploymentcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/deploymentspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/deploymentstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/deploymentstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/replicaset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/replicasetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/replicasetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/replicasetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/rollingupdatedaemonset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/rollingupdatedeployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/rollingupdatestatefulsetstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetordinals.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetpersistentvolumeclaimretentionpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1/statefulsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/controllerrevision.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/deployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/deploymentcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/deploymentspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/deploymentstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/deploymentstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/rollbackconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/rollingupdatedeployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/rollingupdatestatefulsetstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetordinals.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetpersistentvolumeclaimretentionpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta1/statefulsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/controllerrevision.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/daemonset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/daemonsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/daemonsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/daemonsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/daemonsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/deployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/deploymentcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/deploymentspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/deploymentstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/deploymentstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/replicaset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/replicasetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/replicasetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/replicasetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/rollingupdatedaemonset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/rollingupdatedeployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/rollingupdatestatefulsetstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/scale.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetordinals.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetpersistentvolumeclaimretentionpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/apps/v1beta2/statefulsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/crossversionobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/horizontalpodautoscaler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/horizontalpodautoscalerspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/horizontalpodautoscalerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/scale.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/scalespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v1/scalestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/containerresourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/containerresourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/crossversionobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/externalmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/externalmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/horizontalpodautoscaler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/horizontalpodautoscalerbehavior.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/horizontalpodautoscalercondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/horizontalpodautoscalerspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/horizontalpodautoscalerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/hpascalingpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/hpascalingrules.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/metricidentifier.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/metricspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/metricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/metrictarget.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/metricvaluestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/objectmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/objectmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/podsmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/podsmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/resourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2/resourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/containerresourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/containerresourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/crossversionobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/externalmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/externalmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/horizontalpodautoscaler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/horizontalpodautoscalercondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/horizontalpodautoscalerspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/horizontalpodautoscalerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/metricspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/metricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/objectmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/objectmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/podsmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/podsmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/resourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta1/resourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/containerresourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/containerresourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/crossversionobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/externalmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/externalmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/horizontalpodautoscaler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/horizontalpodautoscalerbehavior.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/horizontalpodautoscalercondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/horizontalpodautoscalerspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/horizontalpodautoscalerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/hpascalingpolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/hpascalingrules.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/metricidentifier.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/metricspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/metricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/metrictarget.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/metricvaluestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/objectmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/objectmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/podsmetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/podsmetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/resourcemetricsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/autoscaling/v2beta2/resourcemetricstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/cronjob.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/cronjobspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/cronjobstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/job.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/jobcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/jobspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/jobstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/jobtemplatespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/podfailurepolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/podfailurepolicyonexitcodesrequirement.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/podfailurepolicyonpodconditionspattern.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/podfailurepolicyrule.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1/uncountedterminatedpods.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1beta1/cronjob.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1beta1/cronjobspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1beta1/cronjobstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/batch/v1beta1/jobtemplatespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1/certificatesigningrequest.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1/certificatesigningrequestcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1/certificatesigningrequestspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1/certificatesigningrequeststatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1alpha1/clustertrustbundle.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1alpha1/clustertrustbundlespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1beta1/certificatesigningrequest.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1beta1/certificatesigningrequestcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1beta1/certificatesigningrequestspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/certificates/v1beta1/certificatesigningrequeststatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/coordination/v1/lease.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/coordination/v1/leasespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/coordination/v1beta1/lease.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/coordination/v1beta1/leasespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/affinity.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/attachedvolume.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/awselasticblockstorevolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/azurediskvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/azurefilepersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/azurefilevolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/capabilities.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/cephfspersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/cephfsvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/cinderpersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/cindervolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/clientipconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/componentcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/componentstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmap.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmapenvsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmapkeyselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmapnodeconfigsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmapprojection.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/configmapvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/container.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerimage.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerport.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerresizepolicy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerstate.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerstaterunning.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerstateterminated.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerstatewaiting.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/containerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/csipersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/csivolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/daemonendpoint.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/downwardapiprojection.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/downwardapivolumefile.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/downwardapivolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/emptydirvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/endpointaddress.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/endpointport.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/endpoints.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/endpointsubset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/envfromsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/envvar.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/envvarsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/ephemeralcontainer.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/ephemeralcontainercommon.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/ephemeralvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/event.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/eventseries.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/eventsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/execaction.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/fcvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/flexpersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/flexvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/flockervolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/gcepersistentdiskvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/gitrepovolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/glusterfspersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/glusterfsvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/grpcaction.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/hostalias.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/hostip.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/hostpathvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/httpgetaction.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/httpheader.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/iscsipersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/iscsivolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/keytopath.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/lifecycle.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/lifecyclehandler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/limitrange.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/limitrangeitem.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/limitrangespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/loadbalanceringress.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/loadbalancerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/localobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/localvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/namespace.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/namespacecondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/namespacespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/namespacestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nfsvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/node.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeaddress.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeaffinity.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodecondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeconfigsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeconfigstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodedaemonendpoints.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeselectorrequirement.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodeselectorterm.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/nodesysteminfo.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/objectfieldselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/objectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolume.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaim.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaimcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaimspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaimstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaimtemplate.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumeclaimvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/persistentvolumestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/photonpersistentdiskvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/pod.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podaffinity.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podaffinityterm.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podantiaffinity.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/poddnsconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/poddnsconfigoption.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podip.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podos.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podreadinessgate.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podresourceclaim.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podresourceclaimstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podschedulinggate.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podsecuritycontext.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podtemplate.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/podtemplatespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/portstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/portworxvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/preferredschedulingterm.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/probe.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/probehandler.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/projectedvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/quobytevolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/rbdpersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/rbdvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/replicationcontroller.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/replicationcontrollercondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/replicationcontrollerspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/replicationcontrollerstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourceclaim.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourcefieldselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourcequota.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourcequotaspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourcequotastatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/resourcerequirements.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/scaleiopersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/scaleiovolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/scopedresourceselectorrequirement.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/scopeselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/seccompprofile.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secret.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secretenvsource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secretkeyselector.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secretprojection.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secretreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/secretvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/securitycontext.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/selinuxoptions.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/service.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/serviceaccount.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/serviceaccounttokenprojection.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/serviceport.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/servicespec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/servicestatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/sessionaffinityconfig.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/storageospersistentvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/storageosvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/sysctl.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/taint.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/tcpsocketaction.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/toleration.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/topologyselectorlabelrequirement.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/topologyselectorterm.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/topologyspreadconstraint.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/typedlocalobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/typedobjectreference.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volume.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volumedevice.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volumemount.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volumenodeaffinity.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volumeprojection.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/volumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/vspherevirtualdiskvolumesource.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/weightedpodaffinityterm.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/core/v1/windowssecuritycontextoptions.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/endpoint.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/endpointconditions.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/endpointhints.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/endpointport.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/endpointslice.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1/forzone.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/endpoint.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/endpointconditions.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/endpointhints.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/endpointport.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/endpointslice.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/discovery/v1beta1/forzone.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/events/v1/event.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/events/v1/eventseries.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/events/v1beta1/event.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/events/v1beta1/eventseries.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/daemonset.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/daemonsetcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/daemonsetspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/daemonsetstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/daemonsetupdatestrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/deployment.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/deploymentcondition.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/deploymentspec.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/deploymentstatus.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/deploymentstrategy.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/httpingresspath.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/httpingressrulevalue.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/ingress.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/ingressbackend.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/ingressloadbalanceringress.go # openshift/tools/vendor/k8s.io/client-go/applyconfigurations/extensions/v1beta1/ingressloadbalancerstatus.go # openshift/tools/…
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> # Conflicts: # openshift/manifests/0000_30_cluster-api_04_cm.infrastructure-ibmcloud.yaml
…ainer image to be consistent with ART for 4.22 Reconciling with https://github.com/openshift/ocp-build-data/tree/56cb39ad358cdec1db7c84ea1919fe8849c2550b/images/ose-ibmcloud-cluster-api-controllers.yml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ainer image to be consistent with ART for 5.0 Reconciling with https://github.com/openshift-eng/ocp-build-data/tree/af322abdd1a4d7d0161a69a16369a0ab1748515a/images/ose-ibmcloud-cluster-api-controllers.yml
caf3e87 to
b6e2509
Compare
There was a problem hiding this comment.
Actionable comments posted: 7
♻️ Duplicate comments (15)
api/vpc/v1beta1/types.go (1)
49-52:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winPast review fix not applied: Subnet pointer fields still lack
omitempty.The previous review flagged these four pointer fields as missing
omitemptytags, and the comment was marked as addressed. However, the current code still has the same issue. Withoutomitempty, nil pointers will serialize as JSONnullinstead of being omitted, causing inconsistency with the v1beta2 API surface.🔧 Apply the previously suggested fix
- Ipv4CidrBlock *string `json:"cidr"` - Name *string `json:"name"` - ID *string `json:"id"` - Zone *string `json:"zone"` + Ipv4CidrBlock *string `json:"cidr,omitempty"` + Name *string `json:"name,omitempty"` + ID *string `json:"id,omitempty"` + Zone *string `json:"zone,omitempty"`🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/vpc/v1beta1/types.go` around lines 49 - 52, The JSON tags for the pointer fields Ipv4CidrBlock, Name, ID, and Zone should include `omitempty` so nil pointers are omitted instead of serialized as null; update the struct field tags for these symbols in api/vpc/v1beta1/types.go to `json:"cidr,omitempty"`, `json:"name,omitempty"`, `json:"id,omitempty"`, and `json:"zone,omitempty"` respectively to match the v1beta2 API behavior.api/vpc/v1beta2/types.go (1)
432-432:⚠️ Potential issue | 🟠 Major | ⚡ Quick winPast review issue persists: Invalid kubebuilder validation marker syntax.
Lines 432 and 436 still use
MaxLength:=instead of the correctMaxLength=syntax. The colon makes these invalid kubebuilder markers, which will cause CRD validation to be ignored or generated incorrectly.🔧 Apply the previously suggested fix
- // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` Name *string `json:"name,omitempty"` // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:MaxLength:=64 + // +kubebuilder:validation:MaxLength=64Also applies to: 436-436
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/vpc/v1beta2/types.go` at line 432, The kubebuilder validation markers use an invalid syntax (`MaxLength:=`) which breaks CRD generation; locate the markers that read `+kubebuilder:validation:MaxLength:=63` (and the similar `MaxLength:=` instance) in types.go and change them to the correct syntax `+kubebuilder:validation:MaxLength=63` so the validator recognizes the MaxLength constraint on the associated field(s) (search for `+kubebuilder:validation:MaxLength` to find both occurrences)..github/workflows/weekly-security-scan.yaml (1)
20-23:⚠️ Potential issue | 🟠 Major | ⚡ Quick winDisable persisted checkout credentials in the workflow.
actions/checkoutkeeps credentials by default. For a security-scan workflow, setpersist-credentials: falseto reduce token exposure risk.Proposed fix
- name: Check out code uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2 with: ref: ${{ matrix.branch }} + persist-credentials: falseAs per coding guidelines, "Least privilege: minimize GITHUB_TOKEN permissions" and "No secrets in logs; mask sensitive outputs" apply to CI/CD workflows.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/weekly-security-scan.yaml around lines 20 - 23, The workflow uses actions/checkout@de0fac2e... which by default persists credentials; update the checkout step (the actions/checkout usage) to add persist-credentials: false in the step inputs so the action does not retain GITHUB_TOKEN credentials during the security-scan run; ensure this change is applied to the checkout step that uses ref: ${{ matrix.branch }}.Source: Coding guidelines
api/powervs/v1beta3/ibmpowervscluster_types.go (2)
411-415:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winGuard against nil dereference in
ResourceReference.Set.Line 413 dereferences
rf.ControllerCreatedwithout checking for nil, which can panic when the receiver is zero-valued.Proposed fix
func (rf *ResourceReference) Set(resource ResourceReference) { rf.ID = resource.ID - if !*rf.ControllerCreated { + if rf.ControllerCreated == nil || !*rf.ControllerCreated { rf.ControllerCreated = resource.ControllerCreated } }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/ibmpowervscluster_types.go` around lines 411 - 415, The method ResourceReference.Set may panic by dereferencing rf.ControllerCreated without nil-check; update it to first check whether rf.ControllerCreated is nil before evaluating *rf.ControllerCreated, and then copy resource.ControllerCreated appropriately (e.g., if rf.ControllerCreated == nil set it to resource.ControllerCreated, else if !*rf.ControllerCreated set it to resource.ControllerCreated) so both nil and non-nil receiver cases are handled safely.
278-278:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix malformed kubebuilder validation markers (use
=instead of:=).The markers
MaxLength:=64,MinLength:=3, etc. are not standard kubebuilder syntax. Correct syntax uses a single equals sign:MaxLength=64,MinLength=3. This affects CRD schema validation generation.Instances to fix:
- Line 278:
MaxLength:=→MaxLength=- Line 285:
MaxLength:=→MaxLength=- Line 300:
MaxLength:=→MaxLength=- Lines 318–319:
MinLength:=3andMaxLength:=63→ use=Also applies to: 285-286, 300-301, 318-320
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/ibmpowervscluster_types.go` at line 278, Replace malformed kubebuilder validation markers that use ':=' with the correct '=' notation: update occurrences of annotations like `+kubebuilder:validation:MaxLength:=64`, `MinLength:=3` and `MaxLength:=63` to use `+kubebuilder:validation:MaxLength=64`, `+kubebuilder:validation:MinLength=3`, `+kubebuilder:validation:MaxLength=63` respectively; locate the annotations adjacent to the affected CRD fields in ibmpowervscluster_types.go (the kubebuilder validation comments above the struct fields) and change all `:=` to `=` so CRD schema generation uses valid markers.api/powervs/v1beta3/ibmpowervsmachine_types.go (3)
78-78:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix kubebuilder enum marker syntax.
Lines 78 and 90 use
+kubebuilder:validation:Enum:=...with invalid:=syntax; change to+kubebuilder:validation:Enum=.... The colon should not be included before the equals sign, otherwise enum validation will not be generated correctly in the CRD.Also applies to: 90-90
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/ibmpowervsmachine_types.go` at line 78, The kubebuilder validation marker uses an invalid ":=" sequence; locate the enum markers that currently read '+kubebuilder:validation:Enum:="s922";"e980";"s1022";"e1050";"e1080";""' (and the similar marker at the other occurrence) and change them to use '=' rather than ':=' so they read '+kubebuilder:validation:Enum="s922";"e980";"s1022";"e1050";"e1080";""'; update both occurrences so CRD enum validation is generated correctly.
224-224:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove the trailing tab from the printcolumn JSONPath.
Line 224 includes
".status.initialization.provisioned\t"; the extra tab can make the print column JSONPath invalid.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/ibmpowervsmachine_types.go` at line 224, Remove the stray tab character in the kubebuilder printcolumn annotation by editing the +kubebuilder:printcolumn line that currently has JSONPath=".status.initialization.provisioned\t" so it reads JSONPath=".status.initialization.provisioned" (locate the annotation with +kubebuilder:printcolumn and the JSONPath ".status.initialization.provisioned" to update).
65-70:⚠️ Potential issue | 🟠 Major | 🏗️ Heavy liftEnforce mutual exclusivity between
imageandimageRef.The comments define
imageRefas an alternative toimage, but the schema currently allows both. Add CRD validation to reject specs setting both fields.Proposed fix
type IBMPowerVSMachineSpec struct { + // +kubebuilder:validation:XValidation:rule="!(has(self.image) && has(self.imageRef.name))",message="only one of image or imageRef may be specified" + // serviceInstance is the reference to the Power VS workspace on which the server instance(VM) will be created.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/ibmpowervsmachine_types.go` around lines 65 - 70, The CRD currently allows both Image (*IBMPowerVSResourceReference) and ImageRef (ImageReference) to be set even though they are alternatives; add server-side validation by implementing webhook validation on the IBMPowerVSMachine type: add ValidateCreate and ValidateUpdate methods that inspect r.Spec.Image and r.Spec.ImageRef and return a validation error (using k8s.io/apimachinery/pkg/util/validation/field or apierrors.NewInvalid) when both are non-empty; ensure the error references the mutually exclusive fields (e.g., "spec.image" and "spec.imageRef") so the API rejects objects that set both.api/powervs/v1beta3/conditions_consts.go (1)
226-227:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRename the exported constant to match the value semantics.
VPCSecurityGroupNotReadyConditionmaps toclusterv1.NotReadyReason, so the exported name is misleading. Please rename it toVPCSecurityGroupNotReadyReasonbefore this API surface is consumed.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/conditions_consts.go` around lines 226 - 227, The exported constant VPCSecurityGroupNotReadyCondition is misleading because it maps to clusterv1.NotReadyReason (a Reason type), not a Condition type. Rename the constant from VPCSecurityGroupNotReadyCondition to VPCSecurityGroupNotReadyReason to accurately reflect its semantic meaning as a reason value. Update the constant name in the file and ensure all usages of this constant throughout the codebase are updated to use the new name.api/powervs/v1beta2/ibmpowervscluster_types.go (2)
366-371:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix potential nil-pointer panic in
ResourceReference.Set.Line 368 dereferences
rf.ControllerCreatedwithout a nil guard. Since this field is optional (*bool), this will panic when the receiver'sControllerCreatedis nil.Proposed fix
func (rf *ResourceReference) Set(resource ResourceReference) { rf.ID = resource.ID - if !*rf.ControllerCreated { + if rf.ControllerCreated == nil || !*rf.ControllerCreated { rf.ControllerCreated = resource.ControllerCreated } }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta2/ibmpowervscluster_types.go` around lines 366 - 371, The method ResourceReference.Set dereferences rf.ControllerCreated without a nil check which can panic; modify Set (ResourceReference.Set) to first check if rf.ControllerCreated is nil before dereferencing and assign resource.ControllerCreated if rf.ControllerCreated is nil or false as intended—i.e., guard uses of rf.ControllerCreated with an explicit nil check and handle the three cases (nil, pointer to false, pointer to true) so you only dereference when non-nil and copy resource.ControllerCreated when receiver lacks a value.
284-313:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix kubebuilder
MaxLengthmarker syntax (:=→=).Lines 285, 305, and 312 use invalid
MaxLength:=syntax that controller-gen will silently ignore.Proposed fix
- // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MaxLength=63 @@ - // +kubebuilder:validation:MaxLength:=64 + // +kubebuilder:validation:MaxLength=64 @@ - // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MaxLength=63🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta2/ibmpowervscluster_types.go` around lines 284 - 313, The kubebuilder markers use invalid syntax `MaxLength:=` which controller-gen ignores; update the annotations to use `MaxLength=` instead for the affected fields: change the MaxLength marker on the top-level Name field (the field defined as Name *string `json:"name,omitempty"`), on VPCResourceReference.ID (the field ID *string `json:"id,omitempty"` inside type VPCResourceReference), and on VPCResourceReference.Name (the name field in VPCResourceReference) so each `+kubebuilder:validation:MaxLength:=64`/`:=63` becomes `+kubebuilder:validation:MaxLength=64`/`=63`.api/powervs/v1beta3/vpc.go (1)
112-113:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix malformed XValidation marker (missing
+prefix and typo in field reference).Line 112 references
self.delyinstead ofself.delayand is missing the required+marker prefix, preventing the delay > timeout constraint from being validated during admission control.Proposed fix
-// kubebuilder:validation:XValidation:rule="self.dely > self.timeout",message="health monitor's delay must be greater than the timeout" +// +kubebuilder:validation:XValidation:rule="self.delay > self.timeout",message="health monitor's delay must be greater than the timeout" type VPCLoadBalancerHealthMonitorSpec struct {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/vpc.go` around lines 112 - 113, The kubebuilder XValidation marker on VPCLoadBalancerHealthMonitorSpec is malformed and references the wrong field; update the marker to include the required '+' prefix and fix the typo so the rule reads self.delay > self.timeout (e.g., "+kubebuilder:validation:XValidation:rule=\"self.delay > self.timeout\",message=\"health monitor's delay must be greater than the timeout\"") so admission validation will apply correctly to the struct.api/powervs/v1beta3/types.go (2)
482-488:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix kubebuilder
MaxLengthmarker syntax (:=→=).Lines 482 and 487 use invalid
MaxLength:=syntax that controller-gen will silently ignore, preventing the length validation from being applied.Proposed fix
- // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MaxLength=63 @@ - // +kubebuilder:validation:MaxLength:=64 + // +kubebuilder:validation:MaxLength=64🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/types.go` around lines 482 - 488, The kubebuilder validation markers for MaxLength on the Name field and the subnet id use incorrect `MaxLength:=` syntax so controller-gen ignores them; update the marker annotations to use `MaxLength=63` (for the Name field) and `MaxLength=64` (for the subnet id) respectively so the validation is applied (locate the `Name *string json:"name,omitempty"` field and the following `id is the ID of the subnet.` block and replace `MaxLength:=` with `MaxLength=`).
547-566:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd XValidation to enforce mutual exclusivity for
IBMPowerVSResourceReference.The struct comment (lines 547-549) documents that only one of ID, Name, or RegEx may be set, but no validation enforces this contract. This allows invalid configurations at admission time.
Proposed fix
// IBMPowerVSResourceReference is a reference to a specific PowerVS resource by ID, Name or RegEx // Only one of ID, Name or RegEx may be specified. Specifying more than one will result in // a validation error. +// +kubebuilder:validation:XValidation:rule="(has(self.id)?1:0) + (has(self.name)?1:0) + (has(self.regex)?1:0) <= 1",message="only one of id, name, or regex may be specified" type IBMPowerVSResourceReference struct {🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta3/types.go` around lines 547 - 566, The IBMPowerVSResourceReference struct documents that only one of ID, Name, or RegEx may be set but lacks validation; add a kubebuilder XValidation marker on the IBMPowerVSResourceReference type to enforce mutual exclusivity (only one of .ID, .Name, .RegEx is non-empty) so admission rejects objects with multiple fields set; update the struct comment and add the appropriate +kubebuilder:validation:XValidation rule referencing the fields (ID, Name, RegEx) to return a clear error when more than one is provided.api/powervs/v1beta2/ibmpowervsimage_types.go (1)
40-44:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMake deprecated
ServiceInstanceIDfield optional.Line 43 defines the deprecated
ServiceInstanceIDas a required field (stringwithoutomitempty). This prevents users from omitting it when using the newserviceInstancefield, creating a schema conflict.Proposed fix
// Deprecated: use ServiceInstance instead // // ServiceInstanceID is the id of the power cloud instance where the image will get imported. - ServiceInstanceID string `json:"serviceInstanceID"` + // +optional + ServiceInstanceID *string `json:"serviceInstanceID,omitempty"`🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@api/powervs/v1beta2/ibmpowervsimage_types.go` around lines 40 - 44, The deprecated ServiceInstanceID field is currently required (string) which forces clients to provide it; change the ServiceInstanceID declaration to be optional by making it a pointer and adding omitempty in the json tag (e.g., ServiceInstanceID *string `json:"serviceInstanceID,omitempty"`), and update any validation/usage in code that reads ServiceInstanceID to handle nil (compare to the new serviceInstance field) so callers can omit the deprecated field without schema conflicts.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@api/powervs/v1beta3/vpc.go`:
- Line 46: The kubebuilder marker comment has an extra '+' prefix
("++kubebuilder:validation:UniqueItems=true") so the marker is ignored; edit the
marker in vpc.go to remove the extra plus so it reads
"+kubebuilder:validation:UniqueItems=true" (look for the comment immediately
above the relevant field/struct declaration) to restore proper kubebuilder
validation parsing.
- Around line 24-35: Update the kubebuilder validation markers on the Name and
ID fields in vpc.go: replace the invalid "MaxLength:=" occurrences with
"MaxLength=" so the markers on the Name field and the ID *string field are
syntactically correct (adjust the +kubebuilder:validation:MaxLength:=63 to
+kubebuilder:validation:MaxLength=63 and +kubebuilder:validation:MaxLength:=64
to +kubebuilder:validation:MaxLength=64).
In `@api/vpc/v1beta1/types.go`:
- Line 57: The Address pointer field in the struct is missing the `omitempty`
JSON tag, causing it to serialize as null when unset unlike the deprecated
`FIPID` and `LBID` fields; update the struct tag for `Address` to include
`omitempty` (matching `FIPID` and `LBID`) so all three pointer fields are
omitted when nil, ensuring consistent JSON serialization.
In `@api/vpc/v1beta2/types.go`:
- Line 144: Update the comment typos in the VPC types declarations: change the
ResourceTypeVPC comment from "Power VS network resource" to "VPC resource", fix
"Gatway" to "Gateway" in the relevant VPC gateway/comment, and correct "defiens"
to "defines" where the word appears; locate these by searching for the
symbols/comments around ResourceTypeVPC and any VPC Gateway-related type or
comment and update the three misspelled words accordingly.
- Line 62: Fix the typo "tudp" to "udp" in the comment(s) describing the
VPCLoadBalancerBackendPoolProtocolUDP constant; search for any remaining
occurrences of "tudp" in api/vpc/v1beta2/types.go (including the comment for
VPCLoadBalancerBackendPoolProtocolUDP and the similar comment at the other
occurrence) and update them to read "udp" so the comment correctly describes the
protocol.
- Line 48: Update the inline comments that currently read "diverage" to the
correct spelling "diverge" in the types.go comment blocks (the comment
containing "We have unique types in case IBM Cloud Load Balancer Listener and
Backend Pool supported algorithms ever diverage." and the similar occurrence
later); locate those comment strings and replace "diverage" with "diverge" so
both occurrences are fixed.
- Line 25: Fix the spelling typo in the comment for DefaultAPIServerPort: change
"defuault" to "default" in the comment that documents the DefaultAPIServerPort
constant to correct the grammar and maintain documentation quality.
---
Duplicate comments:
In @.github/workflows/weekly-security-scan.yaml:
- Around line 20-23: The workflow uses actions/checkout@de0fac2e... which by
default persists credentials; update the checkout step (the actions/checkout
usage) to add persist-credentials: false in the step inputs so the action does
not retain GITHUB_TOKEN credentials during the security-scan run; ensure this
change is applied to the checkout step that uses ref: ${{ matrix.branch }}.
In `@api/powervs/v1beta2/ibmpowervscluster_types.go`:
- Around line 366-371: The method ResourceReference.Set dereferences
rf.ControllerCreated without a nil check which can panic; modify Set
(ResourceReference.Set) to first check if rf.ControllerCreated is nil before
dereferencing and assign resource.ControllerCreated if rf.ControllerCreated is
nil or false as intended—i.e., guard uses of rf.ControllerCreated with an
explicit nil check and handle the three cases (nil, pointer to false, pointer to
true) so you only dereference when non-nil and copy resource.ControllerCreated
when receiver lacks a value.
- Around line 284-313: The kubebuilder markers use invalid syntax `MaxLength:=`
which controller-gen ignores; update the annotations to use `MaxLength=` instead
for the affected fields: change the MaxLength marker on the top-level Name field
(the field defined as Name *string `json:"name,omitempty"`), on
VPCResourceReference.ID (the field ID *string `json:"id,omitempty"` inside type
VPCResourceReference), and on VPCResourceReference.Name (the name field in
VPCResourceReference) so each `+kubebuilder:validation:MaxLength:=64`/`:=63`
becomes `+kubebuilder:validation:MaxLength=64`/`=63`.
In `@api/powervs/v1beta2/ibmpowervsimage_types.go`:
- Around line 40-44: The deprecated ServiceInstanceID field is currently
required (string) which forces clients to provide it; change the
ServiceInstanceID declaration to be optional by making it a pointer and adding
omitempty in the json tag (e.g., ServiceInstanceID *string
`json:"serviceInstanceID,omitempty"`), and update any validation/usage in code
that reads ServiceInstanceID to handle nil (compare to the new serviceInstance
field) so callers can omit the deprecated field without schema conflicts.
In `@api/powervs/v1beta3/conditions_consts.go`:
- Around line 226-227: The exported constant VPCSecurityGroupNotReadyCondition
is misleading because it maps to clusterv1.NotReadyReason (a Reason type), not a
Condition type. Rename the constant from VPCSecurityGroupNotReadyCondition to
VPCSecurityGroupNotReadyReason to accurately reflect its semantic meaning as a
reason value. Update the constant name in the file and ensure all usages of this
constant throughout the codebase are updated to use the new name.
In `@api/powervs/v1beta3/ibmpowervscluster_types.go`:
- Around line 411-415: The method ResourceReference.Set may panic by
dereferencing rf.ControllerCreated without nil-check; update it to first check
whether rf.ControllerCreated is nil before evaluating *rf.ControllerCreated, and
then copy resource.ControllerCreated appropriately (e.g., if
rf.ControllerCreated == nil set it to resource.ControllerCreated, else if
!*rf.ControllerCreated set it to resource.ControllerCreated) so both nil and
non-nil receiver cases are handled safely.
- Line 278: Replace malformed kubebuilder validation markers that use ':=' with
the correct '=' notation: update occurrences of annotations like
`+kubebuilder:validation:MaxLength:=64`, `MinLength:=3` and `MaxLength:=63` to
use `+kubebuilder:validation:MaxLength=64`,
`+kubebuilder:validation:MinLength=3`, `+kubebuilder:validation:MaxLength=63`
respectively; locate the annotations adjacent to the affected CRD fields in
ibmpowervscluster_types.go (the kubebuilder validation comments above the struct
fields) and change all `:=` to `=` so CRD schema generation uses valid markers.
In `@api/powervs/v1beta3/ibmpowervsmachine_types.go`:
- Line 78: The kubebuilder validation marker uses an invalid ":=" sequence;
locate the enum markers that currently read
'+kubebuilder:validation:Enum:="s922";"e980";"s1022";"e1050";"e1080";""' (and
the similar marker at the other occurrence) and change them to use '=' rather
than ':=' so they read
'+kubebuilder:validation:Enum="s922";"e980";"s1022";"e1050";"e1080";""'; update
both occurrences so CRD enum validation is generated correctly.
- Line 224: Remove the stray tab character in the kubebuilder printcolumn
annotation by editing the +kubebuilder:printcolumn line that currently has
JSONPath=".status.initialization.provisioned\t" so it reads
JSONPath=".status.initialization.provisioned" (locate the annotation with
+kubebuilder:printcolumn and the JSONPath ".status.initialization.provisioned"
to update).
- Around line 65-70: The CRD currently allows both Image
(*IBMPowerVSResourceReference) and ImageRef (ImageReference) to be set even
though they are alternatives; add server-side validation by implementing webhook
validation on the IBMPowerVSMachine type: add ValidateCreate and ValidateUpdate
methods that inspect r.Spec.Image and r.Spec.ImageRef and return a validation
error (using k8s.io/apimachinery/pkg/util/validation/field or
apierrors.NewInvalid) when both are non-empty; ensure the error references the
mutually exclusive fields (e.g., "spec.image" and "spec.imageRef") so the API
rejects objects that set both.
In `@api/powervs/v1beta3/types.go`:
- Around line 482-488: The kubebuilder validation markers for MaxLength on the
Name field and the subnet id use incorrect `MaxLength:=` syntax so
controller-gen ignores them; update the marker annotations to use `MaxLength=63`
(for the Name field) and `MaxLength=64` (for the subnet id) respectively so the
validation is applied (locate the `Name *string json:"name,omitempty"` field and
the following `id is the ID of the subnet.` block and replace `MaxLength:=` with
`MaxLength=`).
- Around line 547-566: The IBMPowerVSResourceReference struct documents that
only one of ID, Name, or RegEx may be set but lacks validation; add a
kubebuilder XValidation marker on the IBMPowerVSResourceReference type to
enforce mutual exclusivity (only one of .ID, .Name, .RegEx is non-empty) so
admission rejects objects with multiple fields set; update the struct comment
and add the appropriate +kubebuilder:validation:XValidation rule referencing the
fields (ID, Name, RegEx) to return a clear error when more than one is provided.
In `@api/powervs/v1beta3/vpc.go`:
- Around line 112-113: The kubebuilder XValidation marker on
VPCLoadBalancerHealthMonitorSpec is malformed and references the wrong field;
update the marker to include the required '+' prefix and fix the typo so the
rule reads self.delay > self.timeout (e.g.,
"+kubebuilder:validation:XValidation:rule=\"self.delay >
self.timeout\",message=\"health monitor's delay must be greater than the
timeout\"") so admission validation will apply correctly to the struct.
In `@api/vpc/v1beta1/types.go`:
- Around line 49-52: The JSON tags for the pointer fields Ipv4CidrBlock, Name,
ID, and Zone should include `omitempty` so nil pointers are omitted instead of
serialized as null; update the struct field tags for these symbols in
api/vpc/v1beta1/types.go to `json:"cidr,omitempty"`, `json:"name,omitempty"`,
`json:"id,omitempty"`, and `json:"zone,omitempty"` respectively to match the
v1beta2 API behavior.
In `@api/vpc/v1beta2/types.go`:
- Line 432: The kubebuilder validation markers use an invalid syntax
(`MaxLength:=`) which breaks CRD generation; locate the markers that read
`+kubebuilder:validation:MaxLength:=63` (and the similar `MaxLength:=` instance)
in types.go and change them to the correct syntax
`+kubebuilder:validation:MaxLength=63` so the validator recognizes the MaxLength
constraint on the associated field(s) (search for
`+kubebuilder:validation:MaxLength` to find both occurrences).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: d0a9e5cf-73f2-4999-aa16-0846cc4ba2ae
⛔ Files ignored due to path filters (155)
api/powervs/v1beta2/zz_generated.conversion.gois excluded by!**/zz_generated*api/powervs/v1beta2/zz_generated.deepcopy.gois excluded by!**/zz_generated*api/powervs/v1beta3/zz_generated.deepcopy.gois excluded by!**/zz_generated*api/v1beta1/zz_generated.conversion.gois excluded by!**/zz_generated*api/v1beta1/zz_generated.deepcopy.gois excluded by!**/zz_generated*api/v1beta2/zz_generated.deepcopy.gois excluded by!**/zz_generated*api/vpc/v1beta1/zz_generated.conversion.gois excluded by!**/zz_generated*api/vpc/v1beta1/zz_generated.deepcopy.gois excluded by!**/zz_generated*api/vpc/v1beta2/zz_generated.deepcopy.gois excluded by!**/zz_generated*go.sumis excluded by!**/*.sumhack/tools/go.sumis excluded by!**/*.sumhack/tools/vendor/cel.dev/expr/.bazelversionis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/.gitattributesis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/.gitignoreis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/BUILD.bazelis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/CODE_OF_CONDUCT.mdis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/CONTRIBUTING.mdis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/GOVERNANCE.mdis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/MAINTAINERS.mdis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/MODULE.bazelis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/README.mdis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/WORKSPACEis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/WORKSPACE.bzlmodis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/checked.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cel.dev/expr/cloudbuild.yamlis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/eval.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cel.dev/expr/explain.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cel.dev/expr/regen_go_proto.shis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/regen_go_proto_canonical_protos.shis excluded by!**/vendor/**hack/tools/vendor/cel.dev/expr/syntax.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cel.dev/expr/value.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/.editorconfigis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/.gitattributesis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/.gitignoreis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/.golangci.ymlis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/.goreleaser.ymlis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/LICENSEis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/README.mdis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/Taskfile.yamlis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/UPGRADE_GUIDE_V2.mdis excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/align.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/ansi_unix.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/ansi_windows.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/blending.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/borders.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/canvas.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/color.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/get.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/join.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/layer.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/lipgloss.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/position.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/query.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/ranges.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/runes.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/set.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/size.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/style.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/terminal.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/unset.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/whitespace.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/wrap.gois excluded by!**/vendor/**hack/tools/vendor/charm.land/lipgloss/v2/writer.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/CHANGES.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/LICENSEis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/README.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/auth.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/compute.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/detect.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/doc.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/filetypes.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/idtoken/cache.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/idtoken/compute.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/idtoken/file.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/idtoken/idtoken.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/idtoken/validate.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/impersonate/doc.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/impersonate/idtoken.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/impersonate/impersonate.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/impersonate/user.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/aws_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/executable_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/externalaccount.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/file_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/info.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/programmatic_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/url_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccount/x509_provider.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/externalaccountuser/externalaccountuser.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/gdch/gdch.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/impersonate/idtoken.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/impersonate/impersonate.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/internal/stsexchange/sts_exchange.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/credentials/selfsignedjwt.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/grpctransport/dial_socketopt.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/grpctransport/directpath.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/grpctransport/pool.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/httptransport/httptransport.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/httptransport/transport.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/compute/compute.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/compute/manufacturer.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_linux.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/compute/manufacturer_windows.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/credsfile/credsfile.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/credsfile/filetype.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/credsfile/parse.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/internal.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/jwt/jwt.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/retry/retry.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/cba.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/cert/default_cert.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/cert/enterprise_cert.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/cert/secureconnect_cert.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/headers/headers.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/s2a.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/transport/transport.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/trustboundary/external_accounts_config_providers.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/trustboundary/trust_boundary.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/internal/version.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/oauth2adapt/CHANGES.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/oauth2adapt/LICENSEis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/oauth2adapt/oauth2adapt.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/auth/threelegged.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/CHANGES.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/LICENSEis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/README.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/log.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/metadata.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/retry.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/retry_linux.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/syscheck.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/syscheck_linux.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/compute/metadata/syscheck_windows.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/CHANGES.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/LICENSEis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/README.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/apiv1/iampb/iam_policy.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/apiv1/iampb/options.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/apiv1/iampb/policy.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/apiv1/iampb/resource_policy_member.pb.gois excluded by!**/*.pb.go,!**/vendor/**hack/tools/vendor/cloud.google.com/go/iam/iam.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/.repo-metadata-full.jsonis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/README.mdis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/annotate.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/gen_info.shis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/optional/optional.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/retry.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/trace/trace.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/version/update_version.shis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/internal/version/version.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/monitoring/LICENSEis excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/monitoring/apiv3/v2/alert_policy_client.gois excluded by!**/vendor/**hack/tools/vendor/cloud.google.com/go/monitoring/apiv3/v2/auxiliary.gois excluded by!**/vendor/**
📒 Files selected for processing (145)
.ci-operator.yaml.github/ISSUE_TEMPLATE/add_new_machine_image.md.github/workflows/weekly-security-scan.yaml.golangci-kal.yml.golangci.ymlDockerfileMakefilePROJECTREADME.mdapi/powervs/v1beta2/conditions_consts.goapi/powervs/v1beta2/conversion.goapi/powervs/v1beta2/conversion_test.goapi/powervs/v1beta2/doc.goapi/powervs/v1beta2/groupversion_info.goapi/powervs/v1beta2/ibmpowervscluster_types.goapi/powervs/v1beta2/ibmpowervsclustertemplate_types.goapi/powervs/v1beta2/ibmpowervsimage_types.goapi/powervs/v1beta2/ibmpowervsmachine_types.goapi/powervs/v1beta2/ibmpowervsmachinetemplate_types.goapi/powervs/v1beta2/types.goapi/powervs/v1beta2/vpc.goapi/powervs/v1beta3/conditions_consts.goapi/powervs/v1beta3/conversion.goapi/powervs/v1beta3/doc.goapi/powervs/v1beta3/groupversion_info.goapi/powervs/v1beta3/ibmpowervscluster_types.goapi/powervs/v1beta3/ibmpowervsclustertemplate_types.goapi/powervs/v1beta3/ibmpowervsimage_types.goapi/powervs/v1beta3/ibmpowervsmachine_types.goapi/powervs/v1beta3/ibmpowervsmachinetemplate_types.goapi/powervs/v1beta3/types.goapi/powervs/v1beta3/v1beta2_condition_consts.goapi/powervs/v1beta3/vpc.goapi/v1beta1/doc.goapi/v1beta1/ibmpowervs_conversion.goapi/v1beta1/ibmpowervscluster_types.goapi/v1beta1/ibmpowervsclustertemplate_types.goapi/v1beta1/ibmpowervsimage_types.goapi/v1beta1/ibmpowervsmachine_types.goapi/v1beta1/ibmpowervsmachinetemplate_types.goapi/v1beta1/types.goapi/v1beta2/conversion.goapi/v1beta2/doc.goapi/v1beta2/ibmpowervscluster_types.goapi/v1beta2/ibmpowervsclustertemplate_types.goapi/v1beta2/ibmpowervsimage_types.goapi/v1beta2/ibmpowervsmachine_types.goapi/v1beta2/ibmpowervsmachinetemplate_types.goapi/v1beta2/types.goapi/vpc/v1beta1/conditions_consts.goapi/vpc/v1beta1/doc.goapi/vpc/v1beta1/groupversion_info.goapi/vpc/v1beta1/ibmvpc_conversion.goapi/vpc/v1beta1/ibmvpccluster_types.goapi/vpc/v1beta1/ibmvpcmachine_types.goapi/vpc/v1beta1/ibmvpcmachinetemplate_types.goapi/vpc/v1beta1/types.goapi/vpc/v1beta2/conditions_consts.goapi/vpc/v1beta2/conversion.goapi/vpc/v1beta2/doc.goapi/vpc/v1beta2/groupversion_info.goapi/vpc/v1beta2/ibmvpccluster_types.goapi/vpc/v1beta2/ibmvpcclustertemplate_types.goapi/vpc/v1beta2/ibmvpcmachine_types.goapi/vpc/v1beta2/ibmvpcmachinetemplate_types.goapi/vpc/v1beta2/types.gocloud/scope/common_test.gocloud/scope/doc.gocloud/scope/powervs/doc.gocloud/scope/powervs/helper_test.gocloud/scope/powervs/powervs_cluster.gocloud/scope/powervs/powervs_cluster_test.gocloud/scope/powervs/powervs_image.gocloud/scope/powervs/powervs_image_test.gocloud/scope/powervs/powervs_machine.gocloud/scope/powervs/powervs_machine_test.gocloud/scope/powervs/suite_test.gocloud/scope/powervs/types.gocloud/scope/powervs/util.gocloud/scope/powervs/util_test.gocloud/scope/suite_test.gocloud/scope/types.gocloud/scope/util.gocloud/scope/vpc/cluster.gocloud/scope/vpc/cluster_test.gocloud/scope/vpc/cluster_v2.gocloud/scope/vpc/doc.gocloud/scope/vpc/helper_test.gocloud/scope/vpc/machine.gocloud/scope/vpc/machine_test.gocloud/scope/vpc/suite_test.gocloud/scope/vpc/util.gocloud/scope/vpc_cluster.gocloudbuild.yamlcmd/capibmadm/cmd/powervs/image/type.gocmd/capibmadm/cmd/powervs/key/type.gocmd/capibmadm/cmd/powervs/network/type.gocmd/capibmadm/cmd/powervs/port/type.gocmd/capibmadm/cmd/vpc/image/type.gocmd/capibmadm/cmd/vpc/key/type.gocmd/main.goconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmpowervsclusters.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmpowervsclustertemplates.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmpowervsimages.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmpowervsmachines.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmpowervsmachinetemplates.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmvpcclusters.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmvpcclustertemplates.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmvpcmachines.yamlconfig/crd/bases/infrastructure.cluster.x-k8s.io_ibmvpcmachinetemplates.yamlconfig/crd/kustomization.yamlconfig/rbac/ibmpowervscluster_admin_role.yamlconfig/rbac/ibmpowervsclustertemplate_admin_role.yamlconfig/rbac/ibmpowervsimage_admin_role.yamlconfig/rbac/ibmpowervsmachine_admin_role.yamlconfig/rbac/ibmpowervsmachinetemplate_admin_role.yamlconfig/rbac/kustomization.yamlconfig/rbac/role.yamlconfig/webhook/manifests.yamlcontrollers/alias.gocontrollers/doc.gocontrollers/ibmpowervscluster_controller.gocontrollers/ibmpowervsimage_controller.gocontrollers/ibmpowervsmachine_controller.gocontrollers/suite_test.godocs/book/src/SUMMARY.mddocs/book/src/developer/conversion.mddocs/book/src/developer/netlify-site.mddocs/book/src/developer/release-support-guidelines.mddocs/book/src/developer/release.mddocs/book/src/developer/tilt.mddocs/book/src/machine-images/powervs.mddocs/book/src/machine-images/vpc.mddocs/book/src/reference/regions-zones-mapping.mddocs/book/src/topics/powervs/creating-a-cluster.mddocs/book/src/topics/vpc/creating-a-cluster.mddocs/proposal/20260421-powervs-v1beta3-api-modernization.mdgo.modhack/ccm/Makefilehack/ccm/cloudbuild.yamlhack/ensure-go.shhack/tools/.custom-gcl.yamlhack/tools/Makefilehack/tools/go.modhack/tools/tools.go
💤 Files with no reviewable changes (16)
- api/v1beta1/types.go
- api/v1beta2/doc.go
- api/v1beta2/ibmpowervsmachinetemplate_types.go
- api/v1beta1/doc.go
- api/v1beta2/conversion.go
- api/v1beta1/ibmpowervscluster_types.go
- api/v1beta1/ibmpowervsclustertemplate_types.go
- api/v1beta2/ibmpowervsmachine_types.go
- api/v1beta2/ibmpowervsclustertemplate_types.go
- api/v1beta1/ibmpowervsimage_types.go
- api/v1beta2/ibmpowervscluster_types.go
- api/v1beta1/ibmpowervsmachine_types.go
- api/v1beta1/ibmpowervs_conversion.go
- api/v1beta2/types.go
- api/v1beta1/ibmpowervsmachinetemplate_types.go
- api/v1beta2/ibmpowervsimage_types.go
✅ Files skipped from review due to trivial changes (6)
- .ci-operator.yaml
- api/powervs/v1beta3/doc.go
- api/vpc/v1beta1/ibmvpc_conversion.go
- .golangci-kal.yml
- api/vpc/v1beta1/doc.go
- api/powervs/v1beta2/doc.go
🚧 Files skipped from review as they are similar to previous changes (8)
- README.md
- api/vpc/v1beta2/doc.go
- .golangci.yml
- Dockerfile
- .github/ISSUE_TEMPLATE/add_new_machine_image.md
- api/powervs/v1beta3/conversion.go
- PROJECT
- api/vpc/v1beta2/conversion.go
| // +kubebuilder:validation:MinLength:=1 | ||
| // +kubebuilder:validation:MaxLength:=63 | ||
| // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` | ||
| // +optional | ||
| Name string `json:"name,omitempty"` | ||
|
|
||
| // id of the loadbalancer | ||
| // +kubebuilder:validation:MinLength=1 | ||
| // +kubebuilder:validation:MaxLength:=64 | ||
| // +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$` | ||
| // +optional | ||
| ID *string `json:"id,omitempty"` |
There was a problem hiding this comment.
Fix kubebuilder MaxLength marker syntax (:= → =).
Lines 24 and 32 use invalid MaxLength:= syntax that controller-gen will ignore.
Proposed fix
- // +kubebuilder:validation:MaxLength:=63
+ // +kubebuilder:validation:MaxLength=63
@@
- // +kubebuilder:validation:MaxLength:=64
+ // +kubebuilder:validation:MaxLength=64🧰 Tools
🪛 golangci-lint (2.12.2)
[error] 32-32: : # sigs.k8s.io/cluster-api-provider-ibmcloud/api/powervs/v1beta3
api/powervs/v1beta3/ibmpowervscluster_types.go:32:36: cannot use &IBMPowerVSCluster{} (value of type *IBMPowerVSCluster) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSCluster does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervscluster_types.go:32:58: cannot use &IBMPowerVSClusterList{} (value of type *IBMPowerVSClusterList) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSClusterList does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsclustertemplate_types.go:26:36: cannot use &IBMPowerVSClusterTemplate{} (value of type *IBMPowerVSClusterTemplate) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSClusterTemplate does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsclustertemplate_types.go:26:66: cannot use &IBMPowerVSClusterTemplateList{} (value of type *IBMPowerVSClusterTemplateList) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSClusterTemplateList does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsimage_types.go:32:36: cannot use &IBMPowerVSImage{} (value of type *IBMPowerVSImage) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSImage does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsimage_types.go:32:56: cannot use &IBMPowerVSImageList{} (value of type *IBMPowerVSImageList) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSImageList does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsmachine_types.go:44:36: cannot use &IBMPowerVSMachine{} (value of type *IBMPowerVSMachine) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSMachine does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsmachine_types.go:44:58: cannot use &IBMPowerVSMachineList{} (value of type *IBMPowerVSMachineList) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSMachineList does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsmachinetemplate_types.go:27:36: cannot use &IBMPowerVSMachineTemplate{} (value of type *IBMPowerVSMachineTemplate) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSMachineTemplate does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsmachinetemplate_types.go:27:66: cannot use &IBMPowerVSMachineTemplateList{} (value of type *IBMPowerVSMachineTemplateList) as "k8s.io/apimachinery/pkg/runtime".Object value in argument to append: *IBMPowerVSMachineTemplateList does not implement "k8s.io/apimachinery/pkg/runtime".Object (missing method DeepCopyObject)
api/powervs/v1beta3/ibmpowervsmachinetemplate_types.go:27:66: too many errors
(typecheck)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/powervs/v1beta3/vpc.go` around lines 24 - 35, Update the kubebuilder
validation markers on the Name and ID fields in vpc.go: replace the invalid
"MaxLength:=" occurrences with "MaxLength=" so the markers on the Name field and
the ID *string field are syntactically correct (adjust the
+kubebuilder:validation:MaxLength:=63 to +kubebuilder:validation:MaxLength=63
and +kubebuilder:validation:MaxLength:=64 to
+kubebuilder:validation:MaxLength=64).
| // +listType=map | ||
| // +listMapKey=port | ||
| // +optional | ||
| // ++kubebuilder:validation:UniqueItems=true |
There was a problem hiding this comment.
Fix double-plus kubebuilder marker prefix.
Line 46 has ++kubebuilder instead of +kubebuilder, which will cause the marker to be ignored.
Proposed fix
- // ++kubebuilder:validation:UniqueItems=true
+ // +kubebuilder:validation:UniqueItems=true📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // ++kubebuilder:validation:UniqueItems=true | |
| // +kubebuilder:validation:UniqueItems=true |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/powervs/v1beta3/vpc.go` at line 46, The kubebuilder marker comment has an
extra '+' prefix ("++kubebuilder:validation:UniqueItems=true") so the marker is
ignored; edit the marker in vpc.go to remove the extra plus so it reads
"+kubebuilder:validation:UniqueItems=true" (look for the comment immediately
above the relevant field/struct declaration) to restore proper kubebuilder
validation parsing.
|
|
||
| // VPCEndpoint describes a VPCEndpoint. | ||
| type VPCEndpoint struct { | ||
| Address *string `json:"address"` |
There was a problem hiding this comment.
Add omitempty to Address field for consistency.
The Address field is a pointer but lacks the omitempty JSON tag, while the deprecated FIPID and LBID fields both include it. This inconsistency will cause Address to serialize as null when unset, whereas the deprecated fields will be omitted. Add omitempty to align all three pointer fields.
🔧 Suggested fix
- Address *string `json:"address"`
+ Address *string `json:"address,omitempty"`📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Address *string `json:"address"` | |
| Address *string `json:"address,omitempty"` |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/vpc/v1beta1/types.go` at line 57, The Address pointer field in the struct
is missing the `omitempty` JSON tag, causing it to serialize as null when unset
unlike the deprecated `FIPID` and `LBID` fields; update the struct tag for
`Address` to include `omitempty` (matching `FIPID` and `LBID`) so all three
pointer fields are omitted when nil, ensuring consistent JSON serialization.
| // CIDRBlockAny is the CIDRBlock representing any allowable destination/source IP. | ||
| CIDRBlockAny string = "0.0.0.0/0" | ||
|
|
||
| // DefaultAPIServerPort is defuault API server port number. |
There was a problem hiding this comment.
Fix typo in comment.
"defuault" should be "default".
🔧 Suggested fix
- // DefaultAPIServerPort is defuault API server port number.
+ // DefaultAPIServerPort is default API server port number.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // DefaultAPIServerPort is defuault API server port number. | |
| // DefaultAPIServerPort is default API server port number. |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/vpc/v1beta2/types.go` at line 25, Fix the spelling typo in the comment
for DefaultAPIServerPort: change "defuault" to "default" in the comment that
documents the DefaultAPIServerPort constant to correct the grammar and maintain
documentation quality.
| ) | ||
|
|
||
| // VPCLoadBalancerBackendPoolProtocol describes the protocol for load balancer backend pools. | ||
| // We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverage. |
There was a problem hiding this comment.
Fix typo in comments.
"diverage" should be "diverge" (appears at lines 48 and 67).
🔧 Suggested fix
// VPCLoadBalancerBackendPoolProtocol describes the protocol for load balancer backend pools.
-// We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverage.
+// We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverge.
// +kubebuilder:validation:Enum=http;https;tcp;udp
type VPCLoadBalancerBackendPoolProtocol string // VPCLoadBalancerListenerProtocol describes the protocol for load balancer listeners.
-// We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverage.
+// We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverge.
// +kubebuilder:validation:Enum=http;https;tcp;udp
type VPCLoadBalancerListenerProtocol stringAlso applies to: 67-67
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/vpc/v1beta2/types.go` at line 48, Update the inline comments that
currently read "diverage" to the correct spelling "diverge" in the types.go
comment blocks (the comment containing "We have unique types in case IBM Cloud
Load Balancer Listener and Backend Pool supported algorithms ever diverage." and
the similar occurrence later); locate those comment strings and replace
"diverage" with "diverge" so both occurrences are fixed.
| // VPCLoadBalancerBackendPoolProtocolTCP is the string representing the tcp protocol for load balancer backend pools. | ||
| VPCLoadBalancerBackendPoolProtocolTCP VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeLoadBalancerContextProtocolTCPConst | ||
|
|
||
| // VPCLoadBalancerBackendPoolProtocolUDP is the string representing the tudp protocol for load balancer backend pools. |
There was a problem hiding this comment.
Fix typo in comments.
"tudp" should be "udp" (appears at lines 62 and 81).
🔧 Suggested fix
- // VPCLoadBalancerBackendPoolProtocolUDP is the string representing the tudp protocol for load balancer backend pools.
+ // VPCLoadBalancerBackendPoolProtocolUDP is the string representing the udp protocol for load balancer backend pools.
VPCLoadBalancerBackendPoolProtocolUDP VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeLoadBalancerContextProtocolUDPConst- // VPCLoadBalancerListenerProtocolUDP is the string representing the tudp protocol for load balancer listeners.
+ // VPCLoadBalancerListenerProtocolUDP is the string representing the udp protocol for load balancer listeners.
VPCLoadBalancerListenerProtocolUDP VPCLoadBalancerListenerProtocol = vpcv1.LoadBalancerListenerProtocolUDPConstAlso applies to: 81-81
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/vpc/v1beta2/types.go` at line 62, Fix the typo "tudp" to "udp" in the
comment(s) describing the VPCLoadBalancerBackendPoolProtocolUDP constant; search
for any remaining occurrences of "tudp" in api/vpc/v1beta2/types.go (including
the comment for VPCLoadBalancerBackendPoolProtocolUDP and the similar comment at
the other occurrence) and update them to read "udp" so the comment correctly
describes the protocol.
| ResourceTypeLoadBalancer = ResourceType("loadBalancer") | ||
| // ResourceTypeLoadBalancerPool is a Load Balancer Pool resource. | ||
| ResourceTypeLoadBalancerPool = ResourceType("loadBalancerPool") | ||
| // ResourceTypeVPC is Power VS network resource. |
There was a problem hiding this comment.
Fix comment errors.
Three issues:
- Line 144: "Power VS network resource" should be "VPC resource" (VPC is not PowerVS)
- Line 160: "Gatway" should be "Gateway"
- Line 206: "defiens" should be "defines"
🔧 Suggested fix
- // ResourceTypeVPC is Power VS network resource.
+ // ResourceTypeVPC is VPC resource.
ResourceTypeVPC = ResourceType("vpc")- // ResourceTypePublicGateway is a VPC Public Gatway.
+ // ResourceTypePublicGateway is a VPC Public Gateway.
ResourceTypePublicGateway = ResourceType("publicGateway")- // VPCSecurityGroupRuleProtocolIcmp defiens the Rule is for ICMP network protocol.
+ // VPCSecurityGroupRuleProtocolIcmp defines the Rule is for ICMP network protocol.
VPCSecurityGroupRuleProtocolIcmp VPCSecurityGroupRuleProtocol = vpcv1.NetworkACLRuleProtocolIcmpConstAlso applies to: 160-160, 206-206
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@api/vpc/v1beta2/types.go` at line 144, Update the comment typos in the VPC
types declarations: change the ResourceTypeVPC comment from "Power VS network
resource" to "VPC resource", fix "Gatway" to "Gateway" in the relevant VPC
gateway/comment, and correct "defiens" to "defines" where the word appears;
locate these by searching for the symbols/comments around ResourceTypeVPC and
any VPC Gateway-related type or comment and update the three misspelled words
accordingly.
Summary by CodeRabbit
New Features
Tests
Build & Configuration
Documentation
Deprecations