title | categories | language | include_toc | show_comments | cascade | ||||
---|---|---|---|---|---|---|---|---|---|
Ansible Collection Skeleton Manual |
|
yaml |
true |
false |
|
Collection template repository.
[![Build Status](https://travis-ci.org/lordoftheflies/{{ role_name }}.svg?branch=master)](https://travis-ci.org/lordoftheflies/{{ role_name }})
This readme file should contain a the name and a short description/quick docs of the collection and an optional
link to docs/
for more complete documentation.
Current directory structure:
docs/
: local documentation for the collectionlicense.txt
: optional copy of license(s) for this collectiongalaxy.yml
: source data for theMANIFEST.json
that will be part of the collection packageplaybooks/
: playbooks reside here tasks/: this holds 'task list files' for include_tasks/import_tasks usageplugins/
: all ansible plugins and modules go here, each in its own subdirmodules/
: ansible moduleslookups/
: lookup pluginsfilters/
: Jinja2 filter plugins ... rest of pluginsREADME.md
orREADME.rst
: this fileroles/
: directory for ansible rolestests/
: tests for the collection's content
Perform the following changes.
- Fill out metadata in
./galaxy.yml
. - Choose collection type (
roles
,site
). - Push your changes to GitHub
- Integration with Travis-CI
- Provision supported platforms
- Make a release
- Build and publish collection to Ansible Galaxy
- Update documentation (, )
Development environment:
- Vagrant: 2.2.7
- Kvm
Production environments:
- Ansible 2.9+
- Python 3.4+
Setup roles:
ansible-galaxy role install -r requirements.yml -p ./roles
Setup collections:
ansible-galaxy collection install -r requirements.yml -p ./collections
Install plays:
ansible-playbook site.yml -K
Uninstall plays:
ansible-playbook purge.yml -K
Backup plays:
ansible-playbook backup.yml -K
Restore plays:
ansible-playbook restore.yml -K
OS | Version | Distribution | Supported ^1 | Results |
---|---|---|---|---|
Ubuntu | 14.10 | RGB(0,255,0) untested |
||
Ubuntu | 16.10 | RGB(0,255,0) untested |
||
Ubuntu | 18.10 | RGB(0,255,0) unstable |
||
Ubuntu | 19.04 | RGB(0,255,0) unstable |
||
Ubuntu | 19.10 | RGB(0,255,0) supported |
||
Debian | 7 | RGB(0,255,0) supported |
||
CentOS | 7 | RGB(0,255,0) supported |
||
CentOS | 8 | RGB(0,255,0) supported |
||
Fedora | 8 | RGB(0,255,0) unsupported |
||
RedHat | 8 | RGB(0,255,0) unsupported |
||
ArchLinux | 8 | RGB(0,255,0) unsupported |
||
Kali | 8 | RGB(0,255,0) unsupported |
||
OpenSUSE | 8 | RGB(0,255,0) unsupported |
||
MacOS | * | RGB(0,255,0) unsupported |
||
Windows | * | RGB(0,255,0) unsupported |
Service subdomain
These details will remain hidden until expanded.
infrastructure_domain: "cherubits.hu"
infrastructure_services:
- subdomain: plantuml
Results
infrastructure_host
willplantuml.cherubits.hu
@startuml
caption Figure 1: Ansible overview
component "Ansible Controller Machine" as acm
component "Ansible Managed Node" as amn
acm *- amn
@enduml
Add a new technical user for Ansible:
adduser ansible
Generate SSH key pair on Ansible Controller Machine:
ssh-add -t rsa -C $(git config user.email)
eval `ssh-agent -s`
ssh-add ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa