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>
ea32643 to
8b85e0b
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 4
♻️ Duplicate comments (16)
api/powervs/v1beta2/vpc.go (4)
24-25:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix malformed kubebuilder validation markers (
:=should be=).Lines 24, 25, and 32 use
MinLength:=andMaxLength:=syntax, which is invalid. Kubebuilder markers require=without the colon. These malformed markers are silently ignored by controller-gen, causing validation rules to be absent from the generated CRD.Suggested fix
- // +kubebuilder:validation:MinLength:=1 - // +kubebuilder:validation:MaxLength:=63 + // +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:MaxLength=64Also applies to: 32-32
🤖 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/vpc.go` around lines 24 - 25, The kubebuilder validation markers in vpc.go are malformed (they use `MinLength:=` and `MaxLength:=`) so controller-gen ignores them; edit the kubebuilder markers associated with the VPC fields (the lines containing `+kubebuilder:validation:MinLength:=` and `+kubebuilder:validation:MaxLength:=` — including the third occurrence referenced) and replace the `:=` with `=` so the annotations read `+kubebuilder:validation:MinLength=` and `+kubebuilder:validation:MaxLength=`; keep the same numeric values and ensure the corrected markers sit immediately above the corresponding struct field tags.
113-114:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix CEL validation marker: missing
+prefix and field name typo.Line 113 has two issues:
- Missing
+prefix—marker should start with+kubebuilder:notkubebuilder:- CEL expression uses
self.delybut the struct field isDelay(json:"delay")Without the
+prefix, controller-gen won't recognize this marker. The typo would cause the rule to fail at runtime.Suggested 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/v1beta2/vpc.go` around lines 113 - 114, Update the kubebuilder XValidation marker on VPCLoadBalancerHealthMonitorSpec to include the required '+' prefix and fix the field typo: change the marker from kubebuilder:validation:XValidation... to +kubebuilder:validation:XValidation... and correct the CEL expression to reference the json field name (self.delay) instead of self.dely so the rule reads self.delay > self.timeout; ensure this marker sits immediately above the VPCLoadBalancerHealthMonitorSpec type declaration.
46-46:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix double-plus kubebuilder marker (
++should be+).Line 46 uses
++kubebuilderinstead of+kubebuilder, which prevents controller-gen from recognizing the marker.Suggested fix
- // ++kubebuilder:validation:UniqueItems=true + // +kubebuilder:validation:UniqueItems=true AdditionalListeners []AdditionalListenerSpec `json:"additionalListeners,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/vpc.go` at line 46, The kubebuilder marker comment is mistyped as "++kubebuilder:validation:UniqueItems=true" which prevents controller-gen from recognizing it; locate the comment string (the kubebuilder marker for UniqueItems) in vpc.go (the line containing "++kubebuilder:validation:UniqueItems=true") and change the leading "++" to a single "+" so it reads "+kubebuilder:validation:UniqueItems=true" ensuring controller-gen will parse the marker correctly.
68-69:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winFix additional malformed kubebuilder markers.
Lines 68, 69, 93, and 94 also use the invalid
:=syntax. Apply the same fix as the Name/ID fields.Suggested fix
// defaultPoolName defines the name of a VPC Load Balancer Backend Pool to use for the VPC Load Balancer Listener. - // +kubebuilder:validation:MinLength:=1 - // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional DefaultPoolName *string `json:"defaultPoolName,omitempty"` ... // name defines the name of the Backend Pool. - // +kubebuilder:validation:MinLength:=1 - // +kubebuilder:validation:MaxLength:=63 + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=63Also applies to: 93-94
🤖 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/vpc.go` around lines 68 - 69, Replace the malformed kubebuilder markers that use ":=" with the correct "=" syntax for the MinLength and MaxLength tags; update the validation marker comments on the VPC spec fields (the same pattern used previously for Name/ID) so they read "// +kubebuilder:validation:MinLength=1" and "// +kubebuilder:validation:MaxLength=63" for the affected fields in vpc.go (the tags around the VPCSpec fields / the specific validation comments at the locations referenced).api/vpc/v1beta1/types.go (1)
49-53:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd
omitemptyto Subnet pointer fields for consistency with v1beta2.The four pointer fields serialize nil as JSON
nullinstead of being omitted. The v1beta2 Subnet struct includesomitemptyon all corresponding fields for proper optional field handling.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 - 53, The Subnet pointer fields (Ipv4CidrBlock, Name, ID, Zone) are currently serializing nil as JSON null; update their struct tag JSON annotations to include omitempty so nil pointers are omitted (e.g., change `json:"cidr"` to `json:"cidr,omitempty"` for Ipv4CidrBlock and similarly add `omitempty` to Name, ID, and Zone) to match v1beta2 behavior..github/ISSUE_TEMPLATE/add_new_machine_image.md (3)
30-30:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winMake this task a real checklist item.
Line 30 is missing
- [ ], so it won’t be trackable in the issue UI.🤖 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/ISSUE_TEMPLATE/add_new_machine_image.md at line 30, Convert the plain text "Test the image with [cluster-template-powervs-create-infra.yaml](...)" into a checklist item by prepending "- [ ] " so it becomes a trackable checkbox; locate the line containing that exact sentence in the add_new_machine_image.md template and update it to start with "- [ ] " (preserving the link and text) so the issue UI will render it as an unchecked task.
20-21:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse branch-based links instead of pinned commit SHA.
These URLs will stale over time; switch them to
blob/main/...so the template stays evergreen.🤖 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/ISSUE_TEMPLATE/add_new_machine_image.md around lines 20 - 21, The links in the checklist point to files using a pinned commit SHA which will go stale; update the two URLs (the E2E config link referencing test/e2e/config/ibmcloud-e2e-powervs.yaml and the E2E script link referencing scripts/ci-e2e.sh) to use branch-based links (replace the commit SHA segment with blob/main/...) so they remain evergreen. Ensure both occurrences in the checklist are changed to the blob/main path format.
28-28:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix heading typo.
Line 28 still says
infrastruction; change it toinfrastructure.🤖 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/ISSUE_TEMPLATE/add_new_machine_image.md at line 28, Fix the heading typo in the section titled "PowerVS image with DHCP support for cluster deployment with infrastruction creation" by replacing the misspelled word "infrastruction" with "infrastructure" so the heading reads "PowerVS image with DHCP support for cluster deployment with infrastructure creation".api/powervs/v1beta3/ibmpowervscluster_types.go (2)
411-414:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winGuard pointer dereference in
ResourceReference.Set.Line 413 can panic when
rf.ControllerCreatedis 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/v1beta3/ibmpowervscluster_types.go` around lines 411 - 414, The Set method for ResourceReference dereferences rf.ControllerCreated without checking for nil, which can panic; update ResourceReference.Set so it first checks rf.ControllerCreated for nil before using *rf.ControllerCreated and also guard resource.ControllerCreated when assigning: e.g., if rf.ControllerCreated == nil { rf.ControllerCreated = resource.ControllerCreated } else if resource.ControllerCreated != nil && !*rf.ControllerCreated { rf.ControllerCreated = resource.ControllerCreated }; modify the logic inside the ResourceReference.Set function (referencing rf.ControllerCreated and resource.ControllerCreated) accordingly to avoid nil pointer dereference.
278-286:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix malformed kubebuilder validation markers.
Several markers use
:=(invalid syntax for these directives), so validations may not be generated/applied as intended.Proposed fix
-// +kubebuilder:validation:MaxLength:=64 +// +kubebuilder:validation:MaxLength=64 ... -// +kubebuilder:validation:MaxLength:=63 +// +kubebuilder:validation:MaxLength=63 ... -// +kubebuilder:validation:MinLength:=3 -// +kubebuilder:validation:MaxLength:=63 +// +kubebuilder:validation:MinLength=3 +// +kubebuilder:validation:MaxLength=63Also applies to: 300-300, 318-319
🤖 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 278 - 286, The kubebuilder markers for MaxLength are malformed (they use ":="); update the annotations so they use "=" instead. Specifically, for the ID field (ID *string `json:"id,omitempty"`) change "+kubebuilder:validation:MaxLength:=64" to "+kubebuilder:validation:MaxLength=64", and for the name field (the "name of resource." block) change "+kubebuilder:validation:MaxLength:=63" to "+kubebuilder:validation:MaxLength=63"; apply the same replacement for the other occurrences mentioned (the markers at the other two locations).api/powervs/v1beta2/ibmpowervsimage_types.go (1)
40-43:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMake deprecated
serviceInstanceIDoptional.
ServiceInstanceIDis deprecated but still required in schema shape, which conflicts with the new optionalserviceInstancepath.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 - 43, ServiceInstanceID is deprecated but still required in the CRD; mark it optional by adding the kubebuilder optional marker and omitting it from JSON when absent: add the comment marker "// +optional" immediately above the ServiceInstanceID field in ibmpowervsimage_types.go and change its struct tag to `json:"serviceInstanceID,omitempty"` so the schema treats it as optional (optionally convert the type to *string if you need to distinguish unset vs empty).api/powervs/v1beta3/vpc.go (1)
24-26:⚠️ Potential issue | 🟠 Major | ⚡ Quick winCorrect malformed validation markers so CRD validation actually applies.
There are several invalid marker forms (
:=,++kubebuilder, missing+) plus a typo in the XValidation rule (self.dely), which can prevent these constraints from taking effect.Proposed fix
-// +kubebuilder:validation:MinLength:=1 -// +kubebuilder:validation:MaxLength:=63 +// +kubebuilder:validation:MinLength=1 +// +kubebuilder:validation:MaxLength=63 ... -// +kubebuilder:validation:MaxLength:=64 +// +kubebuilder:validation:MaxLength=64 ... -// ++kubebuilder:validation:UniqueItems=true +// +kubebuilder:validation:UniqueItems=true ... -// 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"Also applies to: 32-33, 46-46, 68-70, 92-94, 112-113
🤖 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 - 26, Fix the malformed kubebuilder markers by ensuring each validation comment starts with a single plus and uses '=' rather than ':=' (e.g. change "// +kubebuilder:validation:MinLength:=1" to "// +kubebuilder:validation:MinLength=1", same for MaxLength and Pattern) and correct the XValidation typo (`self.dely`) to the intended field name (`self.delay`) so CRD validation applies; apply the same fixes to the other occurrences noted (the marker groups around lines 32-33, 46, 68-70, 92-94, 112-113) so all "+kubebuilder:validation:..." markers and the XValidation rule use the proper '+' prefix, '=' assignment form, and correct field reference.api/powervs/v1beta3/ibmpowervsmachine_types.go (2)
224-224:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove trailing whitespace from the Ready printcolumn JSONPath.
The JSONPath contains a trailing tab (
.status.initialization.provisioned\t), which can make the printcolumn invalid.Proposed fix
-// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.initialization.provisioned ",description="Cluster infrastructure is ready for IBM PowerVS instances" +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.initialization.provisioned",description="Cluster infrastructure is ready for IBM PowerVS instances"🤖 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, The Ready printcolumn annotation on the ibmpowervsmachine type has a trailing tab character in the JSONPath (".status.initialization.provisioned\t"); update the kubebuilder:printcolumn line to remove any trailing whitespace or control characters so the JSONPath is exactly ".status.initialization.provisioned" (locate the annotation line with name="Ready" in ibmpowervsmachine_types.go and edit the JSONPath value accordingly).
78-90:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix invalid kubebuilder enum marker syntax (
:=→=).
+kubebuilder:validation:Enum:=...is not valid marker syntax; this can prevent enum validation from being generated.Proposed fix
- // +kubebuilder:validation:Enum:="s922";"e980";"s1022";"e1050";"e1080";"" + // +kubebuilder:validation:Enum="s922";"e980";"s1022";"e1050";"e1080";"" @@ - // +kubebuilder:validation:Enum:="Dedicated";"Shared";"Capped";"" + // +kubebuilder:validation:Enum="Dedicated";"Shared";"Capped";""#!/bin/bash # Verify invalid Enum marker syntax still exists. rg -n 'kubebuilder:validation:Enum:=' api/powervs/v1beta3/ibmpowervsmachine_types.go🤖 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 78 - 90, The kubebuilder enum markers for SystemType and processorType use invalid ':=' syntax; update the marker lines above the SystemType field and the processorType comment to use '=' instead (change '+kubebuilder:validation:Enum:="s922";..."' to '+kubebuilder:validation:Enum="s922";...' and similarly for '+kubebuilder:validation:Enum:="Dedicated";..."' to '+kubebuilder:validation:Enum="Dedicated";...') so that code generation will produce proper enum validation for the SystemType and processorType fields.api/powervs/v1beta3/conditions_consts.go (1)
226-227:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRename the exported identifier to match reason semantics.
VPCSecurityGroupNotReadyConditionis bound toclusterv1.NotReadyReason, so the name is semantically incorrect for public API consumers. Rename it toVPCSecurityGroupNotReadyReasonand update references.Proposed fix
- // VPCSecurityGroupNotReadyCondition surfaces when VPC security group is not ready. - VPCSecurityGroupNotReadyCondition = clusterv1.NotReadyReason + // VPCSecurityGroupNotReadyReason surfaces when VPC security group is not ready. + VPCSecurityGroupNotReadyReason = clusterv1.NotReadyReason🤖 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 identifier VPCSecurityGroupNotReadyCondition is misnamed for a reason constant; rename it to VPCSecurityGroupNotReadyReason (bound to clusterv1.NotReadyReason) and update all usages and imports that reference VPCSecurityGroupNotReadyCondition to the new name (e.g., any comparisons, assignments, or documentation). Ensure the declaration changing VPCSecurityGroupNotReadyCondition = clusterv1.NotReadyReason is replaced with VPCSecurityGroupNotReadyReason = clusterv1.NotReadyReason and run tests/linters to catch remaining references.api/powervs/v1beta3/types.go (1)
547-566:⚠️ Potential issue | 🟠 Major | ⚡ Quick winEnforce the documented one-of contract for
id/name/regex.The type comment states only one selector may be set, but schema validation does not enforce it. Add an
XValidationrule to prevent ambiguous references.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, Add a kubebuilder XValidation marker to IBMPowerVSResourceReference to enforce the one-of constraint for ID, Name and RegEx; specifically, add a +kubebuilder:validation:XValidation marker above the type with a rule that validates exactly one of the three fields is set (e.g. a logical OR of the three mutually exclusive cases: only ID set OR only Name set OR only RegEx set) and a helpful message, referencing the struct IBMPowerVSResourceReference and the fields ID, Name and RegEx so the generated CRD will reject ambiguous references.
🧹 Nitpick comments (1)
api/vpc/v1beta2/conditions_consts.go (1)
223-226: 💤 Low valueIncorrect condition names in comment.
The comment references "FailureDomainsReady, VCenterAvailable and ClusterModulesReady" which appear to be vSphere-specific condition names, likely copy-pasted from another provider. Consider updating to reflect the actual IBM PowerVS cluster readiness criteria.
🤖 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/conditions_consts.go` around lines 223 - 226, Update the comment for IBMPowerVSClusterReadyV1Beta2Condition to remove the vSphere-specific condition names and describe the actual IBM PowerVS cluster readiness criteria; locate the constant IBMPowerVSClusterReadyV1Beta2Condition and replace the current line mentioning "FailureDomainsReady, VCenterAvailable and ClusterModulesReady" with a concise description that matches the IBM PowerVS conditions (e.g., deletionTimestamp not set and the IBM PowerVS-specific subconditions such as control plane, networking, and any provider-specific readiness flags used in this codebase).
🤖 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 @.github/workflows/weekly-security-scan.yaml:
- Around line 20-23: The checkout step named "Check out code" is leaving
credentials persisted; update the actions/checkout@... step (the "uses:
actions/checkout" invocation) to include with: persist-credentials: false so the
runner does not keep GITHUB_TOKEN credentials during this security-scan
workflow; keep the existing ref: ${{ matrix.branch }} and add the
persist-credentials: false key alongside it.
In `@api/powervs/v1beta2/ibmpowervscluster_types.go`:
- Around line 284-286: Fix the malformed kubebuilder tags by replacing every
occurrence of "+kubebuilder:validation:MaxLength:=<n>" with the correct
"+kubebuilder:validation:MaxLength=<n>" in ibmpowervscluster_types.go (i.e.,
remove the stray colon before '=' in the MaxLength markers), update the three
broken annotations that currently read "+kubebuilder:validation:MaxLength:=" so
they match the other kubebuilder markers, and re-generate/validate the CRD
(controller-gen) to confirm the MaxLength validations are now applied.
In `@api/powervs/v1beta3/ibmpowervsmachine_types.go`:
- Around line 65-70: Add a kubebuilder XValidation rule to enforce mutual
exclusivity between the Image and ImageRef fields (so specs cannot set both).
Insert a marker (for example above the containing struct or immediately above
the ImageRef field) using
+kubebuilder:validation:XValidation:rule="!((has(self.image) &&
has(self.imageRef)))",message="image and imageRef are mutually exclusive"
referencing the Image (type IBMPowerVSResourceReference) and ImageRef (type
ImageReference) symbols so the CRD rejects objects that set both.
In `@api/powervs/v1beta3/types.go`:
- Around line 482-488: The kubebuilder validation markers for MaxLength in
types.go are using the invalid ':=' syntax; update the annotations for the Name
field and the id comment to use '=' (e.g., change
"+kubebuilder:validation:MaxLength:=63" to
"+kubebuilder:validation:MaxLength=63" and
"+kubebuilder:validation:MaxLength:=64" to
"+kubebuilder:validation:MaxLength=64") so controller-gen will apply the
constraints; search for the markers near the Name *string
`json:"name,omitempty"` declaration and the id comment for the subnet to make
the edits.
---
Duplicate comments:
In @.github/ISSUE_TEMPLATE/add_new_machine_image.md:
- Line 30: Convert the plain text "Test the image with
[cluster-template-powervs-create-infra.yaml](...)" into a checklist item by
prepending "- [ ] " so it becomes a trackable checkbox; locate the line
containing that exact sentence in the add_new_machine_image.md template and
update it to start with "- [ ] " (preserving the link and text) so the issue UI
will render it as an unchecked task.
- Around line 20-21: The links in the checklist point to files using a pinned
commit SHA which will go stale; update the two URLs (the E2E config link
referencing test/e2e/config/ibmcloud-e2e-powervs.yaml and the E2E script link
referencing scripts/ci-e2e.sh) to use branch-based links (replace the commit SHA
segment with blob/main/...) so they remain evergreen. Ensure both occurrences in
the checklist are changed to the blob/main path format.
- Line 28: Fix the heading typo in the section titled "PowerVS image with DHCP
support for cluster deployment with infrastruction creation" by replacing the
misspelled word "infrastruction" with "infrastructure" so the heading reads
"PowerVS image with DHCP support for cluster deployment with infrastructure
creation".
In `@api/powervs/v1beta2/ibmpowervsimage_types.go`:
- Around line 40-43: ServiceInstanceID is deprecated but still required in the
CRD; mark it optional by adding the kubebuilder optional marker and omitting it
from JSON when absent: add the comment marker "// +optional" immediately above
the ServiceInstanceID field in ibmpowervsimage_types.go and change its struct
tag to `json:"serviceInstanceID,omitempty"` so the schema treats it as optional
(optionally convert the type to *string if you need to distinguish unset vs
empty).
In `@api/powervs/v1beta2/vpc.go`:
- Around line 24-25: The kubebuilder validation markers in vpc.go are malformed
(they use `MinLength:=` and `MaxLength:=`) so controller-gen ignores them; edit
the kubebuilder markers associated with the VPC fields (the lines containing
`+kubebuilder:validation:MinLength:=` and `+kubebuilder:validation:MaxLength:=`
— including the third occurrence referenced) and replace the `:=` with `=` so
the annotations read `+kubebuilder:validation:MinLength=` and
`+kubebuilder:validation:MaxLength=`; keep the same numeric values and ensure
the corrected markers sit immediately above the corresponding struct field tags.
- Around line 113-114: Update the kubebuilder XValidation marker on
VPCLoadBalancerHealthMonitorSpec to include the required '+' prefix and fix the
field typo: change the marker from kubebuilder:validation:XValidation... to
+kubebuilder:validation:XValidation... and correct the CEL expression to
reference the json field name (self.delay) instead of self.dely so the rule
reads self.delay > self.timeout; ensure this marker sits immediately above the
VPCLoadBalancerHealthMonitorSpec type declaration.
- Line 46: The kubebuilder marker comment is mistyped as
"++kubebuilder:validation:UniqueItems=true" which prevents controller-gen from
recognizing it; locate the comment string (the kubebuilder marker for
UniqueItems) in vpc.go (the line containing
"++kubebuilder:validation:UniqueItems=true") and change the leading "++" to a
single "+" so it reads "+kubebuilder:validation:UniqueItems=true" ensuring
controller-gen will parse the marker correctly.
- Around line 68-69: Replace the malformed kubebuilder markers that use ":="
with the correct "=" syntax for the MinLength and MaxLength tags; update the
validation marker comments on the VPC spec fields (the same pattern used
previously for Name/ID) so they read "// +kubebuilder:validation:MinLength=1"
and "// +kubebuilder:validation:MaxLength=63" for the affected fields in vpc.go
(the tags around the VPCSpec fields / the specific validation comments at the
locations referenced).
In `@api/powervs/v1beta3/conditions_consts.go`:
- Around line 226-227: The exported identifier VPCSecurityGroupNotReadyCondition
is misnamed for a reason constant; rename it to VPCSecurityGroupNotReadyReason
(bound to clusterv1.NotReadyReason) and update all usages and imports that
reference VPCSecurityGroupNotReadyCondition to the new name (e.g., any
comparisons, assignments, or documentation). Ensure the declaration changing
VPCSecurityGroupNotReadyCondition = clusterv1.NotReadyReason is replaced with
VPCSecurityGroupNotReadyReason = clusterv1.NotReadyReason and run tests/linters
to catch remaining references.
In `@api/powervs/v1beta3/ibmpowervscluster_types.go`:
- Around line 411-414: The Set method for ResourceReference dereferences
rf.ControllerCreated without checking for nil, which can panic; update
ResourceReference.Set so it first checks rf.ControllerCreated for nil before
using *rf.ControllerCreated and also guard resource.ControllerCreated when
assigning: e.g., if rf.ControllerCreated == nil { rf.ControllerCreated =
resource.ControllerCreated } else if resource.ControllerCreated != nil &&
!*rf.ControllerCreated { rf.ControllerCreated = resource.ControllerCreated };
modify the logic inside the ResourceReference.Set function (referencing
rf.ControllerCreated and resource.ControllerCreated) accordingly to avoid nil
pointer dereference.
- Around line 278-286: The kubebuilder markers for MaxLength are malformed (they
use ":="); update the annotations so they use "=" instead. Specifically, for the
ID field (ID *string `json:"id,omitempty"`) change
"+kubebuilder:validation:MaxLength:=64" to
"+kubebuilder:validation:MaxLength=64", and for the name field (the "name of
resource." block) change "+kubebuilder:validation:MaxLength:=63" to
"+kubebuilder:validation:MaxLength=63"; apply the same replacement for the other
occurrences mentioned (the markers at the other two locations).
In `@api/powervs/v1beta3/ibmpowervsmachine_types.go`:
- Line 224: The Ready printcolumn annotation on the ibmpowervsmachine type has a
trailing tab character in the JSONPath (".status.initialization.provisioned\t");
update the kubebuilder:printcolumn line to remove any trailing whitespace or
control characters so the JSONPath is exactly
".status.initialization.provisioned" (locate the annotation line with
name="Ready" in ibmpowervsmachine_types.go and edit the JSONPath value
accordingly).
- Around line 78-90: The kubebuilder enum markers for SystemType and
processorType use invalid ':=' syntax; update the marker lines above the
SystemType field and the processorType comment to use '=' instead (change
'+kubebuilder:validation:Enum:="s922";..."' to
'+kubebuilder:validation:Enum="s922";...' and similarly for
'+kubebuilder:validation:Enum:="Dedicated";..."' to
'+kubebuilder:validation:Enum="Dedicated";...') so that code generation will
produce proper enum validation for the SystemType and processorType fields.
In `@api/powervs/v1beta3/types.go`:
- Around line 547-566: Add a kubebuilder XValidation marker to
IBMPowerVSResourceReference to enforce the one-of constraint for ID, Name and
RegEx; specifically, add a +kubebuilder:validation:XValidation marker above the
type with a rule that validates exactly one of the three fields is set (e.g. a
logical OR of the three mutually exclusive cases: only ID set OR only Name set
OR only RegEx set) and a helpful message, referencing the struct
IBMPowerVSResourceReference and the fields ID, Name and RegEx so the generated
CRD will reject ambiguous references.
In `@api/powervs/v1beta3/vpc.go`:
- Around line 24-26: Fix the malformed kubebuilder markers by ensuring each
validation comment starts with a single plus and uses '=' rather than ':=' (e.g.
change "// +kubebuilder:validation:MinLength:=1" to "//
+kubebuilder:validation:MinLength=1", same for MaxLength and Pattern) and
correct the XValidation typo (`self.dely`) to the intended field name
(`self.delay`) so CRD validation applies; apply the same fixes to the other
occurrences noted (the marker groups around lines 32-33, 46, 68-70, 92-94,
112-113) so all "+kubebuilder:validation:..." markers and the XValidation rule
use the proper '+' prefix, '=' assignment form, and correct field reference.
In `@api/vpc/v1beta1/types.go`:
- Around line 49-53: The Subnet pointer fields (Ipv4CidrBlock, Name, ID, Zone)
are currently serializing nil as JSON null; update their struct tag JSON
annotations to include omitempty so nil pointers are omitted (e.g., change
`json:"cidr"` to `json:"cidr,omitempty"` for Ipv4CidrBlock and similarly add
`omitempty` to Name, ID, and Zone) to match v1beta2 behavior.
---
Nitpick comments:
In `@api/vpc/v1beta2/conditions_consts.go`:
- Around line 223-226: Update the comment for
IBMPowerVSClusterReadyV1Beta2Condition to remove the vSphere-specific condition
names and describe the actual IBM PowerVS cluster readiness criteria; locate the
constant IBMPowerVSClusterReadyV1Beta2Condition and replace the current line
mentioning "FailureDomainsReady, VCenterAvailable and ClusterModulesReady" with
a concise description that matches the IBM PowerVS conditions (e.g.,
deletionTimestamp not set and the IBM PowerVS-specific subconditions such as
control plane, networking, and any provider-specific readiness flags used in
this codebase).
🪄 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: 1f6a2f73-8332-462d-a2ba-e1284838d227
⛔ Files ignored due to path filters (156)
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/**hack/tools/vendor/cloud.google.com/go/monitoring/apiv3/v2/auxiliary_go123.gois excluded by!**/vendor/**
📒 Files selected for processing (144)
.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/v1beta2/doc.go
- api/v1beta2/ibmpowervsmachinetemplate_types.go
- api/v1beta2/conversion.go
- api/v1beta1/ibmpowervsimage_types.go
- api/v1beta2/ibmpowervsmachine_types.go
- api/v1beta1/doc.go
- api/v1beta1/types.go
- api/v1beta1/ibmpowervsmachinetemplate_types.go
- api/v1beta1/ibmpowervsmachine_types.go
- api/v1beta2/ibmpowervscluster_types.go
- api/v1beta2/ibmpowervsimage_types.go
- api/v1beta2/ibmpowervsclustertemplate_types.go
- api/v1beta1/ibmpowervscluster_types.go
- api/v1beta2/types.go
- api/v1beta1/ibmpowervs_conversion.go
- api/v1beta1/ibmpowervsclustertemplate_types.go
✅ Files skipped from review due to trivial changes (7)
- api/powervs/v1beta3/conversion.go
- api/powervs/v1beta2/doc.go
- api/powervs/v1beta3/doc.go
- api/vpc/v1beta2/doc.go
- api/vpc/v1beta1/ibmvpc_conversion.go
- api/vpc/v1beta1/doc.go
- .golangci-kal.yml
| - name: Check out code | ||
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag=v5.0.0 | ||
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2 | ||
| with: | ||
| ref: ${{ matrix.branch }} |
There was a problem hiding this comment.
Disable persisted checkout credentials in the workflow.
actions/checkout keeps credentials by default. For a security-scan workflow, set persist-credentials: false to reduce token exposure risk.
Proposed fix
- name: Check out code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2
with:
ref: ${{ matrix.branch }}
+ persist-credentials: false🧰 Tools
🪛 zizmor (1.25.2)
[warning] 20-23: credential persistence through GitHub Actions artifacts (artipacked): does not set persist-credentials: false
(artipacked)
🤖 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
checkout step named "Check out code" is leaving credentials persisted; update
the actions/checkout@... step (the "uses: actions/checkout" invocation) to
include with: persist-credentials: false so the runner does not keep
GITHUB_TOKEN credentials during this security-scan workflow; keep the existing
ref: ${{ matrix.branch }} and add the persist-credentials: false key alongside
it.
| // +kubebuilder:validation:MinLength=1 | ||
| // +kubebuilder:validation:MaxLength:=63 | ||
| // +kubebuilder:validation:Pattern=`^([a-zA-Z]|[a-zA-Z][-_a-zA-Z0-9]*[a-zA-Z0-9])$` |
There was a problem hiding this comment.
Fix malformed kubebuilder MaxLength markers.
Lines 285, 305, and 312 use +kubebuilder:validation:MaxLength:=... which is invalid syntax. The correct syntax is +kubebuilder:validation:MaxLength=... (without the colon before =). This will cause the validation to be silently ignored during CRD generation.
🔧 Suggested fix
// +kubebuilder:validation:MinLength=1
- // +kubebuilder:validation:MaxLength:=63
+ // +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^([a-zA-Z]|[a-zA-Z][-_a-zA-Z0-9]*[a-zA-Z0-9])$`
// +optional
Name *string `json:"name,omitempty"`
...
// +kubebuilder:validation:MinLength=1
- // +kubebuilder:validation:MaxLength:=64
+ // +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$`
// +optional
ID *string `json:"id,omitempty"`
...
// +kubebuilder:validation:MinLength=1
- // +kubebuilder:validation:MaxLength:=63
+ // +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$`
// +optional
Name *string `json:"name,omitempty"`Also applies to: 304-306, 311-313
🤖 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 - 286, Fix
the malformed kubebuilder tags by replacing every occurrence of
"+kubebuilder:validation:MaxLength:=<n>" with the correct
"+kubebuilder:validation:MaxLength=<n>" in ibmpowervscluster_types.go (i.e.,
remove the stray colon before '=' in the MaxLength markers), update the three
broken annotations that currently read "+kubebuilder:validation:MaxLength:=" so
they match the other kubebuilder markers, and re-generate/validate the CRD
(controller-gen) to confirm the MaxLength validations are now applied.
| Image *IBMPowerVSResourceReference `json:"image,omitempty"` | ||
|
|
||
| // imageRef is a reference to a IBMPowerVSImage resource, which will be imported from IBM COS Bucket to PowerVS workspace. | ||
| // This is an alternative to the image field. | ||
| // +optional | ||
| ImageRef ImageReference `json:"imageRef,omitempty,omitzero"` |
There was a problem hiding this comment.
Enforce mutual exclusivity between image and imageRef.
The comments define imageRef as an alternative to image, 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, Add a
kubebuilder XValidation rule to enforce mutual exclusivity between the Image and
ImageRef fields (so specs cannot set both). Insert a marker (for example above
the containing struct or immediately above the ImageRef field) using
+kubebuilder:validation:XValidation:rule="!((has(self.image) &&
has(self.imageRef)))",message="image and imageRef are mutually exclusive"
referencing the Image (type IBMPowerVSResourceReference) and ImageRef (type
ImageReference) symbols so the CRD rejects objects that set both.
| // +kubebuilder:validation:MaxLength:=63 | ||
| // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` | ||
| Name *string `json:"name,omitempty"` | ||
| // id is the ID of the subnet. | ||
| // +kubebuilder:validation:MinLength=1 | ||
| // +kubebuilder:validation:MaxLength:=64 | ||
| // +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$` |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify invalid MaxLength marker syntax occurrences.
rg -n 'kubebuilder:validation:MaxLength:=' api/powervs/v1beta3/types.goRepository: openshift/cluster-api-provider-ibmcloud
Length of output: 175
🌐 Web query:
Kubebuilder validation marker MaxLength syntax +kubebuilder:validation:MaxLength= (and whether := is invalid)
💡 Result:
The correct syntax for the Kubebuilder MaxLength validation marker is: // +kubebuilder:validation:MaxLength=N where N is an integer [1][2]. The marker uses an equals sign (=) to assign the value [2]. Regarding the use of:=, this syntax is invalid for Kubebuilder markers [3][4]. Kubebuilder and controller-gen markers follow specific parsing rules where anonymous markers use the = sign to take a single value [3][4]. The:= operator is a Go short variable declaration syntax and is not recognized within these comment-based markers [3][4]. Using:= will likely result in the marker being ignored or failing to parse correctly, as it does not conform to the expected format for marker-specific configuration [3].
Citations:
- 1: https://book.kubebuilder.io/reference/markers/crd-validation.html
- 2: https://github.com/kubernetes-sigs/controller-tools/blob/master/pkg/crd/markers/validation.go
- 3: https://github.com/kubernetes-sigs/kubebuilder/blob/master/docs/book/src/reference/markers.md
- 4: https://github.com/kubernetes-sigs/kubebuilder/blob/fd63e2b6/docs/book/src/reference/markers.md
Fix kubebuilder MaxLength marker syntax (:= -> =).
+kubebuilder:validation:MaxLength:=... is not valid marker syntax; it should be +kubebuilder:validation:MaxLength=... so controller-gen applies the constraint instead of ignoring it.
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 in types.go are using the invalid ':=' syntax;
update the annotations for the Name field and the id comment to use '=' (e.g.,
change "+kubebuilder:validation:MaxLength:=63" to
"+kubebuilder:validation:MaxLength=63" and
"+kubebuilder:validation:MaxLength:=64" to
"+kubebuilder:validation:MaxLength=64") so controller-gen will apply the
constraints; search for the markers near the Name *string
`json:"name,omitempty"` declaration and the id comment for the subnet to make
the edits.
Summary by CodeRabbit
New Features
Build & Configuration
Documentation
Deprecations