Metadata-Version: 2.1
Name: ansible-deployer
Version: 0.0.35
Summary: Wrapper around ansible-playbook allowing configurable tasks and permissions
Home-page: https://github.com/cinek810/ansible-deployer
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
License-File: LICENSE

# ansible-deployer
However ansible is a great tool for IT infrastructure automation in certain cases it's hard to use
it for the complete deployment, because of that tools like ansible-tower/AWX try to wrap it's
activity making further assumptions on the way ansible code is stored (versioning repository), the
way it's executed - certain combinations of inventory/playbook/tag options used to achieve specific
goals. Having it in mind ansible-deployer may be treated as yet another ansible-playbook wrapper, but
focused on comprehensive command line intrface and easy YAML based configuration.

## Some main fatures are
- The results of whole excution are logged and saved together with the ansible code state for
potential review in the future.
- Only one active ansible-deployer per ansible inventory is allowed, attempt to execute ansible-deployer
on already locked infrastructure will be rejected.
- Working directory is setup per every execution of ansible-deployer separately to store the code
state used. This is done by site configurable hook.
- It's possible to lock/unlock inventory (defined as --infra --stage pairs) for manual manipulation,
stopping ansible-deployer from being used.

## Configuration files
- `tasks.yaml` - Configuration of tasks (sets of playbooks to be executed)
- `infra.yaml` - Configuration of infrastructures and stages of those mapping to ansible inventory

## Examples
```
ansible-deployer run --task updateUsers --infra webServers --stage prod
```


