Replies: 1 comment
-
|
Simpler is good. 👍 The original This might be a good opportunity to move to something that's more widely adopted (specifically) for config management - like Dynaconf (or something else)? That would retain config files for those who want/need that capability, and it has good support for secrets management, but still eases the management of merging values. It's a very standard setup. It also already inherently supports Flask app config. Regardless, I'd still support retiring Answers
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Cyberbro currently supports two configuration sources:
secrets.json.env-driven workflows)At runtime, configuration is loaded from
secrets.jsonfirst, then overridden by environment variables.There is also an optional
/configGUI page that can update secrets and write them to disk (secrets.json). This page is already disabled by default and documented as unsafe for public/team use.Why I’m opening this discussion
I’m considering dropping
secrets.jsonsupport and using environment variables only (typically via.envfor local/dev and secret injection for production).Main reason: security and design clarity.
Also, we currently maintain dual behavior (
secrets.json+ ENV + config page), which increases complexity and ambiguity.Current design concern
Today, even if secrets are provided from environment variables, the app logic can write a
secrets.jsonfile at runtime when values differ from defaults.That means values injected via environment may still be persisted to disk by the application, which weakens the “secret-in-env” model and can surprise operators.
Proposal
Adopt a clear policy:
secrets.jsonread/write path/configpage secret editing workflow (or keep only non-sensitive runtime toggles, if any)Expected benefits
Trade-offs
Scope boundary
I’m intentionally trying to avoid turning this into a full multi-user admin system.
Adding auth/roles/session management only to protect a config page was never the goal of Cyberbro, and I don’t want to rebuild something comparable to IntelOwl’s architecture.
Migration idea (if accepted)
secrets.jsonas deprecated in next releasesecrets.jsonis detected.env/environment-onlyQuestions for maintainers and users
/configin real deployments, or only in local testing?I’d like to converge on a secure, simple default before the project grows further. Please, let me know what you think!
Stan
Beta Was this translation helpful? Give feedback.
All reactions