Skip to content

n-at/ensemble

Repository files navigation

ensemble

Web service for ansible playbooks execution.

Screenshot

Building

Go 1.18+ and npm 7+ required.

cd assets
npm install
cd ..
go build -a -o app

Configuration

Configuration is passed via environment variables or .env file. See .env.sample for variables list and example configuration.

Repository file structure

ensemble requires opinionated playbook repository structure:

Repository root
|- /inventories/
|  |- main.yml
|  |- ...yml
|- /roles/
|  |- /role-1/
|  |- /role-2/
|  |- /.../
|- /vars/
|  |- main.yml
|  |- vault.yml
|  |- ...yml
|- .gitignore
|- colections.txt
|- playbook-1.yml
|- playbook-2.yml
|- ...yml

/inventories/ contains ansible inventory files (in YAML or classic formats). Default inventory file is main.yml, other files will be treated as alternatives.

/roles/ - standard directory for ansible roles.

/vars/ - contains variables:

  • main.yml - default file, when exists always included in playbook run
  • vault.yml - file encrypted with ansible vault, when exists always included in playbook run (requires vault password in project settings)
  • other YAML files will be treated as alternatives - can be included after vault.yml and main.yml to override variables defined there

collections.txt contains names of custom collections to install with ansible galaxy before playbook run.

YAML files in root will be treated as ansible playbooks. Each playbook can contain name and description in front matter comment, for example:

#First line is playbook name
#Second and forth lines are 
#playbook description
#...
---

Uses

About

Web service for ansible playbooks execution.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published