Чекеры в hostname должны уметь принимать как просто hostname без порта (например "127.0.0.1"), так и с указанием порта (например "10.118.0.20:2102"). Если порт не указан - использовать дефолтный для сервиса.
checker.py
должен быть исполняемым (chmod +x checker.py
).
Шебанг (первая строка в файле):
#!/usr/bin/env python3.9
Important: нужно указать именно 3.9, ибо там несколько python'ов на тачке с чексистемом... исправим когда-нибудь.
Important: чекер должен уметь запускаться из произвольной директории. НЕ ИСПОЛЬЗУЙТЕ ОТНОСИТЕЛЬНЫЕ ПУТИ https://stackoverflow.com/questions/3430372/how-do-i-get-the-full-path-of-the-current-files-directory вам в помощь.
- Использовать
version
не более 3.7 - Если нужны ограничения по ресурсам - использовать
version: 2.x
- под каждый сервис даётся по целой виртуалке, так что можно не ограничивать ресурсы особо
Сервис копируется на отдельную виртуалку в /home/ctfcup
.
Делается systemd сервис, одноименный с названием сервиса (но в нижнем регистре).
Он просто делает docker-compose up
в папочке с сервисом.
- В папочке
/teams
этого репозитория лежат все пароли и явки /teams/for_dev.ssh_key
- ключ доступа ко всем виртуалкам. Пользователь -ctfcup
(на командах) либоubuntu
(на серверах)sudo openvpn ./teams/for_devs.ovpn
- подключится через OpenVPN к сети игры как разработчик (будет сетевой доступ до всего).10.118.0.10
- чексистема- пароль от неё подсмотреть можно в
./ansible/cs
, полеcs_admin_auth
. - текущий пользователь/пароль:
root:YswhZ2vWH7aJZl3r
Сеть описана в ./teams/TEAM_README
, там можно подсмотреть ip виртуалок
См. сюда про свой сервис: https://github.com/HackerDom/ctfcup-2021-AD/actions Запускается при пуше в мастер.
2 этапа:
- первоначальная проверка
- деплой на стенд (только если первая часть зелёная)
Если красное - всё плохо, смотрите логи. Если непонятно что пошло не так - приходите к админам) Если первая часть зелёная, а всёравно ничего не работает - попробуйте зайти на виртуалку с сервисом у какой-нибудь команды и разобраться что не так.