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
Michael Bolot
ab33b3cb3f
Adding poc for virtual kubelet ( #112 )
...
Adds a POC for running pods in the host cluster powered by virtual kubelet.
2024-10-01 00:33:10 +03:00
Michael Bolot
9faab4f82d
Changing the cluster to be namespaced ( #110 )
...
* Changing the cluster to be namespaced
Changes the cluster type to be namespaced (and changes the various
controllers to work with this new feature). Also adds crd generation and
docs to the core cluster type.
* CI fix
2024-09-05 22:50:11 +03:00
Hussein Galal
ba35d12124
Cluster spec update ( #90 )
...
* Remove unused functions
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* enable cluster server and agent update
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2024-01-25 06:37:59 +02:00
Hussein Galal
6fc22df6bc
Cluster type validations ( #89 )
...
* Cluster type validations
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
* Cluster type validations
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
---------
Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com >
2024-01-12 23:09:30 +02:00