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

Consolidate Binaries and Configuration Sprawl #478

Open
jonstacks opened this issue Oct 30, 2024 · 0 comments
Open

Consolidate Binaries and Configuration Sprawl #478

jonstacks opened this issue Oct 30, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@jonstacks
Copy link
Collaborator

We now have 3 different k8s deployments (api,tunnel, and bindings) each running their own manager and each in a separate binary. Each of these also takes their own cobra command line argument options. Some of these options should be shared across each manager and some are unique to each manager.

There are 2 things I think we should tackle:

  1. Our image size is now much larger. Since we build 3 statically linked binaries, much of the each binary size is probably our libs + stdlib. We can probably re-shrink our image size and reduce compilation time by creating a single binary that takes an argument for which manager to run. Ex: ./manager tunnel or ./manager bindings
  2. Configuration sprawl. When we add a new CLI option to a manger, we have to add custom serialization to the helm chart depending on the field type and then we also have to de-serialize it from the command line argument in our go program. Some of these options are duplicated across the managers. You have to go look at each k8s deployment to figure out the configuration for the system. It would be nice if we had a single config file that contained the global options as well as the options for each manager.
@jonstacks jonstacks added the enhancement New feature or request label Oct 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant