Skip to content

Conversation

@arturshadnik
Copy link
Member

@arturshadnik arturshadnik commented Sep 17, 2025

Summary by CodeRabbit

  • New Features
    • Upgraded to Kubernetes 1.34 APIs, adding Dynamic Resource Allocation (resource.k8s.io/v1): ResourceClaim, DeviceClass, ResourceSlice.
    • Added Pod certificate projection, env-file key support for env vars, and per-container restart rules.
    • Introduced MutatingAdmissionPolicy (v1beta1) for CEL-based mutations.
    • NetworkPolicy podSelector is now optional (defaults to all pods).
  • Removals
    • Dropped networking.k8s.io/v1alpha1 IPAddress and ServiceCIDR types.
  • Documentation
    • Numerous doc and Swagger description updates and clarifications across APIs.
  • Chores
    • Bumped controller image to v0.0.14 and updated dependencies (Kubernetes modules and vendors).

Signed-off-by: Artur Shad Nik <arturshadnik@gmail.com>
@coderabbitai
Copy link

coderabbitai bot commented Sep 17, 2025

Walkthrough

Helm chart image tag bumped to v0.0.14. CRD schema text and pod affinity scoring description adjusted. go.mod upgraded Kubernetes stack to v0.34.1 with vendor refresh. Vendor updates include fxamacker/cbor feature additions, gnostic-models YAML import changes, new go-difflib. Large vendored Kubernetes API updates (new/removed APIs, annotations, docs, and generated code).

Changes

Cohort / File(s) Summary of changes
Helm chart version bump
fleetconfig-controller/charts/fleetconfig-controller/README.md, .../values.yaml
Updated image.tag from v0.0.13 to v0.0.14.
CRD schema text updates
fleetconfig-controller/charts/fleetconfig-controller/crds/fleetconfig.open-cluster-management.io_fleetconfigs.yaml
Pod affinity weight description inverted (add → subtract). Tweaked DynamicResourceAllocation wording.
Dependencies: Kubernetes 0.34.1
fleetconfig-controller/go.mod
Upgraded k8s.io modules to v0.34.1; numerous indirect bumps; added go-difflib; structured-merge-diff v6.
Vendor: fxamacker/cbor v2 updates
vendor/github.com/fxamacker/cbor/v2/*
Added Transcoder interface; new encode/decode options for TextMarshaler/TextUnmarshaler and JSON (transcoding); TranscodeError; minor API additions; doc updates.
Vendor: gnostic-models YAML import changes & doc tweaks
vendor/github.com/google/gnostic-models/*
Switched YAML import to go.yaml.in/yaml/v3; simplified error strings; doc-only changes.
Vendor: go-difflib addition
vendor/github.com/pmezard/go-difflib/**/*
Added difflib package (SequenceMatcher, Unified/Context diffs) and LICENSE.
K8s API: admissionregistration/v1beta1
vendor/k8s.io/api/admissionregistration/v1beta1/*
Added MutatingAdmissionPolicy types, protobufs, registration, swagger, deepcopy, lifecycle methods.
K8s API: apps
vendor/k8s.io/api/apps/v1/*, .../v1beta1/*, .../v1beta2/*
Comment and swagger description updates; added default/min annotations for ScaleSpec.Replicas; typo fixes.
K8s API: authorization/v1
vendor/k8s.io/api/authorization/v1/*
Removed alpha-gate text from Field/Label selector docs and swagger; no type changes.
K8s API: autoscaling/v1
vendor/k8s.io/api/autoscaling/v1/*
Added subresource marker and replicas annotations (optional/default/min).
K8s API: batch/v1
vendor/k8s.io/api/batch/v1/*
Doc updates for backoffLimit defaults, condition name fix, and podReplacementPolicy text.
K8s API: certificates/v1
vendor/k8s.io/api/certificates/v1/*
Added /status and /approval subresources; conditions list-map annotations; corresponding proto and docs.
K8s API: certificates/v1beta1
vendor/k8s.io/api/certificates/v1beta1/*
Same subresource and conditions annotations as v1; metadata-only.
K8s API: certificates/v1alpha1
vendor/k8s.io/api/certificates/v1alpha1/*
Introduced PodCertificateRequest types, registration, swagger, deepcopy, lifecycle.
K8s API: core/v1 (major additions)
vendor/k8s.io/api/core/v1/*
Added PodCertificateProjection, FileKeySelector, ContainerRestartRule(s), extended resource claim status, HostnameOverride; updated related types, swagger, deepcopy.
K8s API: extensions/v1beta1
vendor/k8s.io/api/extensions/v1beta1/*
Added validation-gen tags; Scale validations generated; replicas annotations; typo fix.
K8s API: networking/v1
vendor/k8s.io/api/networking/v1/*
NetworkPolicySpec.podSelector docs: optional with default empty selector; swagger updated.
K8s API: networking/v1alpha1 removal
vendor/k8s.io/api/networking/v1alpha1/*
Removed IPAddress and ServiceCIDR APIs and related swagger, deepcopy, lifecycle, proto.
K8s API: resource/v1 (new DRA API)
vendor/k8s.io/api/resource/v1/*
New group/version resource.k8s.io/v1 with DeviceClass, ResourceClaim, ResourceSlice, etc.; generated proto/swagger/deepcopy; devicetaint Stringer; registration updated.
K8s API: resource/v1alpha3 reshape
vendor/k8s.io/api/resource/v1alpha3/*
Reduced surface to taint rules; added DeviceTaint Stringer; removed prior claim/slice models; registration narrowed; swagger trimmed.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

Possibly related PRs

Suggested reviewers

  • TylerGillson
  • ahmad-ibra

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 68.75% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title is concise and accurately summarizes the primary change: upgrading Kubernetes-related packages to the 0.34 series. The provided diff and PR objectives show extensive k8s dependency/version bumps (go.mod and many vendored k8s packages), so the title reflects the main intent and scope. The "chore:" prefix is appropriate for dependency/version updates and is clear for repository history scanning.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Artur Shad Nik <arturshadnik@gmail.com>
@ahmad-ibra
Copy link
Member

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented Sep 17, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: arturshadnik, TylerGillson

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
fleetconfig-controller/vendor/k8s.io/api/core/v1/types.go (1)

3887-3892: Replace "subtract 'weight'" with "add 'weight'" in the PodAntiAffinity comment (match upstream v1.30+).
Upstream v1.30+ docs state PreferredDuringSchedulingIgnoredDuringExecution weights are summed/added to a node's score; update the comment accordingly.
Location: fleetconfig-controller/vendor/k8s.io/api/core/v1/types.go (lines 3887–3892)

🧹 Nitpick comments (15)
fleetconfig-controller/vendor/github.com/google/gnostic-models/compiler/helpers.go (1)

38-51: Minor docstring drift (“yamlv2.MapSlice”).

Comments still reference yamlv2.MapSlice while the code uses yaml.Node from yaml v3. Not blocking, but consider updating comments when regenerating upstream.

fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/decode.go (1)

1510-1517: JSONUnmarshaler path: LGTM, small comment typo

Behavior is correct when transcoder is nil (falls back). Fix tiny typo in comment.

-            // This special type implies that the type does not also implement
-            // cbor.Umarshaler.
+            // This special type implies that the type does not also implement
+            // cbor.Unmarshaler.
fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/README.md (2)

360-413: Silence markdownlint for vendored docs (tabs in code blocks).

markdownlint-cli2 is flagging MD010 (tabs) across code blocks in this vendor README. Don’t churn vendored upstream files—exclude vendor/** from markdownlint or disable MD010 in code fences.

Also applies to: 543-668


364-365: Wrap bare URLs to satisfy MD034.

If you decide not to ignore vendor/, minimally wrap the bare URLs in angle brackets to appease MD034.

Suggested diffs:

-https://go.dev/play/p/aWEIFxd7InX
+<https://go.dev/play/p/aWEIFxd7InX>
-https://go.dev/play/p/YxwvfPdFQG2
+<https://go.dev/play/p/YxwvfPdFQG2>

Also applies to: 416-417

fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/encode.go (2)

1829-1836: Rollback partial writes on Transcoder error.

If Transcode() fails, the tag bytes written just before it remain in the buffer (leaky partial state for MarshalToBuffer).

Apply:

-  if err := em.jsonMarshalerTranscoder.Transcode(e, bytes.NewReader(json)); err != nil {
-    return &TranscodeError{err: err, rtype: vt, sourceFormat: "json", targetFormat: "cbor"}
-  }
+  if err := em.jsonMarshalerTranscoder.Transcode(e, bytes.NewReader(json)); err != nil {
+    e.Truncate(offset)
+    return &TranscodeError{err: err, rtype: vt, sourceFormat: "json", targetFormat: "cbor"}
+  }

329-333: Typo: IEEE 754 (not 764).

Apply:

-// the 64-bit floating point value. I.e., the floating point encoding can be IEEE 764:
+// the 64-bit floating point value. I.e., the floating point encoding can be IEEE 754:
fleetconfig-controller/vendor/k8s.io/api/certificates/v1beta1/types.go (1)

180-185: CSRStatus.conditions list-as-map hints.

If any controller logic assumes duplicate condition types, update to treat conditions as a map keyed by type.

fleetconfig-controller/go.mod (1)

17-17: Align kubectl require with 0.34.x to match the rest.

You’re replacing kubectl to v0.34.1 below; bump the require for clarity and fewer surprises during tooling.

-	k8s.io/kubectl v0.33.3
+	k8s.io/kubectl v0.34.1
fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go (1)

483-486: Docstring nit: duplicated word “during”.

Minor typo (“during during”) in generated docs; no runtime impact. Leave as-is since it’s vendor/generated.

fleetconfig-controller/vendor/k8s.io/api/core/v1/generated.proto (1)

789-804: New ContainerRestartRules API added — feature-gated usage.

  • New message types and fields enable per‑container exit‑code–based restarts. Ephemeral containers cannot set these.
  • If your controllers or webhooks surface restart policy, ensure they either pass through or ignore these fields until you explicitly support the feature gate.

If you want, I can add unit tests and JSON round‑trip fixtures to ensure these fields are preserved by your admission paths.

Also applies to: 1589-1596, 974-1006

fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/types.go (1)

201-207: Minor typos in comments (“satified”, “matches”) — upstream only.

No code impact, but consider upstream PR/issue.

Would you like me to open an upstream issue noting the typos?

fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/types.go (1)

391-397: Nit: minor spelling issues in comments (“paramerized”, “this is differs”).

No functional impact; consider upstream doc fix.

I can prep an upstream doc-only PR if useful.

Also applies to: 1469-1476, 1523-1524

fleetconfig-controller/vendor/k8s.io/api/core/v1/types.go (1)

8057-8066: Duplicate sentence in DownwardAPIVolumeSource comment.

Tiny docs nit: the “Optional: mode bits …” sentence appears twice. Nothing functionally wrong; just calling it out since it’s vendored text.

fleetconfig-controller/vendor/k8s.io/api/resource/v1/types_swagger_doc_generated.go (1)

331-338: Minor typo in generated docs ("adedd" → "added").

String in DeviceToleration docs says “time when taint was adedd”. Since this is vendored and auto‑generated, don’t patch locally; if desired, upstream a fix and re‑vendor.

If you want, I can open an upstream issue referencing the exact source comment.

fleetconfig-controller/vendor/k8s.io/api/resource/v1/types.go (1)

1319-1331: Minor typo in comment ("adedd" → "added").

Same wording as the swagger doc; leave vendor code unchanged and, if needed, fix upstream.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 379bb9d and 82043db.

⛔ Files ignored due to path filters (10)
  • fleetconfig-controller/go.sum is excluded by !**/*.sum
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/core/v1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1beta1/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1beta2/generated.pb.go is excluded by !**/*.pb.go
  • fleetconfig-controller/vendor/k8s.io/api/storage/v1/generated.pb.go is excluded by !**/*.pb.go
📒 Files selected for processing (88)
  • fleetconfig-controller/charts/fleetconfig-controller/README.md (1 hunks)
  • fleetconfig-controller/charts/fleetconfig-controller/crds/fleetconfig.open-cluster-management.io_fleetconfigs.yaml (3 hunks)
  • fleetconfig-controller/charts/fleetconfig-controller/values.yaml (1 hunks)
  • fleetconfig-controller/go.mod (6 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/README.md (8 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/cache.go (2 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/common.go (2 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/decode.go (26 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/encode.go (11 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/structfields.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/tag.go (2 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/compiler/context.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/compiler/extensions.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/compiler/helpers.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/compiler/reader.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/jsonschema/models.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/jsonschema/reader.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/jsonschema/writer.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/openapiv2/OpenAPIv2.go (32 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/openapiv2/document.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/openapiv3/OpenAPIv3.go (12 hunks)
  • fleetconfig-controller/vendor/github.com/google/gnostic-models/openapiv3/document.go (1 hunks)
  • fleetconfig-controller/vendor/github.com/modern-go/reflect2/safe_type.go (2 hunks)
  • fleetconfig-controller/vendor/github.com/pmezard/go-difflib/LICENSE (1 hunks)
  • fleetconfig-controller/vendor/github.com/pmezard/go-difflib/difflib/difflib.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/generated.proto (4 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/register.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/types_swagger_doc_generated.go (4 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.deepcopy.go (5 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/admissionregistration/v1beta1/zz_generated.prerelease-lifecycle.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1/types.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1beta1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1beta1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1beta2/generated.proto (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1beta2/types.go (3 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/apps/v1beta2/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/authorization/v1/generated.proto (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/authorization/v1/types.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/authorization/v1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/autoscaling/v1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/autoscaling/v1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/batch/v1/generated.proto (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/batch/v1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/batch/v1/types_swagger_doc_generated.go (3 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1/generated.proto (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/register.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.deepcopy.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1alpha1/zz_generated.prerelease-lifecycle.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1beta1/generated.proto (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/certificates/v1beta1/types.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/core/v1/generated.proto (23 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/core/v1/types.go (22 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go (21 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go (11 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/doc.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/generated.proto (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/types.go (3 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/extensions/v1beta1/zz_generated.validations.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1/types.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/generated.proto (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/types.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/types_swagger_doc_generated.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/well_known_labels.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/zz_generated.deepcopy.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/zz_generated.prerelease-lifecycle.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/devicetaint.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/doc.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/register.go (2 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/types.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/types_swagger_doc_generated.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/zz_generated.deepcopy.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1/zz_generated.prerelease-lifecycle.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/devicetaint.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/generated.proto (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/register.go (0 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/types.go (1 hunks)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go (0 hunks)
💤 Files with no reviewable changes (10)
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/register.go
  • fleetconfig-controller/vendor/k8s.io/api/authorization/v1/generated.proto
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/generated.proto
  • fleetconfig-controller/vendor/k8s.io/api/authorization/v1/types.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/zz_generated.prerelease-lifecycle.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/types_swagger_doc_generated.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/well_known_labels.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/zz_generated.deepcopy.go
  • fleetconfig-controller/vendor/k8s.io/api/networking/v1alpha1/types.go
  • fleetconfig-controller/vendor/k8s.io/api/resource/v1alpha3/types_swagger_doc_generated.go
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: TylerGillson
PR: open-cluster-management-io/lab#51
File: fleetconfig-controller/charts/fleetconfig-controller/README.md:155-155
Timestamp: 2025-08-22T17:55:52.159Z
Learning: In the open-cluster-management-io/lab repository, chart versioning for fleetconfig-controller is handled automatically via GitHub release workflows, not through manual version bumps in Chart.yaml during regular PRs.
Learnt from: arturshadnik
PR: open-cluster-management-io/lab#58
File: fleetconfig-controller/charts/fleetconfig-controller/README.md:155-155
Timestamp: 2025-08-27T21:58:32.141Z
Learning: In the open-cluster-management-io/lab repository, the fleetconfig-controller follows a workflow where chart version bumps (in README.md and values.yaml) are included in PRs before the corresponding Docker image exists. The Docker image is built and pushed automatically via GitHub release workflows after the PR is merged and tagged, making the referenced version available.
📚 Learning: 2025-08-27T21:58:32.141Z
Learnt from: arturshadnik
PR: open-cluster-management-io/lab#58
File: fleetconfig-controller/charts/fleetconfig-controller/README.md:155-155
Timestamp: 2025-08-27T21:58:32.141Z
Learning: In the open-cluster-management-io/lab repository, the fleetconfig-controller follows a workflow where chart version bumps (in README.md and values.yaml) are included in PRs before the corresponding Docker image exists. The Docker image is built and pushed automatically via GitHub release workflows after the PR is merged and tagged, making the referenced version available.

Applied to files:

  • fleetconfig-controller/charts/fleetconfig-controller/README.md
  • fleetconfig-controller/charts/fleetconfig-controller/values.yaml
📚 Learning: 2025-08-22T17:55:52.159Z
Learnt from: TylerGillson
PR: open-cluster-management-io/lab#51
File: fleetconfig-controller/charts/fleetconfig-controller/README.md:155-155
Timestamp: 2025-08-22T17:55:52.159Z
Learning: In the open-cluster-management-io/lab repository, chart versioning for fleetconfig-controller is handled automatically via GitHub release workflows, not through manual version bumps in Chart.yaml during regular PRs.

Applied to files:

  • fleetconfig-controller/charts/fleetconfig-controller/README.md
  • fleetconfig-controller/charts/fleetconfig-controller/values.yaml
📚 Learning: 2025-08-22T19:24:41.640Z
Learnt from: arturshadnik
PR: open-cluster-management-io/lab#52
File: fleetconfig-controller/api/v1beta1/hub_types.go:52-63
Timestamp: 2025-08-22T19:24:41.640Z
Learning: In Kubernetes CRD type definitions within the Open Cluster Management project, the "omitzero" JSON tag option is valid and supported. The Kubernetes ecosystem tooling, including kube-openapi and structured-merge-diff libraries, recognizes and processes the "omitzero" tag. This tag is used to omit zero values during JSON marshaling, similar to "omitempty" but with different semantics for certain types like slices and maps.

Applied to files:

  • fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/README.md
🪛 Buf (1.55.1)
fleetconfig-controller/vendor/k8s.io/api/resource/v1/generated.proto

24-24: import "k8s.io/api/core/v1/generated.proto": file does not exist

(COMPILE)

🪛 markdownlint-cli2 (0.17.2)
fleetconfig-controller/vendor/github.com/fxamacker/cbor/v2/README.md

364-364: Bare URL used

(MD034, no-bare-urls)


371-371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


372-372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


374-374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


379-379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


380-380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


381-381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


382-382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


386-386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


387-387: Hard tabs
Column: 1

(MD010, no-hard-tabs)


388-388: Hard tabs
Column: 1

(MD010, no-hard-tabs)


389-389: Hard tabs
Column: 1

(MD010, no-hard-tabs)


390-390: Hard tabs
Column: 1

(MD010, no-hard-tabs)


392-392: Hard tabs
Column: 1

(MD010, no-hard-tabs)


393-393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


394-394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


395-395: Hard tabs
Column: 1

(MD010, no-hard-tabs)


397-397: Hard tabs
Column: 1

(MD010, no-hard-tabs)


398-398: Hard tabs
Column: 1

(MD010, no-hard-tabs)


400-400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


401-401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


403-403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


404-404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


405-405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


406-406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


407-407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


408-408: Hard tabs
Column: 1

(MD010, no-hard-tabs)


554-554: Hard tabs
Column: 3

(MD010, no-hard-tabs)


555-555: Hard tabs
Column: 3

(MD010, no-hard-tabs)


556-556: Hard tabs
Column: 3

(MD010, no-hard-tabs)


562-562: Hard tabs
Column: 1

(MD010, no-hard-tabs)


563-563: Hard tabs
Column: 1

(MD010, no-hard-tabs)


564-564: Hard tabs
Column: 1

(MD010, no-hard-tabs)


566-566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


576-576: Hard tabs
Column: 1

(MD010, no-hard-tabs)


580-580: Hard tabs
Column: 1

(MD010, no-hard-tabs)


587-587: Hard tabs
Column: 1

(MD010, no-hard-tabs)


588-588: Hard tabs
Column: 1

(MD010, no-hard-tabs)


589-589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


590-590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


591-591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


593-593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


594-594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


595-595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


596-596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


597-597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


599-599: Hard tabs
Column: 1

(MD010, no-hard-tabs)


600-600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


608-608: Hard tabs
Column: 1

(MD010, no-hard-tabs)


609-609: Hard tabs
Column: 1

(MD010, no-hard-tabs)


610-610: Hard tabs
Column: 1

(MD010, no-hard-tabs)


611-611: Hard tabs
Column: 1

(MD010, no-hard-tabs)


612-612: Hard tabs
Column: 1

(MD010, no-hard-tabs)


614-614: Hard tabs
Column: 1

(MD010, no-hard-tabs)


615-615: Hard tabs
Column: 1

(MD010, no-hard-tabs)


616-616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


617-617: Hard tabs
Column: 1

(MD010, no-hard-tabs)


619-619: Hard tabs
Column: 1

(MD010, no-hard-tabs)


620-620: Hard tabs
Column: 1

(MD010, no-hard-tabs)


621-621: Hard tabs
Column: 1

(MD010, no-hard-tabs)


622-622: Hard tabs
Column: 1

(MD010, no-hard-tabs)


623-623: Hard tabs
Column: 1

(MD010, no-hard-tabs)


625-625: Hard tabs
Column: 1

(MD010, no-hard-tabs)


626-626: Hard tabs
Column: 1

(MD010, no-hard-tabs)


631-631: Hard tabs
Column: 1

(MD010, no-hard-tabs)


636-636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


637-637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


638-638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


642-642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


643-643: Hard tabs
Column: 1

(MD010, no-hard-tabs)


644-644: Hard tabs
Column: 1

(MD010, no-hard-tabs)


645-645: Hard tabs
Column: 1

(MD010, no-hard-tabs)


647-647: Hard tabs
Column: 1

(MD010, no-hard-tabs)


648-648: Hard tabs
Column: 1

(MD010, no-hard-tabs)


649-649: Hard tabs
Column: 1

(MD010, no-hard-tabs)


650-650: Hard tabs
Column: 1

(MD010, no-hard-tabs)


652-652: Hard tabs
Column: 1

(MD010, no-hard-tabs)


654-654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


655-655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


656-656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


657-657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


658-658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


660-660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


661-661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


662-662: Hard tabs
Column: 1

(MD010, no-hard-tabs)


663-663: Hard tabs
Column: 1

(MD010, no-hard-tabs)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: e2e (fleetconfig-controller) / e2e

@openshift-merge-bot openshift-merge-bot bot merged commit fe2f31e into open-cluster-management-io:main Sep 17, 2025
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants