[Feature Request] Support corn configuration
- Dominant language
- Go
- Stars
- 6.2k
- Forks
- 402
- Avg merge
- 57m
- Merged PRs (30d)
- 2
Description
### Greetings
_No response_
### Feature Request
使用 [corn](https://github.com/corn-config/corn) 配置语言,corn 的灵感来自于 json 和 nix,和 dae 相似
### Use Cases
目前,我们定义 outbound 时是这样使用的
```dae
group {
example_group {
# example policy
policy: example_policy
}
}
```
在 corn 中我们可以创建 Key chaining
```corn
// example policy
{ group.example_group.policy = "example_policy" }
```
以及我们可以在 let 中定义后再使用
```corn
let {
$example_policy = "example_policy"
} in {
group.example_group.policy = $example_policy
}
```
### Potential Benefits
引用 corn 的介绍
> Corn has been designed using inspiration from JSON and Nix to produce a language that's easy and intuitive to write, good for config files, and has a feature-set small enough you can learn it in minutes. It was born out of the following frustrations:
> * JSON is not a config language, despite how often people use it as one.
> * TOML is good for flat structures but gets ugly quickly with deeper objects.
> * YAML is far too complex and its whitespace rules make it error-prone.
> * Nix is a full-sized language and not easy to integrate.
corn 相比 dae 能够有更多功能,也不像 nix 一般引入过多依赖
相比 dae,corn 更加通用
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named in the issue. Begin by determining the configuration parsing and validation scope, then define what successful corn support would cover from the supplied key-chaining and let examples.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100