markusressel / container-app-conf Goto Github PK
View Code? Open in Web Editor NEWConvenient configuration of containerized applications
License: MIT License
Convenient configuration of containerized applications
License: MIT License
Is your feature request related to a problem? Please describe.
When using a custom YAML data source the dev has to call load()
manually which is cumbersome and easy to forget.
Describe the solution you'd like
Automatically load values of data sources when loading config.
Is your feature request related to a problem? Please describe.
Writing config files in CamelCase and env vars in caps can be cumbersome and errorprone.
Describe the solution you'd like
Add an option to ignore case to the datasources.
Describe the bug
When passing a value that is not in the expected range the error message does not print the range which makes it difficult to know what should be entered.
Expected behavior
Print the expected range.
Is your feature request related to a problem? Please describe.
In most situations it is not a good idea to automatically write a reference config to the current directory. F. ex. in CLI applications this can lead to reference files being written all over the place. When instantiating a config manually it can also be quite irritating if reference configs are generated. In such situations it is cumbersome to manually disable reference generation on every instantiation manually.
Describe the solution you'd like
Remove automatic reference generation and provide a public method to do this instead. This method should be accessible from the ConfigBase
class or even a "util" method. This would provide more control to the dev on when and how a reference is generated.
Is your feature request related to a problem? Please describe.
It can be useful to be able to actually have multiple instances of a single config subclass, f.ex. for testing or when running multiple instances of the same program with different configurations.
Describe the solution you'd like
Allow devs to disable the singleton behaviour using a simple constructor parameter.
As the title states.
Describe the bug
When speciying a ConfigEntry
without a default or none_allowed=False
no exception is raised when no value is specified in the config.
The current KEY_PATH_REGEX allows both hyphens and underscores. As brought up in markusressel/keel-telegram-bot#29 hyphens are not POXIS compliant.
Normalize hyphens to underscores in the env source and check for both the original and normalized version to avoid a breaking change.
none_allowed
is a very technical term and although accurate, a more descriptive name like required
should make its use more intuitive.
Since container-app-conf uses an object-oriented approach and pathlib provides objects for paths it would be the more suitable implementation. This also makes further handling of the path way easier.
Dependabot couldn't authenticate with https://pypi.org/simple/.
You can provide authentication details in your Dependabot dashboard by clicking into the account menu (in the top right) and selecting 'Config variables'.
Is your feature request related to a problem? Please describe.
Outputting the current configuration can leak secrets.
Describe the solution you'd like
Allow developers to mark individual config entries as secret
. This information needs to be used in #29 to replace the values of such entries with a placeholder when generating the output.
Is your feature request related to a problem? Please describe.
Oftentimes it is very useful to output the current configuration of an application while it is running though logs or other means.
Describe the solution you'd like
Provide a method to generate a printable description of the current configuration. This method should take a generator (DataSource
?) to provide more flexibility to the way the output is generated.
Additional context
Depends on #30
Add config entry type for specifying regexes.
Is your feature request related to a problem? Please describe.
Constructing a configuration from code is currently quite hard, since one would have to create an instance without validation and manually change config entry values afterwards using property access. This can lead to confusion if those manual changes are done in a different place.
Describe the solution you'd like
Allow devs to pass config values using a constructor parameter.
Add a constructor parameter to IntConfigEntry
and FloatConfigEntry
to limit valid input to a specific range.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.