39cc69f3e3
Added HCP (Hosted Control Plane) mode ( #876 )
...
* Add HCP (Hosted Control Plane) support
Introduce hosted control plane mode for k3k virtual clusters, including
API types, controller logic, server endpoint handling, CLI flags,
CRD updates, kubeconfig generation, and examples.
Co-Authored-By: RuFlo <ruv@ruv.net >
* removed hcpRegitration command
added HCP conformance tests
warning for hcp
fix multi-VM HCP conformance test networking
Both QEMU workers booted with `-net user` and ended up registering the
same InternalIP (10.0.2.15) because each VM gets its own isolated NAT
slirp. Flannel propagated this to `public-ip` on both nodes, so VXLAN
could not tunnel between workers and any cross-node pod traffic broke
(89 failed / 335 passed of 424 conformance specs).
Replace user-mode networking with a Linux bridge (k3kbr0,
192.168.100.0/24) and one TAP device per VM, so the two workers share
an L2 segment with unique routable IPs. NAT outbound from the bridge
keeps internet access working for image pulls.
Also set unique hostnames via cloud-init (worker-1/worker-2) and drop
the `--node-name` flag from INSTALL_K3S_EXEC, since k3s now picks the
correct node name from the OS hostname on its own.
Bump hydrophone back to `--parallel 4` to match the single-VM job
(parallelism was reduced earlier when the failure was thought to be
resource-related).
added HCP print command
updated crds
adding e2e tests
Refactor selectNonLoopbackSAN function to accept SANs directly and update related logic in ensureHCPRegistration
* Update agent flag validation and enhance ingress host check with a warning log
Refactor descriptions for cluster provisioning mode and role in CRDs and documentation
Refactor logging in ServerURL function to use controller-runtime logger
Rename selectNonLoopbackSAN to findNonLoopbackSAN for clarity and update references
Refactor ServerURL function and related code to remove unused parameters and improve clarity
Remove unused imports from kubeconfig.go to improve code clarity
* suggested changes
* fix comment
* fix test
---------
Co-authored-by: jpgouin <jeanphilippe.gouin@suse.com >
Co-authored-by: RuFlo <ruv@ruv.net >
2026-07-07 14:12:19 +02:00
7f2cf6fe98
Add --tls-sans flag to k3kcli ( #925 )
...
* Add --tls-sans flag to k3kcli cluster create
* Refine --tls-sans flag description in k3kcli documentation
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Fix TLS SANs handling in cluster creation by using hostname directly
* Implement extractHost function and update TLS SAN handling in cluster creation
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-02 13:23:13 +02:00
Hussein Galal and GitHub
fcc7191ab3
CLI cluster update ( #595 )
...
* CLI cluster update
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2026-01-20 14:00:24 +02:00
Enrico Candino and GitHub
c16eae99c7
Added AsciiDoc k3kcli automation ( #597 )
...
* adding scripts for asciidoc cli generation
* fix small typos to align to existing docs
* added pandoc
* pandoc check
2026-01-07 11:16:40 +01:00
Enrico Candino and GitHub
8760afd5bc
Added --namespace flag to k3kcli policy create ( #564 )
...
* added --namespace flag to policy create to actually bind the new policy to existing namespaces
* fix lint
* fix tests
* added overwrite flag
* updated cli docs
* fix tests 2
* moved double quotes to single quote
* fix test
2025-11-14 21:45:28 +01:00
Enrico Candino and GitHub
27730305c2
Added labels and annotations flags to cluster and policy create ( #565 )
...
* added labels and annotations flags to cluster create
* added labels and annotations flag to create policy command
2025-11-14 16:54:01 +01:00
Enrico Candino and GitHub
d0e50a580d
Added cluster details in cli during creation ( #562 )
...
* added cluster details in cli during cluster creation, silenced usage, removed static persistence type from help
* fix docs
2025-11-14 12:53:15 +01:00
Hussein Galal and GitHub
a3076af38f
Increase timeout and add timeout option ( #514 )
...
* Increase timeout and add timeout option
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Increase timeout and add timeout option
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-10-17 16:51:40 +03:00
Enrico Candino and GitHub
d23cf86fce
Fix missing custom-certs flag in cli ( #444 )
...
* fix missing custom-certs path in cli
* fix docs
2025-08-25 18:37:29 +02:00
Enrico Candino and GitHub
084701fcd9
Migrate from urfave/cli to cobra ( #426 )
...
* wip
* env var fix
* cluster create
* cluster create and delete
* cluster list
* cluster cmd
* kubeconfig
* policy create
* policy delete and list, and added root commands
* removed urfavecli from k3kcli
* fix policy command
* k3k-kubelet to cobra
* updated docs
* updated go.mod
* updated test
* added deletion
* added cleanup and flake attempts
* wip bind env
* simplified config
2025-07-24 16:49:40 +02:00
Enrico Candino and GitHub
98d17cdb50
Added new golangci-lint formatters ( #425 )
...
* add gci formatter
* gofmt and gofumpt
* rewrite rule
* added make fmt
2025-07-22 10:42:41 +02:00
Hussein Galal and GitHub
a98c49b59a
Adding custom certificate to the virtual clusters ( #409 )
...
* Adding custom certificate to the virtual clusters
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* docs update
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* integrate cert-manager
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add individual cert tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-07-21 19:23:11 +03:00
Hussein Galal and GitHub
fcc875ab85
Mirror host nodes ( #389 )
...
* mirror host nodes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* add mirror host nodes feature
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add controllername to secrets/configmap syncer
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* golint
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* build docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* setting controller namespace env
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix typo
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add a controller_namespace env to the test
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add mirrorHostNodes spec to conformance tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* change the ptr int to int
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix map key name
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-07-08 14:48:24 +03:00
jpgouin and GitHub
541f506d9d
[CLI] add storage-request-size flag ( #372 )
...
[CLI] add storage-request-size flag
2025-06-20 17:13:47 +02:00
Enrico Candino and GitHub
0c4752039d
Fix for k3kcli policy delete ( #386 )
...
* fix for delete policy
* fix docs
2025-06-20 12:08:51 +02:00
Enrico Candino and GitHub
5758b880a5
Added k3kcli cluster list and k3kcli policy list commands ( #368 )
...
* list commands
* go mod tidy
* moved logic to separate file, small refactor
2025-05-30 15:35:31 +02:00
Enrico Candino and GitHub
8fbe4b93e8
Change VirtualClusterPolicy scope to Cluster ( #358 )
...
* rename clusterset to policy
* fixes
* rename clusterset to policy
* wip
* go mod
* cluster scoped
* gomod
* gomod
* fix lint
* wip
* moved logic to vcp controller
* update for clusters
* small fixes
* update cli
* fix docs, updated spec
* fix cleanup
* added missing owns for limitranges
2025-05-29 10:45:48 +02:00
Enrico Candino and GitHub
cca3d0c309
Rename ClusterSet to VirtualClusterPolicy ( #349 )
...
* rename clusterset to policy
* fixes
2025-05-15 12:04:47 +02:00
Hussein Galal and GitHub
510ab4bb8a
Add extra env for servers/agents ( #324 )
...
* Add extra env for servers/agents
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* cli docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix container env
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-04-21 12:25:51 +02:00
Enrico Candino and GitHub
7cb2399b89
Update and fix to k3kcli for new ClusterSet integration ( #321 )
...
* added clusterset flag to cluster creation and displayname to clusterset creation
* updated cli docs
2025-04-04 13:22:55 +02:00
Enrico Candino and GitHub
b58578788c
Add clusterset commands ( #319 )
...
* added clusterset create command, small refactor with appcontext
* added clusterset delete
* updated docs
2025-04-03 11:07:32 +02:00
Hussein Galal and GitHub
b0b61f8d8e
Fix delete cli ( #281 )
...
* Fix delete cli
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* make lint
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* update docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix delete cli
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl lint
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl lint
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* check if object has a controller reference before removing
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* move the update to the if condition
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* move the update to the if condition
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-03-24 13:44:00 +02:00
Enrico Candino and GitHub
d0810af17c
Fix kubeconfig load from multiple configuration files ( #301 )
...
* fix kubeconfig load with standards kubectl approach
* update cli docs
2025-03-07 15:11:00 +01:00
jpgouin
1d027909ee
cli - fix bug with Kubeconfig value resolution
2025-03-04 10:23:54 +00:00
jpgouin
2f582a473a
update cli docs
2025-03-03 13:31:40 +00:00
jpgouin
a3cbe42782
update doc and genclidoc
2025-03-03 13:21:07 +00:00
jpgouin
ddc367516b
fix test
2025-03-03 13:21:07 +00:00
jpgouin
7b83b9fd36
fix test
2025-03-03 13:21:07 +00:00
jpgouin
bf8fdd9071
fix lint
2025-03-03 13:21:07 +00:00
jpgouin
4ca5203df1
Flatten the cli structure, add docs generation in the Makefile and remove crds/Makefile
2025-03-03 13:21:07 +00:00