Johdanto
English | 中文 | 日本語 | 한국어 | Français | Deutsch | Español | Português | Svenska | Suomi | Nederlands
rust-config-tree tarjoaa uudelleenkaytettavan konfiguraatiopuun latauksen ja CLI-apurit Rust-sovelluksille, jotka kayttavat kerrostettuja konfiguraatiotiedostoja.
Crate on suunniteltu pienen vastuunjaon ymparille:
confiqueomistaa skeemamaaritykset, koodin oletusarvot, validoinnin ja konfiguraatiomallien luonnin.figmentomistaa runtime-latauksen ja runtime-lahdemetadatan.rust-config-treeomistaa rekursiivisen include-lapikaynnin, include-polkujen ratkaisun,.env-latauksen, mallikohteiden tunnistuksen ja uudelleenkaytettavat clap-komennot.
Crate on hyodyllinen, kun sovellus haluaa luonnollisen konfiguraatiotiedostojen asettelun, kuten taman:
include:
- config/server.yaml
- config/database.yaml
log:
level: info
Jokainen sisallytetty tiedosto voi kayttaa samaa skeemamuotoa, ja suhteelliset include-polut ratkaistaan ne maaritelleesta tiedostosta. Lopullinen konfiguraatio on silti tavallinen confique-skeema-arvo.
Paatoiminnot
- Rekursiivinen include-lapikaynti syklien tunnistuksella.
- Suhteelliset include-polut ratkaistaan maarittelevasta tiedostosta.
.envladataan ennen ymparistoprovidereiden arviointia.- Skeemassa maaritellyt ymparistomuuttujat ilman erotinmerkkijakoa.
- Figment-metadata runtime-lahteen seurantaan.
- TRACE-tason lahteenseurannan tapahtumat
tracing-kirjaston kautta. - Draft 7 JSON Schema -luonti editorien taydennysta ja skeeman perustarkistuksia varten.
- Kentta-arvojen validointi sovelluskoodissa
#[config(validate = Self::validate)]-attribuutilla, suoritettunaload_config- taiconfig-validate-polussa. - YAML-, TOML-, JSON- ja JSON5-mallien luonti.
- TOML
#:schema-direktiivit, YAML Language Server -skeemamallirivit ja JSON/JSON5$schema-kentat luoduille malleille. - Opt-in YAML-mallien jakaminen
x-tree-split-merkityille osioille. - Sisaanrakennetut clap-alikomennot konfiguraatiomalleille, JSON Schemalle ja shell-taydennyksille.
- Alemman tason puu-API kutsujille, jotka eivat kayta
confique-kirjastoa.
Julkiset aloituspisteet
Kayta naita APIeja useimmissa sovelluksissa:
load_config::<S>(path)lataa lopullisen skeeman.load_config_with_figment::<S>(path)lataa skeeman ja palauttaa lahteen seurantaan kaytetyn Figment-graafin.write_config_templates::<S>(config_path, output_path)kirjoittaa juurimallin ja rekursiivisesti loydetyt lapsimallit.write_config_schemas::<S>(output_path)kirjoittaa juuri- ja osio-Draft 7 JSON Schema -skeemat.handle_config_command::<Cli, S>(command, config_path)kasittelee sisaanrakennetut clap-konfiguraatiokomennot.
Kayta load_config_tree-funktiota, kun tarvitset lapikayntiprimitiivin ilman confique-kirjastoa.