555 Commits
Author SHA1 Message Date
Hussein GalalandGitHub 8fec5a4079 Bump charts to v0.1.2-rc4 (#1152)
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
chart-1.2.0-rc4
2026-08-17 21:11:22 +03:00
Enrico CandinoandGitHub aa93e3198a feat: import CI images directly into containerd instead of ttl.sh (#1151)
* feat: local repository and import images directly

* remove grep
v1.2.0-rc4
2026-08-17 13:46:51 +02:00
Enrico CandinoandGitHub bd9b82afb4 feat: enhance ingress exposure validation and add tests for tlsSANs requirements (#1147) 2026-08-17 10:30:08 +02:00
bd8ed8a036 fix: handle empty port in HCP LoadBalancer URL causing strconv.Atoi failure (#1134)
* fix: handle empty port in HCP mode LoadBalancer URL parsing

Assisted-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* fix lint

---------

Co-authored-by: Enrico Candino <enrico.candino@suse.com>
2026-08-13 10:27:45 +02:00
Hussein GalalandGitHub 80f0938148 Fix projected volume token translation and different service accounts (#1128)
* Fix projected volume token translation and different service accounts

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* wsl

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

* Fix unsanitized audience names and token paths

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-08-12 16:39:58 +03:00
Alex BissessurandGitHub 3d7fa25335 fix(server pod): avoid cluster reset crash loop (#1117) 2026-08-11 13:26:27 +02:00
2cc0f0e3b5 Update GitHub Actions (#1115)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-08-11 11:49:42 +02:00
Enrico CandinoandGitHub 44a0984cd0 Unpin package versioning for VM provisioning (#1130)
* unpin package versioning for VM provisioning

* Add cpu-checker package (`kvm-ok`)
2026-08-10 12:02:31 +02:00
Hussein GalalandGitHub 98cd3ee92e (docs) Remove ambiguity of virtual mode isolation (#1122)
* Remove ambiguity of virtual mode isolation

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-08-06 12:25:57 +03:00
renovate-rancher[bot]andGitHub b7dc666748 Merge pull request #1107 from rancher/renovate/main-go.etcd.io-etcd-api-v3-3.x
Update module go.etcd.io/etcd/api/v3 to v3.7.1 (main)
2026-08-06 07:25:19 +00:00
renovate-rancher[bot]andGitHub ab1c8792f7 Update module go.etcd.io/etcd/api/v3 to v3.7.1 2026-08-06 05:32:38 +00:00
Hussein GalalandGitHub d176cc3b62 Bump charts to v0.1.2-rc3 (#1120)
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
chart-1.2.0-rc3
2026-08-05 15:26:29 +03:00
bcraftandGitHub 31a316900f update kata docs (#1121) 2026-08-05 14:29:22 +03:00
Hussein GalalandGitHub 037eb72bdc Exit if virtual or host manager fail for k3k kubelet (#1118)
* Exit if virtual or host manager fail for k3k kubelet

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
v1.2.0-rc3
2026-08-04 15:59:49 +03:00
2499f67053 Update GitHub Actions (#1106)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-31 17:44:06 +02:00
Enrico CandinoandGitHub f7a51524e9 Add completion for policy delete command (#1098) 2026-07-31 16:39:25 +02:00
Pavel ZhukovandGitHub 15c4843fa6 Fix Ingress label value in advanced-usage.md (#931) 2026-07-31 16:13:01 +03:00
renovate-rancher[bot]andGitHub ca855d3f88 Merge pull request #1099 from rancher/renovate/main-kubernetes-dependencies
Update Kubernetes dependencies (main)
2026-07-30 07:23:12 +00:00
renovate-rancher[bot]andGitHub 1faf0fc58a Update Kubernetes dependencies 2026-07-30 05:26:57 +00:00
Enrico CandinoandGitHub 3b47fa06a6 Bump charts to v1.2.0-rc1 (#1096) chart-1.2.0-rc2 2026-07-29 14:46:10 +02:00
071c25482a Skip expensive CI for Markdown-only PRs (#1052)
* ci: skip expensive checks for markdown-only PRs

Signed-off-by: nightcityblade <nightcityblade@gmail.com>

* ci: skip docs directory in expensive checks

---------

Signed-off-by: nightcityblade <nightcityblade@gmail.com>
Co-authored-by: nightcityblade <nightcityblade@gmail.com>
v1.2.0-rc2
2026-07-29 12:33:58 +02:00
Enrico CandinoandGitHub bf0c8f0c32 Keep PersistentVolumeClaim to "varlibrancherk3s" (#1090)
* Keep PersistentVolumeClaim to "varlibrancherk3s"

* Rename volume name to "varlibrancherk3s" in pod specification
2026-07-29 11:17:56 +02:00
Enrico CandinoandGitHub eb0955f666 Add cluster delete autocompletion (#1080)
* Add cluster deletion and completion enhancements

- Implemented `--all` flag for deleting all clusters in a namespace.
- Updated argument parsing to allow for maximum one cluster name.
- Added completion functions for cluster names with namespace filtering.
- Enhanced tests for cluster argument resolution and completion functions.

* fix docs

* Add log message for empty cluster deletion in specified namespace

* Refactor context handling in command functions to use `cmd.Context()`
2026-07-28 18:22:25 +02:00
ac2eaf97d9 Update GitHub Actions (#1083)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-28 17:57:48 +02:00
Enrico CandinoandGitHub 7d8932beda bump google/cel-go to v0.29.0 (#1091) 2026-07-28 17:02:39 +02:00
Kevin McDermottandGitHub f77083b563 Switch out the Go YAML package (#1089)
This replaces direct usage of "gopkg.in/yaml.v3" with "go.yaml.in/yaml/v4".

The original package is now a dependency of the testify packages.
2026-07-28 11:58:46 +01:00
Hussein GalalandGitHub 11bf7a2dc4 Add PodSecurityContext and Security Context to helm chart and cluster spec (#1058)
* Add securityContext and podSecurityContext to the chart and cluster pods

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2026-07-28 13:53:11 +03:00
renovate-rancher[bot]andGitHub 97e243f480 Merge pull request #1087 from rancher/renovate/main-github.com-go-logr-logr-1.x
Update module github.com/go-logr/logr to v1.4.4 (main)
2026-07-28 07:25:07 +00:00
renovate-rancher[bot]andGitHub 84ca470291 Update module github.com/go-logr/logr to v1.4.4 2026-07-28 05:32:05 +00:00
0fda2bb473 Update GitHub Actions (#1074)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-24 13:20:17 +02:00
Kevin McDermottandGitHub 83c1dd8f59 Fix event-mirroring (#1069)
Fix event-mirroring

Lookup the InvolvedObject in the Host cluster and use the annotations on that to get the name of the Pod from the virtual cluster.
2026-07-24 10:45:40 +01:00
28bbecb7ee Fix deprecated options in GoReleaser config (#1063)
* Fix deprecated goreleaser options

* Fix Docker COPY paths for goreleaser dockers_v2 platform layout

* Moved ARG definitions, smaller comment

* Update GoReleaser version to `v2.17.0`

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Enrico Candino <enrico.candino@suse.com>
2026-07-23 21:22:02 +02:00
ee8c16bdd2 Update GitHub Actions (#1065)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-23 12:32:30 +02:00
d170a0db9b Update rancher/renovate-config digest to 3b1a022 (#1064)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-23 12:27:27 +02:00
Enrico CandinoandGitHub fd64c55e5c Add server URL handling in cluster creation and enhance kubeconfig tests (#1050) 2026-07-23 12:26:10 +02:00
d9219da469 Fix cluster delete for missing clusters (#1051)
* Fix cluster delete for missing clusters

Signed-off-by: nightcityblade <nightcityblade@gmail.com>

* Adjust missing cluster error message

---------

Signed-off-by: nightcityblade <nightcityblade@gmail.com>
Co-authored-by: nightcityblade <nightcityblade@gmail.com>
2026-07-22 20:58:52 +02:00
Enrico CandinoandGitHub 3a89a4d53b Refactor E2E tests to use a matrix strategy (#1061)
* Refactor E2E tests to use a matrix strategy and update labels for better organization

* Enhance E2E test labels for better categorization and clarity

* Refactor E2E test labels for improved clarity and organization
2026-07-22 18:52:33 +02:00
Enrico CandinoandGitHub 22f0b9c699 Add completion to --namespace flag (#1049)
* Add completion to `--namespace` flag

* Add namespace completion to policy create command

* Refactor namespace completion functions for consistency across commands

* addressed some comments
2026-07-22 17:11:17 +02:00
Enrico CandinoandGitHub b6855c1636 Bump google.golang.org/grpc to v1.82.1 (#1060) 2026-07-22 16:01:12 +02:00
5ef3f38571 Update GitHub Actions (#1054)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-22 10:33:40 +02:00
Enrico CandinoandGitHub a26d37f654 Bump charts to v1.2.0-rc1 (#1043) chart-1.2.0-rc1 2026-07-17 16:54:04 +02:00
1ebeee28de Update GitHub Actions (#1039)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
v1.2.0-rc1
2026-07-17 15:52:00 +02:00
Enrico CandinoandGitHub 7d2105ecf5 Update golang.org/x/text to v0.39.0 (#1038)
* Update `golang.org/x/text` to `v0.39.0`

* align dependencies
2026-07-16 17:00:16 +02:00
e1ae07c836 Isolate only virtual cluster workload Pods (#989)
* Enhance network policy to isolate synced workload pods and improve cross-cluster pod isolation handling

* Add test for label update on synced Pod to ensure isolation label persistence

* Derive host pod CIDRs dynamically for the isolation NetworkPolicy

Compute the egress-exclude CIDRs from the --cluster-cidr flag or the live
Node PodCIDR(s) via FindPodCIDRs, instead of a hardcoded guess, so cross-cluster
pod isolation is enforced against the host's real pod network. Adds unit,
integration, and e2e coverage.

* update comment

* Sort CIDR list in FindPodCIDRs function to ensure consistent order for egress rules

* Use `t.Context()` instead of `context.Background()`

Co-authored-by: Kevin McDermott <bigkevmcd@gmail.com>

* Use Ginkgo provided context

* Refactor FindPodCIDRs to use sets for CIDR collection and simplify logic

* fix lint

---------

Co-authored-by: Kevin McDermott <bigkevmcd@gmail.com>
2026-07-16 15:18:04 +02:00
10a0b42c6a Move pkg/apis to its own package (#1026)
* move apis to seperate package

* move github.com/rancher/k3k/pkg/apis in go.mod

---------

Co-authored-by: Enrico Candino <enrico.candino@suse.com>
2026-07-16 11:35:43 +02:00
d19016fa9c Update module go.etcd.io/etcd/client/v3 to v3.7.0 (#1007)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-16 10:37:40 +02:00
98119e764a Update rancher/renovate-config digest to 573ec77 (#1015)
Co-authored-by: renovate-rancher[bot] <119870437+renovate-rancher[bot]@users.noreply.github.com>
2026-07-16 10:33:40 +02:00
Enrico CandinoandGitHub 3a4d93f5fb Fix dangling Pods (#1021)
* Add tests asserting GetPods is scoped to the node's own Pods

Adds a unit test (fake host + virtual clients, Pods across multiple nodes plus
a dangling one) and a multi-node e2e test (a Deployment with one nginx Pod per
node via required anti-affinity; restart every k3k-kubelet agent Pod; assert no
workload Pod is deleted from the host or virtual cluster). Both pin the intended
behavior and fail against the current code; the fix follows in the next commit.

* Scope Provider.GetPods to the node's own Pods to prevent cross-node dangling-pod deletion

GetPods() listed host Pods cluster-wide (by the k3k.io/clusterName label only).
The vendored virtual-kubelet library's deleteDanglingPods reconciliation deletes
any Pod returned here that is missing from this instance's virtual Pod lister,
which is scoped to spec.nodeName == agentHostname. On a multi-node host cluster,
every restarting k3k-kubelet instance therefore saw Pods owned by other nodes as
'dangling' and deleted them from the host (and, in turn, the virtual cluster).

Scope GetPods by the *virtual* Pod's spec.nodeName -- the same ownership signal
the framework uses -- excluding Pods owned by other nodes while still returning
own-node Pods and genuinely dangling ones. The host Pod's physical node is not a
reliable owner (it is scheduled with only a soft, sometimes-absent affinity), so
it must not be used. Virtual Pods are read live to avoid a startup cache-sync
race. Makes the previous commit's tests pass.

* Refactor GetPods to scope to the cluster namespace and update tests accordingly

* Add AgentNameLabel to track Pods synced by the k3k-kubelet agent and update tests accordingly

* Add failing test for updatePod
2026-07-15 17:02:30 +02:00
Enrico CandinoandGitHub 3f25eabe38 feat: Enhance GitHub Actions workflows and add YAML linting (#1020)
- Updated action descriptions for clarity in provision-k3s-vm-workers.
- Refactored steps in provision-k3s-vm-workers for improved readability.
- Adjusted permissions formatting in multiple workflows for consistency.
- Added YAML linting step in validate workflow to ensure YAML file quality.
- Introduced .yamllint configuration file for GitHub Actions YAML files.
- Enhanced Makefile to include a target for linting YAML files.
2026-07-14 16:51:08 +02:00
Kevin McDermottandGitHub ddf6bace3f Merge pull request #1019 from bigkevmcd/fix-event-logging
Fix logged events in syncer - ensure the name/namespace are correct.
2026-07-14 13:11:30 +01:00