From 758ea6e11e381e4d5ea53bc3086f946196e6066c Mon Sep 17 00:00:00 2001 From: Gasper Spagnolo Date: Mon, 31 Oct 2022 16:37:53 +0100 Subject: [PATCH] Containers and images are now removed automatically --- deploy_forcad.yml | 19 ++++++++++++------- roles/destroy/tasks/main.yml | 34 ++++++++++++++++++++++++++++++++++ roles/forcad/files/config.yml | 8 +++++--- roles/forcad/tasks/main.yml | 4 ++++ 4 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 roles/destroy/tasks/main.yml diff --git a/deploy_forcad.yml b/deploy_forcad.yml index d8afc47..68555fd 100644 --- a/deploy_forcad.yml +++ b/deploy_forcad.yml @@ -4,12 +4,17 @@ become: true tasks: - - name: Install docker on machine + # - name: Install docker on machine + # include_role: + # name: docker + # tasks_from: main + # + # - name: install and setup forcad + # include_role: + # name: forcad + # tasks_from: main + # + - name: Destory forcAD include_role: - name: docker - tasks_from: main - - - name: Install and setup forcAD - include_role: - name: forcad + name: destroy tasks_from: main diff --git a/roles/destroy/tasks/main.yml b/roles/destroy/tasks/main.yml new file mode 100644 index 0000000..1f04ff7 --- /dev/null +++ b/roles/destroy/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- name: Get running containers + docker_host_info: + containers: yes + register: docker_info + +- name: Stop running containers + docker_container: + name: "{{ item }}" + state: stopped + loop: "{{ docker_info.containers | map(attribute='Id') | list }}" + +- name: Remove Stoped docker containers + shell: | + docker rm $(docker ps -a -q); + when: (docker_info.containers| length) != 0 + +- name: Get details of all images + docker_host_info: + images: yes + verbose_output: yes + register: image_info + +- name: Remove all images + docker_image: + name: "{{ item }}" + state: absent + loop: "{{ image_info.images | map(attribute='Id') | list }}" + +- name: Delete forcAD directory + ansible.builtin.file: + state: absent + path: '/forc_ad' + diff --git a/roles/forcad/files/config.yml b/roles/forcad/files/config.yml index 5e74d41..31bd036 100644 --- a/roles/forcad/files/config.yml +++ b/roles/forcad/files/config.yml @@ -1,11 +1,13 @@ admin: password: 4206942069 username: forcad + game: mode: classic round_time: 20 start_time: 2019-11-30 15:30:00 timezone: Europe/Ljubljana + checkers_path: '/checkers' default_score: 2500 flag_lifetime: 5 @@ -13,7 +15,7 @@ game: inflation: true tasks: - - checker: baby_sql_checker/checker.py + - checker: /checkers/baby_sql_checker/checker.py checker_timeout: 10 checker_type: hackerdom gets: 2 @@ -21,7 +23,7 @@ tasks: places: 5 puts: 2 - - checker: dummy_checker/checker.py + - checker: /checkers/dummy_checker/checker.py checker_timeout: 10 checker_type: gevent gets: 2 @@ -29,7 +31,7 @@ tasks: places: 5 puts: 2 - - checker: hash_me_please_checker/checker.py + - checker: /checkers/hash_me_please_checker/checker.py checker_timeout: 10 checker_type: gevent gets: 2 diff --git a/roles/forcad/tasks/main.yml b/roles/forcad/tasks/main.yml index 50995c7..6514c30 100644 --- a/roles/forcad/tasks/main.yml +++ b/roles/forcad/tasks/main.yml @@ -49,3 +49,7 @@ - name: Setup forcAD ansible.builtin.command: cmd: "{{ forc_ad_directory }}/.venv/bin/python3 {{ forc_ad_directory }}/control.py setup" + +- name: Start forcAD + ansible.builtin.command: + cmd: "{{ forc_ad_directory }}/.venv/bin/python3 {{ forc_ad_directory }}/control.py start"