Enrico Candino
06c5aee7c9
add importas linter ( #779 )
2026-04-13 17:25:17 +02:00
Hussein Galal
183c5a0a5a
Fix networkpolicy for kube-ovn network ( #691 )
...
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2026-04-03 15:32:32 +02:00
Enrico Candino
18889ba6b7
Removed Pod mutating Webhook (shared mode) ( #699 )
...
* removed all webhook references
* fix tests
* removal of webhook
* updated doc
* add downward API test
* small refactor of virtual-kubelet
* split tests
2026-03-31 10:29:22 +02:00
Enrico Candino
7641a1c9c5
Add sync of Host StorageClasses ( #681 )
...
* initial impl
* wip test
* fix
* wip tests
* Refactor storage class sync logic and enhance test coverage
* fix test
* remove storageclass sync test
* removed commented code
* added sync to cluster status to apply policy configuration
* fix for storageClass policy indexes
* fix for missing indexed field, and label sync
* - update sync options descriptions for resource types
- added storage class tests sync with policy
- requested changes
* fix for nil map
2026-03-17 16:53:29 +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
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
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
9f265c73d9
Fix for HA server deletion ( #493 )
...
* wip
* wip
* wip
* removed todo
2025-10-08 13:23:15 +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
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
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
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
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
jpgouin
2b1448ffb8
add air-gap support ( #359 )
...
* add airgap support
* add airgap howto guide
2025-05-27 10:13:07 +02: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
Enrico Candino
c4cc1e69cd
requeue if server not ready ( #318 )
2025-04-03 10:45:18 +02:00
Enrico Candino
2b7202e676
Added NetworkPolicy for Cluster isolation ( #290 )
...
* added cluster NetworkPolicy
* wip tests
* remove focus
* added networking test
* test refactoring
* unfocus
* revert labels
* added async creation of clusters, and namespace deletion
* add unfocus validation
2025-03-07 14:36:49 +01:00
Enrico Candino
430e18bf30
Added wsl linter, and fixed related issues ( #275 )
...
* added wsl linter
* fixed issues
2025-02-27 10:59:02 +01:00
Hussein Galal
c2cde0c9ba
Fix the default CIDRs for both modes ( #271 )
...
* Fix the default CIDRs for both modes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix service/cluster cidr
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-02-26 11:32:17 +02:00
Enrico Candino
26a0bb6583
Added ServiceCIDR lookup, and changed default ( #263 )
...
* added serviceCIDR lookup
* fix log
* fix comment
* swap serviceCIDR lookup
2025-02-24 12:08:58 +01:00
Hussein Galal
8811ba74de
Fix cluster spec update ( #257 )
...
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-02-18 15:40:49 +02:00
Hussein Galal
fa553d25d4
Default to dynamic persistence and fix HA restarts ( #250 )
...
* Default to dynamic persistence and fix HA restarts
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2025-02-14 14:26:10 +02:00
Enrico Candino
51a8fd8a8d
Fix and enhancements to IngressExposeConfig (annotations) ( #248 )
...
* ingress fixes
* added annotations to IngressConfig
* sync annotations with CR
* removed hosts
* small doc for ingress
2025-02-14 12:38:42 +01:00
Enrico Candino
fdb133ad4a
Added Ports to NodePortConfig and expose fixes ( #247 )
...
* fix NodePort service update
* updated crd docs
2025-02-11 14:47:01 +01:00
Enrico Candino
48efbe575e
Fix Webhook certificate recreate ( #226 )
...
* wip cert webhook
* fix lint
* cleanup and refactor
* fix go.mod
* removed logs
* renamed
* small simplification
* improved logging
* improved logging
* some tests for config data
* fix logs
* moved interface
2025-02-05 21:55:34 +01:00
Enrico Candino
2a7541cdca
Fix missing updates of server certificates ( #219 )
...
* merge
* wip test
* added test for restart
* tests reorg
* simplified tests
2025-02-04 09:17:56 +01:00
Enrico Candino
bc3f906280
Fix status update, updated k3s default version, updated CRDs ( #218 )
...
* fix status update
* fix schema and default image
* removed retry in controller
* removed fmt
2025-01-30 12:56:42 +01:00
Enrico Candino
54be0ba9d8
Logs and organization cleanup ( #208 )
...
* logs and organization cleanup
* getting log from context
* reused log var
2025-01-29 12:03:33 +01:00
Enrico Candino
72b5a98dff
Fix typos and adding spellcheck linter ( #215 )
...
* adding spellcheck linter
* fix typos
2025-01-28 17:47:45 +01:00
Enrico Candino
44045c5592
Added test (virtual cluster creation, with pod) and small kubeconfig refactor ( #211 )
...
* added virtual cluster and pod test
* moved ClusterCreate
* match patch k8s host version
2025-01-24 22:26:01 +01:00
Hussein Galal
931c7c5fcb
Fix secret tokens and DNS translation ( #200 )
...
* Include init containers in token translation
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix kubernetes.defaul service DNS translation
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add skip test var to dapper
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add kubelet version and image pull policy to the shared agent
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-01-23 01:55:05 +02:00
Enrico Candino
b0aa22b2f4
Simplify Cluster spec ( #193 )
...
* removed some required parameters, adding defaults
* add hostVersion in Status field
* fix tests
2025-01-21 21:19:44 +01:00
Hussein Galal
ccaa09fa4a
Add PVC syncing support ( #179 )
...
* Add pvc syncing support
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-01-14 20:57:04 +02:00
Enrico Candino
7fdd48d577
Implementation of GetStatsSummary and GetMetricsResource for Virtual Kubelet ( #163 )
...
* implemented GetStatsSummary and GetMetricsResource for Virtual Kubelet
* fixed ClusterRole for node proxy
* limit the clusterrole with get and list
* remove unused Metrics client interface
2024-12-27 11:41:40 +01:00
Hussein Galal
6739aa0382
Initial networking support for shared mode ( #154 )
...
* Initial networking support for shared mode
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix deletion logic and controller reference
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 >
* golintci
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2024-12-10 23:22:55 +02:00
Hussein Galal
84f921641b
Token random generation ( #136 )
...
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2024-11-01 21:27:03 +02:00
Hussein Galal
f04902f0a2
Add structured logging via zap ( #133 )
...
* Add structured logging properly
use a centralized logger wrapper to work with controller and virt-kubelet
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix some log messages
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 >
2024-10-22 01:04:21 +03:00
Hussein Galal
d19f0f9ca6
virtual-kubelet controller integration ( #130 )
...
* Virtual kubelet controller integration
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add k3k-kubelet image to the release workflow
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Add k3k-kubelet image to the release workflow
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix build/release workflow
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Remove pkg directory in k3k-kubelet
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* rename Type to Config
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Move the kubelet and config outside of pkg
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* fix comments
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix naming throughout the package
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Fix comments
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* more fixes to naming
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 >
* fixes
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2024-10-21 22:54:08 +03:00