You've already forked ansible-role-csf
59 lines
1.3 KiB
YAML
59 lines
1.3 KiB
YAML
---
|
|
# docker_playbook.yml
|
|
|
|
- hosts: localhost
|
|
become: yes
|
|
|
|
pre_tasks:
|
|
- name: define containers facts
|
|
set_fact:
|
|
containers:
|
|
- name: '{{ DOCKER_NAME }}'
|
|
image: '{{ DOCKER_IMAGE }}'
|
|
init: '{{ DOCKER_IMAGE_INIT | d("/sbin/init") }}'
|
|
tags:
|
|
- always
|
|
|
|
tasks:
|
|
- name: install docker on localhost
|
|
pip:
|
|
name: docker
|
|
extra_args: "--upgrade"
|
|
|
|
- name: create docker containers
|
|
docker_container:
|
|
name: '{{ item.name }}'
|
|
image: '{{ item.image }}'
|
|
command: '{{ item.init }}'
|
|
state: started
|
|
privileged: true
|
|
volumes:
|
|
- '/sys/fs/cgroup:/sys/fs/cgroup:ro'
|
|
loop: '{{ containers }}'
|
|
|
|
- name: add containers to inventory
|
|
add_host:
|
|
name: '{{ item.name }}'
|
|
groups: docker_containers
|
|
ansible_connection: docker
|
|
changed_when: false
|
|
loop: '{{ containers }}'
|
|
|
|
- name: run tasks in containers
|
|
hosts: docker_containers
|
|
strategy: free
|
|
become: yes
|
|
roles:
|
|
- { role: ../.. }
|
|
|
|
- hosts: localhost
|
|
tasks:
|
|
- name: remove docker containers
|
|
docker_container:
|
|
name: '{{ item.name }}'
|
|
state: absent
|
|
loop: '{{ containers }}'
|
|
changed_when: false
|
|
tags:
|
|
- destroy
|