Blueprint definitions for xl-cli. These files will be synced to https://dist.xebialabs.com/public/blueprints/ and can be used as xl-cli blueprint repository (set by default).
Simply create a folder and add required files & templates along with the blueprint.yaml file. Refer the CONTRIBUTING.md file at the root of of this repository for more details.
Any changes that are dependent on a new XL CLI version should be done only on the development branch. Master branch should only contain published changes. Development branch needs to be synced to master during every official XL-CLI release
The official blueprints are hosted on our distribution site and are published using the internal Jenkins Job which is triggered manually.
In the publish step of the release, index.json file will be generated automatically based on the directory structure. If needed, generate_index.py script can be run manually to generate the index.json file on the root of the repository.
Every blueprint has a subfolder called __test__ for CI tests. The tests are run in Travis for pull requests.
- Create a
__test__directory in your blueprint's directory - Create a
.yamlfile that starts withtest(e.g.test01.yaml) - Create a
.yamlanswers file containing key/value pairs (For the format of an answers file, see Blueprint Answers File inxl-cliblueprints.md)
| Field Name | Expected value | Examples | Required | Explanation |
|---|---|---|---|---|
| answers-file | — | answers01.yaml |
✔ | The name of the answers file |
| expected-files | Array | dir/file01.txt |
- | Full path of file produced by blueprint |
| not-expected-files | Array | dir/file02.txt |
- | Full path of file not produced because of writeIf |
| expected-xl-values | Dictionary | Varname: val |
- | Expected values in values.xlvals |
| expected-xl-secrets | Dictionary | Varname: val |
- | Expected values in secrets.xlvals |
Example of a testxxx.yaml file:
answers-file: answers01.yaml
expected-files:
- file01.txt
- dir1/file02.txt
non-expected-files:
- dir2/needsdependency.txt
expected-xl-values:
Variable1: value1
Variable2: value2
expected-xl-secrets:
Variable3: value3See the
xl-clidocumentation link above for information on the usage and format of the answers file
Example of a blueprint directory with __test__ directory:
aws/
\-- datalake/
|-- __test__/
| |-- test01.yaml
| \-- answers01.yaml
|-- blueprint.yaml
\-- xebialabs/
When committed, Travis will test your blueprint along with all the others.