Yay N teams are now created

main
Gasper Spagnolo 2022-11-01 09:18:07 +01:00
parent ee8e4da025
commit 988e628c9a
5 changed files with 74 additions and 12 deletions

View File

@ -2,18 +2,21 @@
- name: Setup ForcAD infra
hosts: forc_ad
become: true
vars_files:
- './vars/main.yml'
tasks:
- name: Install docker on machine
vars_prompt:
- name: "n_teams"
prompt: "How many teams do yo wish me to create?"
private: false
tasks:
- name: install and setup forcad
include_role:
name: docker
name: forcad
tasks_from: main
# - name: install and setup forcad
# - name: Setup team lxc containers and services
# include_role:
# name: forcad
# name: services
# tasks_from: main
- name: Setup team lxc containers and services
include_role:
name: services
tasks_from: main

View File

@ -2,6 +2,8 @@
- name: Nuke ForcAD infra
hosts: forc_ad
become: true
vars_files:
- './vars/main.yml'
tasks:
- name: Destory forcAD

View File

@ -42,10 +42,14 @@
dest: "{{ forc_ad_directory }}/checkers"
mode: '0755'
- name: Generate n teams
set_fact: teams="{{ teams|default([]) + [ item ] }}"
loop: "{{ range(1, n_teams|int + 1 , 1) | list }}"
- name: Copy forcAD config
ansible.builtin.copy:
src: "config.yml"
dest: "{{ forc_ad_directory }}"
ansible.builtin.template:
src: "config.yml.j2"
dest: "{{ forc_ad_directory }}/config.yml"
- name: Setup forcAD
ansible.builtin.command:

View File

@ -0,0 +1,46 @@
admin:
password: {{ admin_password }}
username: {{ admin_username }}
game:
mode: classic
round_time: 20
start_time: {{ start_time }}
timezone: Europe/Ljubljana
default_score: 2500
flag_lifetime: 5
game_hardness: 10.0
inflation: true
tasks:
- checker: baby_sql_checker/checker.py
checker_timeout: 10
checker_type: hackerdom
gets: 2
name: baby_sql_checker_name
places: 5
puts: 2
- checker: dummy_checker/checker.py
checker_timeout: 10
checker_type: gevent
gets: 2
name: dummy_checker_name
places: 5
puts: 2
- checker: hash_me_please_checker/checker.py
checker_timeout: 10
checker_type: gevent
gets: 2
name: hash_me_please_checker_name
places: 5
puts: 2
teams:
{% for team in teams %}
- ip: 192.168.1.{{ team }}
name: "Team {{ team }}"
highlighted: true
{% endfor %}

View File

@ -7,3 +7,10 @@ forc_ad_link: 'https://github.com/pomo-mondreganto/ForcAD/releases/download/v1.4
# forcAd zipfile
forc_ad_zipfile: 'ForcAD_v1.4.0.zip'
# forcAD creds
admin_username: 'forcad'
admin_password: 'forcad420'
# Startime for the game
start_time: '2019-11-30 15:30:00'