Skip to content

Commit af5b62d

Browse files
Add KubeSlice Project ideas (#1478)
* Update project_ideas.md Add Kubeslice Project ideas Signed-off-by: gourishkb <[email protected]> * Update project_ideas.md remove formatting(bold text) for terms in project proposals Signed-off-by: gourishkb <[email protected]> * Update project_ideas.md remove multuns project Signed-off-by: gourishkb <[email protected]> * Update project_ideas.md add IPAM Project proposal, Custom Topology project proposal Signed-off-by: gourishkb <[email protected]> --------- Signed-off-by: gourishkb <[email protected]> Signed-off-by: Nate W <[email protected]> Co-authored-by: Nate W <[email protected]>
1 parent bedd644 commit af5b62d

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

programs/lfx-mentorship/2025/03-Sep-Nov/project_ideas.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,3 +502,76 @@ Cartography has very good AWS coverage, but lacks support for many Azure and GCP
502502
Upstream issues
503503
- https://github.com/cartography-cncf/cartography/issues/1736
504504
- https://github.com/cartography-cncf/cartography/issues/415
505+
506+
### KubeSlice
507+
508+
#### Implement Dynamic IPAM for the Slice Overlay Network
509+
510+
- Description: In the current KubeSlice design, IP address management (IPAM) for slice overlay networks is static and inefficient. A predefined CIDR block (e.g., 10.1.0.0/16) is divided into a fixed number of subnets regardless of how many clusters participate in the slice, leading to significant IP space wastage.
511+
This project aims to implement a dynamic IPAM system that allocates IP subnets to clusters on demand and reclaims unused ranges when clusters leave the slice. It will ensure efficient address utilization, synchronization across clusters, and integration with the KubeSlice control plane.
512+
513+
- Expected Outcome:
514+
- A dynamic IPAM allocator integrated with the KubeSlice controller or sidecar component.
515+
- Support for on-demand IP allocation and subnet reclamation when clusters join or leave a slice.
516+
- Conflict resolution and state synchronization across clusters using CRDs or distributed storage.
517+
- Documentation on how the system works, configuration options, and edge case behaviour.
518+
519+
- Recommended Skills:
520+
Go (Golang), Kubernetes controllers and CRDs, IPAM concepts, networking (CIDRs, subnets).
521+
522+
- Mentor(s):
523+
- Gourish Biradar (@gourishbiradar, [email protected])
524+
- Rahul Kumar (@Rahul-D78, [email protected])
525+
- Prabhu Navali (@pnavali, [email protected])
526+
527+
- Upstream Issue: https://github.com/kubeslice/kubeslice-controller/issues/252
528+
529+
#### Implement Custom Topology Definition for a Slice
530+
531+
- Description: KubeSlice currently uses a full-mesh topology for the slice overlay network, where every cluster connects to every other cluster in the slice. This results in unnecessary tunnel creation and resource consumption.
532+
This project proposes a topology-aware design, allowing users to define custom connectivity matrices for slices. Users can specify partial meshes. Additionally, the project will support configuring each cluster's VPN deployment type (client/server) to accommodate network constraints such as firewalls or NAT.
533+
534+
- Expected Outcome:
535+
- Extension of the Slice CRD to support custom topology and VPN role definitions.
536+
- Logic to establish tunnels based only on the defined connectivity matrix.
537+
- Support for various deployment topologies (full-mesh, partial mesh, hub-spoke).
538+
- Sample configurations and documentation on how to define and validate topologies.
539+
540+
- Recommended Skills:
541+
Go (Golang), Kubernetes CRDs and controllers, VPN networking concepts (client/server), overlay networking.
542+
543+
- Mentor(s):
544+
- Gourish Biradar (@gourishbiradar, [email protected])
545+
- Rahul Kumar (@Rahul-D78, [email protected])
546+
- Prabhu Navali (@pnavali, [email protected])
547+
548+
- Upstream Issue: https://github.com/kubeslice/kubeslice-controller/issues/253
549+
550+
551+
#### Implement Comprehensive Unit & Integration Testing for kubeslice-cli
552+
553+
- Description: The kubeslice-cli repository currently lacks comprehensive unit and integration tests making it hard to test the changes. This project aims to implement a robust testing framework to ensure the reliability and stability of the CLI tool. The Mentee will write unit tests for existing functions & integration tests for the CLI commands & also set up a continuous integration pipeline to run these tests automatically on every commit and pull request.
554+
- Expected Outcome:
555+
- A fully configured testing framework for kubeslice-cli with unit and integration tests covering all critical functionalities.
556+
- A CI/CD pipeline configuration (e.g., GitHub Actions) that automatically runs the tests on every pull request.
557+
- Documentation on how to run these tests & add new ones.
558+
- Recommended Skills: Go (Golang), Go testing frameworks (testify), Kubernetes, CLI, CI/CD (GitHub Actions).
559+
- Mentor(s):
560+
- Gourish Biradar (@gourishbiradar, [email protected])
561+
- Rahul Kumar (@Rahul-D78, [email protected])
562+
- Prabhu Navali (@pnavali, [email protected])
563+
- Upstream Issue: https://github.com/kubeslice/kubeslice-cli/issues/46
564+
565+
#### Enhance and Automate End-to-End (E2E) Testing Across the KubeSlice Ecosystem
566+
567+
- Description: The KubeSlice project consists of multiple repositories that work together to provide application connectivity and network services across Kubernetes clusters. Currently, our E2E tests are outdated and need significant improvement. This project aims to automate the E2E testing process by improving the current test suite and implementing new tests where necessary. This will ensure that the entire KubeSlice ecosystem works seamlessly together.
568+
- Expected Outcome:
569+
- A comprehensive set of E2E tests covering all critical functionalities of KubeSlice.
570+
- Integration of the E2E tests into the CI/CD pipeline to run automatically.
571+
- Clear Documentation for running & extending the E2E tests.
572+
- Recommended Skills: Go (Golang), Kubernetes, E2E testing (kind, Ginkgo), CI/CD (GitHub Actions).
573+
- Mentor(s):
574+
- Gourish Biradar (@gourishbiradar, [email protected])
575+
- Rahul Kumar (@Rahul-D78, [email protected])
576+
- Prabhu Navali (@pnavali, [email protected])
577+
- Upstream Issue: https://github.com/kubeslice/kubeslice/issues/56

0 commit comments

Comments
 (0)