apache / apache/shenyu

Things shenyu kubernetes controller may need to do

Open
#5,273 2 comments 0 reactions 0 assignees View on GitHub
kubernetes status: volunteer wanted
Dominant language
Java
Stars
8.8k
Forks
3.1k
Avg merge
7d 1h
Merged PRs (30d)
85

Description

### Volunteer help

Currently, we implement the ingress controller in the shenyu-kubernetes-controller module. It takes the form of spring-starter and is embedded in the gateway data plane. We still have a lot of work to do. The following is TODO list:

1. Explore a true form of declarative control, using horizontal triggering to monitor Kubernetes resources and generate shenyu configurations. This requires the Shenyu data surface to have the ability to read, parse and apply global configuration, just like nginx reads the config file. This can be a big challenge.
2. Provide richer controller architecture options, such as being in a different process from the data plane and communicating through the network. The advantage of the current embedded architecture is low deployment cost, but the disadvantage is obviously the overall instability. The explosion of the control plane will lead to the collapse of the data plane.
3. Use java-native technology to optimize image size and memory usage, and shorten startup time. This is critical for Java cloud native gateways.
4. Configure through CRD. Currently, the configuration of ingress uses a lot of annotations, which is complicated for users to use and also limits the capabilities of Shenyu.
5. Implement the Gateway API of the Kubernetes community.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the shenyu-kubernetes-controller module and its embedded ingress-controller architecture. The issue lists five separate directions, including declarative resource monitoring, process separation, Java-native optimization, CRD configuration, and Kubernetes Gateway API support. A contributor would first need to select and scope one direction; completion criteria are not defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes, spring
Domain
api, backend, cloud, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.