Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: controlplane gateway API + CLI, part 0 - skeleton #17

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

3Hren
Copy link
Member

@3Hren 3Hren commented Jan 27, 2025

This PR brings the skeleton of the control plane and tries to tie together the CLI, control plane, shared data structures and the data plane.
There are three parts:

  • Controlplane with gRPC gateway API.
  • Golang bindings to the API of shared-memory structures (currently not implemented).
  • Modular CLI.

The first one - the controlplane initializes its gRPC gateway, runs built-in modules, which we decided to put into a single binary, waits them to be registered and then just proxies all requests to them.
Also there are several utility services, such as logging, that allows to dynamically change logging level.

Proxying is implemented without gRPC reflection, but this can be changed later. For now, we just proxy each request to a module to the module itself, but we will change this in the near future by implementing a transactional API.

CLI is implemented as a separate set of binaries united under the core one, which also proxies command-line arguments to a specific one.

@3Hren 3Hren force-pushed the feat/controlplane-gateway branch 3 times, most recently from 02c2bae to 144d4c1 Compare January 28, 2025 10:53
3Hren added 5 commits February 4, 2025 14:32
As an example - a "route" module is attached.
This is required, because "go.mod" file must be committed.
This allows to change logging level dynamically without controlplane restart.
@3Hren 3Hren force-pushed the feat/controlplane-gateway branch from 95f17f1 to 181ef52 Compare February 4, 2025 11:32
@3Hren 3Hren marked this pull request as ready for review February 4, 2025 18:05
@3Hren 3Hren changed the title WIP: controlplane gateway API, part 0 - skeleton feat: controlplane gateway API + CLI, part 0 - skeleton Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant