Ansible
Links
Befehl ausführen
Debugging
- name: Play to get the gathre facts content
hosts: DEV1
tasks:
- name: print ansible_facts
debug:
var: ansible_facts["kernal"]
Playbook
- Playbook nur auf einem Host ausfuehren:
ansible-playbook -l hosts playbook.yml
ansible-playbook --limit hosts playbook.yml
ansible-playbook --syntax-check playbook.yml
Roles
Use su
become: yes
become_user: username
#su: yes
#su_user: username
Vault Secrets
ansible-vault encrypt secrets.yaml
ansible-vault decrypt secrets.yaml
EDITOR=vim ansible-vault edit secrets.yml
ansible-playbook playbook.yaml --ask-vault-password
ansible-playbook playbook.yaml --ask-password-file FILES
- Read password from a file or script:
ansible-playbook --vault-password-file /path/to/my/vault-password-file site.yml
ansible-playbook --vault-password-file my-vault-password-client.py
- name: Load Secrets
include_vars:
file: secrets.yaml
name: secrets
Lokal ausführen
ansible-playbook -i "localhost," -c local workstation.yml
User sudo with a password
Loops
Playbook Examples
Variablen
- debug:
args:
msg: 'System {{ ansible_distribution_release }}'
ansible host -m setup
name: Ansible check directory exists
stat:
path: /etc/pihole
register: folderstat
debug:
msg: "{{ folderstat }}"
Commandline
Variables
- Add variables from another file:
- name: Include vm variables
include_vars:
file: vars/vms.yml
name: vms
set_fact:
vm: "{{ vms.all.hosts[fqdn] }}"
Docker
- name: Create a data container
community.docker.docker_container:
name: mydata
image: busybox
volumes:
- /data