You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
2.2 KiB
YAML

---
- hosts: localhost
connection: local
become: true
tasks:
- set_fact:
portainer_password: "portainer-password-{{ 10000 | random }}"
- name: Install Docker Module for Python
pip:
name:
- docker
- docker-compose
- boto3
- name: Remove Portainer
docker_compose:
project_src: 'tests'
state: absent
- name: Remove portainer volume
docker_volume:
name: portainer_data
state: absent
- name: Create portainer volume
docker_volume:
name: portainer_data
state: present
- name: Deploy Portainer
docker_compose:
project_src: 'tests'
state: present
- name: Portainer | Wait for ready
uri:
url: http://localhost:9000
method: GET
status_code: 200
register: result
until: result.status == 200
retries: 60
delay: 1
- debug: msg="{{result}}"
- name: Register Portainer Admin User
uri:
url: http://localhost:9000/api/users/admin/init
method: POST
body:
Username: admin
Password: "{{ portainer_password }}"
status_code: 200
body_format: json
register: result
until: result.status == 200
retries: 60
delay: 1
- name: Backup Portainer
include_role:
name: docker_s3_backup
vars:
container_backup: portainer
- name: Remove Portainer
docker_compose:
project_src: 'tests'
state: absent
- name: Remove portainer volume
docker_volume:
name: portainer_data
state: absent
- name: Restore Portainer Volume
include_role:
name: docker_s3_volume_restore
vars:
docker_backup_restore_latest_s3_key: true
docker_backup_s3_volume:
name: portainer_data
- name: Deploy Portainer
docker_compose:
project_src: 'tests'
state: present
- name: Auth as old user
uri:
url: http://localhost:9000/api/auth
method: POST
body:
Username: admin
Password: "{{ portainer_password }}"
status_code: 200
body_format: json
register: result
until: result.status == 200
retries: 60
delay: 1
- assert:
that:
- result.status == 200