Enrico Candino
0164c785ab
Show correct allocatable resources when a Policy is applied ( #638 )
...
* wip
* wip
* wip
* fix lint and tests
* fixed bugs for missing resources
* cleanup and refactor
* removed coreClient from configureNode
* added comments to distribute algorithm
2026-01-27 15:56:37 +01:00
Hussein Galal
c1b7da4c72
SecretMounts feature and private registries ( #570 )
...
* Add SecretMounts field
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2026-01-26 21:47:40 +02:00
Kevin McDermott
c0418267c9
Merge pull request #623 from bigkevmcd/resource-quantity
...
Use resource.Quantity instead of a string for storageRequestSize in the Cluster definition.
2026-01-22 13:13:06 +00:00
jpgouin
0cea0c9e14
Only reconcile the server resource on the StatefullSet Controller ( fix #618 )
2026-01-21 16:53:52 +01:00
Kevin McDermott
d12f3ea757
Fix lint issues and failing test.
...
golangci-lint was complaining about duplicate imports of corev1 and the
ordering of them in the files.
2026-01-21 14:50:30 +00:00
Kevin McDermott
9ea81c861b
Use resource.Quantity for storageRequestSize
...
Previously the resource.Quantity was stored as string which allowed
invalid values to be created.
This performs validation on the strings using the standard K8s resource
mechanism.
2026-01-21 14:50:28 +00:00
jpgouin
ff6862e511
fix virtual pod NodeSelector #572 ( #616 )
2026-01-20 11:33:42 +01:00
Hussein Galal
a871917aec
Refactor startup command to wait for node IP changes ( #598 )
...
* Patch node ip when server pod restarts
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Refactor startup command and adding safe mode
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add date/time logging to the startup script
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 >
2026-01-09 16:29:47 +02:00
Enrico Candino
e385ceb66f
Fixed missing Kubernetes host version when specified ( #585 )
...
* fix for missing host version
* added test
* fix test
* fix test
2025-12-03 09:21:27 +01:00
Enrico Candino
5c49c3d6b7
Fix create events rbac ( #575 )
...
* cleanup logs in kubelet provider
* added events create rbac to kubelet
* fix lint, moved fetch pod logic in separate func
2025-11-25 13:48:04 +01:00
Enrico Candino
7dc4726bbd
Fixed panic during kubeconfig generate ( #554 )
...
* fix panic during kubeconfig generate
* moved check
2025-11-11 17:18:26 +01:00
Enrico Candino
7144cf9e66
Moved CRDs to Helm templates folder ( #552 )
...
* moved CRDs of Cluster and VirtualClusterPolicy
Updated the generate script to output CRDs to the correct directory and include the keep resource policy annotation.
* fix crd directory in tests
2025-11-11 16:22:56 +01:00
Enrico Candino
af9e1d6ca7
Cleanup orphaned resources after Cluster deletion ( #540 )
...
* adding controller reference for garbage collection, delete API lease
* added test
* fix lint
2025-10-31 15:25:38 +01:00
Enrico Candino
bf70e0d171
Updated Cluster and VirtualClusterPolicy spec for sync and loadbalancer ( #528 )
...
* add default false for ingress and priorityClass, cleanup tests and added new tests
* fix typo for loadBalancer
* fix test aligning VirtualClusterPolicy SyncConfig
* set required enabled field, revert pointer on optional SyncConfig
* update samples
2025-10-24 17:02:26 +02:00
Enrico Candino
075d72df5d
Cleanup of customCAs spec ( #527 )
...
* cleanup spec from customCAs when omitted
* add enabled default for customCAs
2025-10-23 22:11:44 +02:00
Enrico Candino
ee7eac89ce
Enhance logging and update Helm installation parameters for better debugging and cluster management ( #519 )
2025-10-22 14:55:47 +02:00
Enrico Candino
594c2571c3
promoted v1alpha1 resources to v1beta1 ( #505 )
2025-10-13 17:24:56 +02:00
Enrico Candino
7387fc1b23
Fix Service reconciliation error loop ( #497 )
...
* fix service reconciliation error by adding checks for virtual service annotations
* renamed var
2025-10-08 14:03:50 +02:00
Enrico Candino
9f265c73d9
Fix for HA server deletion ( #493 )
...
* wip
* wip
* wip
* removed todo
2025-10-08 13:23:15 +02:00
Enrico Candino
5c95ca3dfa
Fix for pod eviction in host cluster ( #484 )
...
* update statefulset controller
* fix for single pod
* adding pod controller
* added test
* removed comment
* merged service controller
* revert statefulset
* added test
* added common owner filter
2025-10-03 16:22:54 +02:00
jpgouin
6523b8339b
change the default storage request size request to 2Gi ( #490 )
...
* change the default storage request size request to 2Gi
2025-10-03 09:04:13 +02:00
Enrico Candino
7585611792
Rename PodController to StatefulSetController ( #482 )
...
* renamed pod.go
* update statefulset controller
* fix for single pod
* added test, revert finalizer
* wip ha deletion
* revert logic
* remove focus
2025-10-01 17:06:24 +02:00
Hussein Galal
0bd681ab60
Lb service status sync ( #451 )
...
* Sync service LB status back to virtual service
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Sync service LB status back to virtual service
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-10-01 13:25:31 +03:00
Enrico Candino
04198652d5
check for single expose mode ( #466 )
2025-09-17 10:39:55 +02:00
Hussein Galal
72eb819216
Add imagepullsecrets to controller, server, and agents ( #455 )
...
* Add imagepullsecrets to controller, server, and agents
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 >
* fix test cli
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fxing tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add agent section to helm chart values
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix charts values
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fixing chart and refactoring cluster config
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* default lists to the values of imagepullsecrets
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* more 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 >
* fix version image function and add unit tests
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* simplify arguments and remove registry from the code
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-09-17 11:29:01 +03:00
Hussein Galal
aca01127f8
Fix PVC sync and sync defaults ( #458 )
...
* Fix PVC sync and sync defaults
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix PVC sync and sync defaults
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fixes to pvc sync
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* increase the timeout on the e2e test
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* configure the syncConfig correctly in vcp
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 policy unit test
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* revert timeout of the test to 20 second
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-09-16 13:01:12 +03:00
Hussein Galal
caf785f23b
Add resources sync configuration ( #431 )
...
* Add resources sync configuration
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* update 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 >
* refactor cluster sync
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* wsl
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* more fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* more fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* simplify the syncerContext
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* simplify the syncerContext
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* drop the ClusterClient struct
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix updates to syncer
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* lint
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* refactor secrets/configmaps sync
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* refactor secrets/configmaps sync
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* docs
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add imagepullsecret translation
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix test
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* add exception for deleted resources
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* linting fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* remove the option to disable imagepullsecret translation
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-09-01 14:34:29 +03:00
Hussein Galal
8d89c7d133
Fix service port for generated kubeconfig secret ( #433 )
...
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-08-18 09:17:30 +03:00
Enrico Candino
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
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
Enrico Candino
2047a600ed
Migrate golangci-lint to v2 ( #424 )
...
* golangci-lint upgrade
* fix lint
2025-07-22 10:10:26 +02:00
Hussein Galal
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
Enrico Candino
1048e3f82d
fix for portallocator initialization ( #423 )
2025-07-21 17:03:39 +02:00
Enrico Candino
748a439d7a
fix for restoring policy ( #413 )
2025-07-17 10:25:09 +02:00
Enrico Candino
2ab71df139
Add Conditions and current status to Cluster ( #408 )
...
* Added Cluster Conditions
* added e2e tests
* fix lint
* cli polling
* update tests
2025-07-14 15:53:37 +02:00
Enrico Candino
753b31b52a
Adding configurable maxConcurrentReconcilers and small CRD cleanup ( #410 )
...
* removed Persistence from Status, fixed default for StorageSize and StorageDefault
* added configurable maxConcurrentReconciles
* fix concurrent issues
* add validate as prereq for tests
2025-07-10 14:46:33 +02:00
Hussein Galal
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
Enrico Candino
bf82318ad9
Add PriorityClass reconciler (virtual cluster -> host) ( #377 )
...
* added priorityclass controller
* added priorityClass controller tests
* fix for update priorityClass
* fix system skip priorityclass
* fix name
2025-07-01 11:03:14 +02:00
Hussein Galal
44aa1a22ab
Add pods/attach permission to k3k-kubelet ( #400 )
...
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-06-27 16:42:05 +03:00
Hussein Galal
b81073619a
Generate kubeconfig secret ( #392 )
...
* Generate kubeconfig secret
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix typo
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix typo
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-06-23 14:31:36 +03:00
Enrico Candino
f389a4e2be
Fix Network Policy reconciliation ( #388 )
...
* logs
* fix delete cleanup
* update spec
* added policyName to status, skip netpol for policy managed clusters
2025-06-20 16:10:47 +02:00
Hussein Galal
d1f88c32b3
Ephemeral containers fix ( #371 )
...
* Update virtual kubelet and k8s to 1.31.4
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix ephemeral containers in provider
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix linters
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 comments
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-06-20 12:52:45 +03:00
Enrico Candino
b8f0e77a71
fix for empty namespace ( #375 )
2025-06-19 14:28:27 +02:00
Enrico Candino
2655d792cc
Update allowedModeTypes field to allowedMode ( #367 )
...
* change allowedModeTypse to allowedMode
* added shortname "vcp" and additional mode column
2025-05-29 14:53:58 +02:00
Enrico Candino
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
jpgouin
2b1448ffb8
add air-gap support ( #359 )
...
* add airgap support
* add airgap howto guide
2025-05-27 10:13:07 +02:00
Enrico Candino
cca3d0c309
Rename ClusterSet to VirtualClusterPolicy ( #349 )
...
* rename clusterset to policy
* fixes
2025-05-15 12:04:47 +02:00
Hussein Galal
37fe4493e7
Fix HA init server scaling ( #333 )
...
* Fix HA init server scaling
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* increase timeout in e2e test
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-05-12 11:51:35 +03:00
Enrico Candino
96a4341dfb
Services updates (LoadBalancerConfig and NodePortConfig) ( #329 )
...
* updates to services
- added loadBalancerConfig
- removed service-port
- added logic to not expose services
* Refactor cluster tests to improve readability and maintainability
- Simplified service port expectations by directly accessing elements instead of using `ContainElement`.
- Enhanced clarity of test assertions for `k3s-server-port` and `k3s-etcd-port` attributes.
- Removed redundant code for checking service ports.
* fix ports for ingress expose, update kubeconfig generate
2025-04-22 11:52:18 +02:00
Hussein Galal
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