Comments (2)
Figment is working correctly, but what you've written does not match the configuration you're passing in. There are several items of concern.
#[serde(rename = "instance-host")]
pub instance_host: String,
By doing this, you're changing the field name to instance-host
. As a result, a field passed in as instance_host
will not be recognized. Maybe you meant to use serde(alias)
?
Similar to the above, using figment_file_provider_adapter...
FileAdapter
is not part of figment
. Please consult that repository for issues relevant to that type.
As can be seen from code below, I have Env::split set correctly
I assume based on your intro text that you expect MASTODON_INSTANCE_HOST=foo
to work with the following:
Figment::new().merge(Env::raw().split('_'))
For MASTODON_INSTANCE_HOST-foo
, this would produce the equivalent of {mastodon={instance={host=foo}}}
, as indicated in the docs. This does not match the structure you defined. Perhaps you want: Env::prefixed("MASTADON_")
, to use serde(alias)
instead of serde(rename)
, and then to extract to MastodonConfig
directly. Or perhaps you need to split on __
instead; then MASTODON__INSTANCE_HOST
would work, assuming you fix your structure.
from figment.
That all makes sense, sorry for creating a rushed-in issue without checking the library much. Thanks a lot!
from figment.
Related Issues (20)
- Pattern for mixing required fields and optional fields with defaults HOT 3
- There's no way to unset an `Option` field from env variables HOT 2
- Support FromStr/Display serialization and deserialization HOT 3
- serde(flatten) breaks metadata propagation in errors HOT 4
- Override values from configuration from CLI HOT 11
- Pattern advice: How to use config file with required field without setting it? HOT 4
- Jail create_file in subdir HOT 2
- Write back to config file. HOT 3
- [FEATURE REQUEST]: Write a jail file with non-utf8 contents
- Preserve Toml File map Order HOT 3
- Deserializing yaml structure with enumeration fails HOT 5
- Allow Value::find to traverse arrays HOT 1
- Option _not_ to check parent directories for configuration files HOT 1
- [Feature Request] allow to override default name for environment variables HOT 5
- FigmentBuilder
- Clippy and `rustfmt` HOT 2
- Question: Conventions to overwrite nested values with env vars HOT 3
- Question: How to load vector of struct with `Env` provider? HOT 2
- Escaping Jail Error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from figment.