27 Commits
Author SHA1 Message Date
374cc31e22 feat: add NetworkPolicies for open-cluster-management-agent namespace (#1627)
* feat: add NetworkPolicies for open-cluster-management-agent namespace

Ship 4 NetworkPolicy manifests with the klusterlet operator to restrict
ingress/egress in the agent namespace, meeting CIS Kube benchmark 5.3.2
requirements.

Policies added:
- default-deny-all: baseline deny for all ingress/egress
- allow-dns-and-api: DNS egress (OpenShift/kube-dns) + ports-only API
  server egress (TCP 443/6443)
- klusterlet: operator egress to intra-namespace, addon namespace, and
  kubernetes.default.svc
- klusterlet-agent: agent egress to kubernetes.default.svc, hub webhooks,
  and intra-namespace

Also adds:
- RBAC: networking.k8s.io/networkpolicies permissions in klusterlet
  ClusterRole
- Cleanup: *networkingv1.NetworkPolicy case in CleanUpStaticObject and
  GenerateRelatedResource

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* feat: add NetworkPolicies feature gate and fix ingress rules

- Add NetworkPolicies feature gate (disabled by default) following the
  existing AboutAPIEnabled/ClusterProperty pattern
- Filter operator-internal feature gates before ConvertToFeatureGateFlags
  to avoid invalid agent CLI flags and ValidFeatureGates condition issues
- Conditionally apply NP manifests in both reconcile() and clean() based
  on the feature gate
- Fix missing intra-namespace ingress rules in klusterlet and
  klusterlet-agent NetworkPolicies (CodeRabbit review feedback)
- Revert test counts to pre-NP values and add
  TestSyncDeployWithNetworkPolicies for the feature-enabled path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* fix: address CodeRabbit nitpicks - import grouping and defensive slice copy

- Move featuregate import to correct alphabetical position in its group
- Use defensive slice copy (append into new slice) instead of direct
  assignment from package-level var before appending

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* fix: update OLM CSV with NetworkPolicy RBAC permissions

The ClusterServiceVersion file needs to include the networking.k8s.io
networkpolicies RBAC rules added to the klusterlet ClusterRole.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* test: enable NetworkPolicies feature gate in integration and e2e tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* test: update relatedResources counts for NetworkPolicy resources

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* fix: update expected registration deployment args count for RegistrationConfiguration defaults

RegistrationConfiguration triggers kubebuilder defaults (KubeAPIQPS=50,
KubeAPIBurst=100), adding --kube-api-qps and --kube-api-burst args.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

* fix: clarify relatedResources count comment arithmetic

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Mihir Lele <mlele@redhat.com>

---------

Signed-off-by: Mihir Lele <mlele@redhat.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-24 01:30:13 +00:00
DIGVIJAYandGitHub 745931c353 feat: add extraVolumes and extraVolumeMounts support to klusterlet helm chart (#1575)
* feat: imporve klusterlet helm charts

Signed-off-by: DIGVIJAY <144053736+digvijay-y@users.noreply.github.com>

* eof for opeartor.yaml

Signed-off-by: Digvijay-y <yewaredigvijay@gmail.com>

---------

Signed-off-by: DIGVIJAY <144053736+digvijay-y@users.noreply.github.com>
Signed-off-by: Digvijay-y <yewaredigvijay@gmail.com>
2026-07-04 00:38:38 +00:00
Jian QiuandGitHub 4a46af2145 Bump kubernetes lib to 1.35 (#1414)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2026-03-08 11:01:58 +00:00
Yang LeandGitHub 68ea574041 update klusterlet crd in chart (#1355)
Post / images (amd64, addon-manager) (push) Failing after 59s
Post / images (amd64, placement) (push) Failing after 41s
Post / images (amd64, registration) (push) Failing after 42s
Post / images (amd64, registration-operator) (push) Failing after 42s
Post / images (amd64, work) (push) Failing after 42s
Post / images (arm64, addon-manager) (push) Failing after 43s
Post / images (arm64, placement) (push) Failing after 42s
Post / images (arm64, registration) (push) Failing after 41s
Post / images (arm64, registration-operator) (push) Failing after 41s
Post / images (arm64, work) (push) Failing after 42s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Scorecard supply-chain security / Scorecard analysis (push) Failing after 9m22s
Post / coverage (push) Failing after 9m36s
Signed-off-by: Yang Le <yangle@redhat.com>
2026-01-27 08:42:40 +00:00
8e401c34a9 chore: update dependencies to contain v1beta1 addondeploymentconfig api and sdk-go (#1315)
🤖 Generated with [Claude Code](https://claude.ai/code)

Signed-off-by: Qing Hao <qhao@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-08 12:22:34 +00:00
8f8cd01b52 Update dependencies: k8s 0.34.1, controller-runtime 0.22.3, and OCM libs (#1267)
Post / coverage (push) Failing after 37m28s
Post / images (amd64, addon-manager) (push) Failing after 7m29s
Post / images (amd64, placement) (push) Failing after 7m1s
Post / images (amd64, registration) (push) Failing after 7m7s
Post / images (amd64, registration-operator) (push) Failing after 7m22s
Post / images (amd64, work) (push) Failing after 7m25s
Post / images (arm64, addon-manager) (push) Failing after 7m5s
Post / images (arm64, placement) (push) Failing after 7m4s
Post / images (arm64, registration) (push) Failing after 7m20s
Post / images (arm64, registration-operator) (push) Failing after 7m9s
Post / images (arm64, work) (push) Failing after 7m12s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Scorecard supply-chain security / Scorecard analysis (push) Failing after 59s
Close stale issues and PRs / stale (push) Successful in 29s
- Update k8s.io/* libraries to v0.34.1
- Update sigs.k8s.io/controller-runtime to v0.22.3
- Update open-cluster-management.io/api to 2337d27c3b7f
- Update open-cluster-management.io/sdk-go to a185f88d7b1b
- Update open-cluster-management.io/addon-framework to 1a0a9be61322
- Update openshift libraries (api, client-go, library-go) to latest commits
  for structured-merge-diff v6 compatibility
- Add Recorder() method to FakeSDKSyncContext with adapter pattern to bridge
  openshift/library-go and SDK event recorder interfaces
- Update vendor directory and regenerate CRDs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Signed-off-by: Jian Qiu <jqiu@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-26 05:56:58 +00:00
Zhiwei YinandGitHub 7d96be0819 add descripiton for the values.yaml of helm charts (#1221)
Scorecard supply-chain security / Scorecard analysis (push) Failing after 36s
Post / coverage (push) Failing after 18s
Post / images (amd64, addon-manager) (push) Failing after 19s
Post / images (amd64, placement) (push) Failing after 16s
Post / images (amd64, registration) (push) Failing after 18s
Post / images (amd64, registration-operator) (push) Failing after 20s
Post / images (amd64, work) (push) Failing after 20s
Post / images (arm64, addon-manager) (push) Failing after 24s
Post / images (arm64, placement) (push) Failing after 22s
Post / images (arm64, registration) (push) Failing after 22s
Post / images (arm64, registration-operator) (push) Failing after 28s
Post / images (arm64, work) (push) Failing after 28s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Failing after 24s
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-10-23 09:24:49 +00:00
Zhiwei YinandGitHub 35bab4476a add grpc config into the bootstrap secret (#1194)
Post / coverage (push) Failing after 27s
Post / images (amd64, addon-manager) (push) Failing after 21s
Post / images (amd64, placement) (push) Failing after 23s
Post / images (amd64, registration) (push) Failing after 18s
Post / images (amd64, registration-operator) (push) Failing after 22s
Post / images (amd64, work) (push) Failing after 23s
Post / images (arm64, addon-manager) (push) Failing after 25s
Post / images (arm64, placement) (push) Failing after 21s
Post / images (arm64, registration) (push) Failing after 27s
Post / images (arm64, registration-operator) (push) Failing after 28s
Post / images (arm64, work) (push) Failing after 21s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Scorecard supply-chain security / Scorecard analysis (push) Failing after 33s
Close stale issues and PRs / stale (push) Failing after 31s
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-09-24 03:35:31 +00:00
Jian QiuandGitHub 2f04992d6c Deleted manifestwork when it is completed for ttl seconds. (#1158)
* Delete manifestwork when it is completed after ttl

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* Fix integration test

Signed-off-by: Jian Qiu <jqiu@redhat.com>

* Update operator and e2e tests

Signed-off-by: Jian Qiu <jqiu@redhat.com>

---------

Signed-off-by: Jian Qiu <jqiu@redhat.com>
2025-09-23 02:23:47 +00:00
Wei LiuandGitHub 74aa03b01c using api auth consts (#1146)
Signed-off-by: Wei Liu <liuweixa@redhat.com>
2025-08-28 07:15:36 +00:00
Wei LiuandGitHub 6c4102f2ca support deploying grpc with clustermanager/klusterlet (#1107)
Post / coverage (push) Failing after 38m56s
Post / images (amd64, addon-manager) (push) Failing after 8m3s
Post / images (amd64, placement) (push) Failing after 7m33s
Post / images (amd64, registration) (push) Failing after 7m43s
Post / images (amd64, registration-operator) (push) Failing after 7m36s
Post / images (amd64, work) (push) Failing after 7m39s
Post / images (arm64, addon-manager) (push) Failing after 7m56s
Post / images (arm64, placement) (push) Failing after 7m42s
Post / images (arm64, registration) (push) Failing after 7m51s
Post / images (arm64, registration-operator) (push) Failing after 7m43s
Post / images (arm64, work) (push) Failing after 7m46s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m24s
Signed-off-by: Wei Liu <liuweixa@redhat.com>
2025-08-06 09:45:10 +00:00
Zhiwei YinandGitHub 98443736e9 support set hub qps and burst for work in the klusterlet (#1014)
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m43s
Post / coverage (push) Failing after 31m18s
Post / images (amd64) (push) Failing after 8m11s
Post / images (arm64) (push) Failing after 7m29s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 35s
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-05-30 02:03:07 +00:00
Jian ZhuandGitHub 4d1b4ee8d5 make work status sync interval configurable (#1009)
* update api

Signed-off-by: zhujian <jiazhu@redhat.com>

* make work status sync interval configurable

Signed-off-by: zhujian <jiazhu@redhat.com>

* add unit tests

Signed-off-by: zhujian <jiazhu@redhat.com>

* fix flaky e2e tests

Signed-off-by: zhujian <jiazhu@redhat.com>

* drop go mod replace

Signed-off-by: zhujian <jiazhu@redhat.com>

---------

Signed-off-by: zhujian <jiazhu@redhat.com>
2025-05-27 07:47:58 +00:00
Jian ZhuandGitHub 73b6e2d514 check nil for LocalSecrets config (#962)
Scorecard supply-chain security / Scorecard analysis (push) Failing after 2m36s
Post / images (amd64) (push) Failing after 3m35s
Post / coverage (push) Failing after 8m16s
Post / images (arm64) (push) Failing after 3m1s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Signed-off-by: zhujian <jiazhu@redhat.com>
2025-04-22 08:57:23 +00:00
Qing HaoandGitHub 983bb566b8 update ocm packages to latest (#953)
Signed-off-by: Qing Hao <qhao@redhat.com>
2025-04-16 14:58:06 +00:00
Zhiwei YinandGitHub 1974d75f2f fix incorrect agent namespace in klusterlet helm chart (#939)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-04-08 03:57:35 +00:00
Zhiwei YinandGitHub 1c4f49a4e4 do not install priority class if noOpoerator is true (#928)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-04-01 13:59:43 +00:00
Zhiwei YinandGitHub 485d6ea2db update klusterlet helm chart (#925)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-04-01 01:47:29 +00:00
Zhiwei YinandGitHub cb7d2751e3 support configure multiple hub kubeconfigs in klusterlet chart (#895)
Post / images (amd64) (push) Failing after 3m8s
Post / images (arm64) (push) Failing after 2m45s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Post / coverage (push) Failing after 7m47s
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m48s
Close stale issues and PRs / stale (push) Successful in 6s
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-03-19 03:57:13 +00:00
Zhiwei YinandGitHub f03b3f75eb change replicas of klusterlet operator to 1 (#813)
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1m0s
Post / coverage (push) Failing after 26m22s
Post / images (amd64) (push) Failing after 6m56s
Post / images (arm64) (push) Failing after 6m55s
Post / image manifest (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2025-01-20 03:45:09 +00:00
Zhiwei YinandGitHub 1d48226873 override images in helm chart (#771)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2024-12-17 09:23:31 +00:00
Jian QiuandGitHub 0897da69da Implement ignoreFields in server side apply (#726)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
2024-12-10 02:56:55 +00:00
Jian ZhuandGitHub adec7f94c8 🌱 Fix typo in charts README (#664)
Signed-off-by: zhujian <jiazhu@redhat.com>
2024-10-21 03:25:28 +00:00
Qing HaoandGitHub 851d0152a3 set configured condition in mca (#635)
Signed-off-by: haoqing0110 <qhao@redhat.com>
2024-10-08 13:08:03 +00:00
Zhiwei YinandGitHub 7946f87945 support set imagepullsecret credential in helm chart and run e2e using helm chart (#605)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2024-08-29 12:32:43 +00:00
Zhiwei YinandGitHub 0deb09b92d add createNamespace option to chart render (#603)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2024-08-28 07:17:18 +00:00
Zhiwei YinandGitHub bf0dc3fc66 add helm charts (#548)
Signed-off-by: Zhiwei Yin <zyin@redhat.com>
2024-07-10 15:24:10 +00:00