Commit 819b6146 authored by eric pellegrini's avatar eric pellegrini

updated README.md file

parent 76d14914
......@@ -8,29 +8,29 @@ packme
It works by generating *manifest.json* files out of *manifest.yml* files which contain the packer settings for the image to build. The *manifest.yml* files will be searched in a directory which contains as subdirectories the images to be built using `packer`. That directory has to be defined from the CLI (`-t/--templates-dir` option) and has the following structure:
```shell
my_templates_directory/
image1/
manifest.yml
...
imageN/
manifest.yml
my_templates_directory/
image1/
manifest.yml
...
imageN/
manifest.yml
```
Each manifest.yml has the following structure:
```shell
---
parameters:
param1: value1
...
paramN: valueN
packer:
description: packer description string
variables: packer variables dict
builders: packer builders list
provisioners: packer provisioners list
post-processors: packer post processors list
---
parameters:
param1: value1
...
paramN: valueN
packer:
description: packer description string
variables: packer variables dict
builders: packer builders list
provisioners: packer provisioners list
post-processors: packer post processors list
```
The packer section is strictly the YAML representation of a packer json file with the standards description, variables, builders, provisioners and post-processors packer fields. Those fields can contain Jinja2 templates which can be of two flavors: `parameters` or `environment`. `parameters` will be defined in the `parameters` section of the YAML file while `environment` will be either environment variables or variables passed through the `packme` CLI.
......@@ -38,13 +38,13 @@ The packer section is strictly the YAML representation of a packer json file wit
In order to run `packme`, an input configuration file has to be provided. This file is a YAML file which declares the list of the images for which *manifest.json* file will be built and run after with packer. It has the following structure:
```shell
---
templates:
image1:
packages: [package1, ..., packageN]
...
imageN:
extends: image1
---
templates:
image1:
packages: [package1, ..., packageN]
...
imageN:
extends: image1
```
where `packages` defines non standard packages that will added as extra provisioners when generating the *manifest.json* file for the corresponding image.
......@@ -63,5 +63,5 @@ An image can extend another one by starting its building from another image. Thi
### Installation
```shell
pip install packme
pip install packme
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment