daeuniverse / daeuniverse/dae

[Feature Request] Support corn configuration

Open
#335 6 comments 1 reaction 0 assignees View on GitHub
topic/feature
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.