https://github.com/src-d/combustion
https://github.com/src-d/combustion
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/src-d/combustion
- Owner: src-d
- License: mit
- Created: 2016-12-31T10:51:54.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-02T21:06:28.000Z (about 8 years ago)
- Last Synced: 2025-05-05T05:05:48.621Z (about 2 months ago)
- Language: Go
- Size: 28.3 KB
- Stars: 3
- Watchers: 3
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# combustion [](https://travis-ci.org/src-d/combustion)
Documentation
-------------Combustion files are a extension to [container linux config](https://github.com/coreos/container-linux-config-transpiler/blob/master/doc/configuration.md) specification, some extra functionalities.
### Output
_Output_ defines the filename of the output for the file, if empty or not present the file is not written to the disk.
### Type
_Type_ defines the format of the output, the supported options are: `cloud-config`, `ignition` or `container-linux`, by default `container-linux` is used.
### Import
_Import_ option allows you to import another config file, merging the imported file over the _importing file_.
The _import_ key is a `map`, where the key is the *path* to the file to be imported, relative to the _importing file_, the value is another `map` used to replaced using the [golang template system](https://golang.org/pkg/text/template/).
Given `foo.yaml`:
```yaml
---
import:
bar.yaml:
world: World!foo: bar
baz: qux
```And the `bar.yaml`:
```yaml
---
text: Hello {{.world}}
foo: qux
```The result is:
```yaml
---
text: Hello World!
foo: qux
baz: qux
```### Additional features
Additionally to the described features, a new schema is supported in `storage.file.content.remote.url`, the _file_ schema. When combustion is executed the file, relative to the yaml, is resolved and included inline.
Given `foo.yaml`
```yaml
---
storage:
files:
- path: foo.txt
contents:
remote:
url: file:///foo.txt
```And the `foo.txt`
```
Hello World!
```The result is:
```yaml
---
storage:
files:
- path: foo.txt
contents:
inline: Hello World!
```