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

Add out-of-the-box config handling #522

Open
radiohead opened this issue Dec 4, 2024 · 1 comment
Open

Add out-of-the-box config handling #522

radiohead opened this issue Dec 4, 2024 · 1 comment

Comments

@radiohead
Copy link
Contributor

What

While building an app and deploying it to a Kubernetes cluster, I ended up implementing custom config parsing & handling for both the pre-defined config for operator.RunnerConfig and app.SpecificConfig.

I believe this should be simplified and the SDK should provide (and generate) a way to parse & handle at least the pre-defined configs, but ideally also provide helpers for parsing & handling specific configs (for those, devs will still have to define flags / env vars / etc. manually).

Why

To remove friction and reduce the amount of footguns. Having a standard way of parsing configs will also help us with providing generic Jsonnet / Helm libraries for deploying app operators.

@radiohead
Copy link
Contributor Author

radiohead commented Dec 4, 2024

A few extra bits, related to config:

  • We should provide a generic logging config and handle it in the SDK
  • We should wire up tracing config in operator.Runner (Yes it's global but I think it's OK to always initialize it there by default. If necessary, devs can pass e.g. Enabled: false to disable tracing initialization in the runner).
  • operator.RunnerConfig does not expose some fields from simple.AppConfig. I think this is related to Refactor operator Package #454 but in general I think we should reduce the amount of configs we pass around (e.g. just have app.Config and 1 config per runner type, which extends app.Config with runner-specific settings).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant