Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wfluxor #111

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions provision-contest/ansible/group_vars/all/all.yml.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
DJ_DIR: /opt/domjudge

# Branch to checkout and use.
DJ_BRANCH: main
DJ_BRANCH: wfluxor

# Whether to force-pull changes to the checkout, overwriting any local changes.
DJ_FORCE_UPDATE: true
Expand All @@ -16,24 +16,23 @@ LOCAL_GIT_IP: "{{SERVER_IP_PREFIX}}.207"
# URL and IP of domserver from judgehosts. A hostname 'domserver' with
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
DOMSERVER: https://domjudge
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.215"
DOMSERVER_URL: "{{DOMSERVER}}"
DOMSERVER_URL: "{{ DOMSERVER }}"
DOMSERVER_SSL_CERT: /etc/ssl/certs/domserver.crt
DOMSERVER_SSL_KEY: /etc/ssl/private/domserver.key

# Set this to true when you are using the ICPC World Finals Contest Image
ICPC_IMAGE: false
ICPC_IMAGE: true

# Set this to true when you are using a graphical desktop
GRAPHICAL: false
GRAPHICAL: true

# Set this to true when you use an (ICPC) AWS machine
AWS: true

# Set this when on the blue network at the World Finals where no
# internet access is available and "packages" must be used as APT repo
# server.
WF_RESTRICTED_NETWORK: false
WF_RESTRICTED_NETWORK: true
WF_GREEN: false

# Static IP address configuration. Uses the ansible_host variable as the static
Expand All @@ -55,7 +54,7 @@ HOSTS:
domjudge-laptop: 10.3.3.200
pc2: 10.3.3.241

TIMEZONE: "Europe/Amsterdam"
TIMEZONE: "Africa/Cairo"

PHP_FPM_MAX_CHILDREN: 400
PHP_FPM_MAX_REQUESTS: 500
Expand All @@ -65,17 +64,17 @@ PHP_POST_MAX_SIZE: 256M
PHP_MAX_FILE_UPLOADS: 101

# Git repo URL
DJ_GIT_HOST: "{{LOCAL_GIT_IP}}"
DJ_GIT_HOST: "{{ LOCAL_GIT_IP }}"
DJ_GIT_REPO: "https://github.com/domjudge/domjudge.git"
DJ_GIT_REPO_RESTRICTED: "domjudge@{{DJ_GIT_HOST}}:domjudge"
DJ_GIT_REPO_RESTRICTED: "domjudge@{{ DJ_GIT_HOST }}:domjudge"
DJ_GIT_REPO_SCRIPTS: "https://github.com/domjudge/domjudge-scripts.git"
DJ_GIT_REPO_SCRIPTS_RESTRICTED: "domjudge@{{DJ_GIT_HOST}}:domjudge-scripts-bare"
CONTEST_REPO: "wf2021"
DJ_GIT_REPO_SCRIPTS_RESTRICTED: "domjudge@{{ DJ_GIT_HOST }}:domjudge-scripts-bare"
CONTEST_REPO: "wfluxor"

PHPSTORM_VERSION: 2022.2
PHPSTORM_FULL_VERSION: 222.4345.15
PHPSTORM_VERSION: 2024.1
PHPSTORM_FULL_VERSION: 241.14494.237

GRAFANA_MONITORING: false
GRAFANA_MONITORING: true

# Hostname of the CDS. If set, will add an nginx in front of the CDS
# If not set, will only expose CDS directly
Expand Down
47 changes: 0 additions & 47 deletions provision-contest/ansible/group_vars/all/secret.yml.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@
# Adding `strong` in the template will create longer passwords and is used for the
# passwords which almost never need to be manually typed.

# Password for the MySQL replication user.
# Set this to enable master-master replication between two domservers.
#REPLICATION_PASSWORD: {some-strong-replication-password}

# Database user password.
DB_PASSWORD: {some-strong-database-password}

Expand All @@ -24,48 +20,5 @@ ADMIN_PASSWORD: {some-admin-password}
# created on the domserver and judgehosts.
#DJ_SHELL_USER_PW: {some-hashed-password}

# Accounts to create when setting up the CDS
CDS_ACCOUNTS:
- username: admin
password: {some-adm1n-password}
type: admin
- username: presAdmin
password: {some-presentation-adm1n-password}
type: admin
- username: presentation
password: {some-public-presentation-password}
type: public
#- username: blue
# password: blu3
# type: staff
#- username: balloon
# password: balloonPr1nter
# type: balloon
#- username: public
# password: publ1c
# type: public
#- username: myicpc
# password: my1cpc
# type: spectator
#- username: live
# password: l1ve
# type: analyst
#- username: team1
# password: t3am
# type: team
# team_id: 1

# Contest(s) to configure in the CDS
CDS_CONTESTS:
- path: nwerc18 # Path in the contest directory
ccs:
id: nwerc18 # ID of the contest if hosted at DOMJUDGE_URL
# Or provide a absolute URL
# url: https://www.domjudge.org/demoweb/api/contests/nwerc18
username: admin
password: admin

PRESCLIENT_CONTEST: nwerc18

# Sentry DSN URL
# SENTRY_DSN:
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/analyst-domserver
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/analyst-judgehost
2 changes: 2 additions & 0 deletions provision-contest/ansible/group_vars/analyst/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/secret.yml
/all.yml
12 changes: 12 additions & 0 deletions provision-contest/ansible/group_vars/analyst/all.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Server VLAN IP prefix.
SERVER_IP_PREFIX: 172.29.1

# URL and IP of domserver from judgehosts. A hostname 'domserver' with
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
DOMSERVER: https://domjudge
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.240"

# Set this when on the blue network at the World Finals where no
# internet access is available and "packages" must be used as APT repo
# server.
WF_GREEN: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DB_PASSWORD: {some-strong-database-password-analyst}
JUDGEHOST_PASSWORD: {some-strong-judgehost-password-analyst}
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/online-domserver
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/online-judgehost
2 changes: 2 additions & 0 deletions provision-contest/ansible/group_vars/online/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/secret.yml
/all.yml
95 changes: 95 additions & 0 deletions provision-contest/ansible/group_vars/online/all.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Directory of the domjudge repository checkout.
DJ_DIR: /opt/domjudge

# Branch to checkout and use.
DJ_BRANCH: wfonline

# Whether to force-pull changes to the checkout, overwriting any local changes.
DJ_FORCE_UPDATE: true

# Server VLAN IP prefix.
SERVER_IP_PREFIX: 10.3.3

# IP address of the git server.
LOCAL_GIT_IP: "{{SERVER_IP_PREFIX}}.207"

# URL and IP of domserver from judgehosts. A hostname 'domserver' with
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
DOMSERVER: https://domjudge
DOMSERVER_URL: "{{ DOMSERVER }}"
DOMSERVER_SSL_CERT: /etc/ssl/certs/domserver.crt
DOMSERVER_SSL_KEY: /etc/ssl/private/domserver.key

# Set this to true when you are using the ICPC World Finals Contest Image
ICPC_IMAGE: false

# Set this to true when you are using a graphical desktop
GRAPHICAL: false

# Set this when on the blue network at the World Finals where no
# internet access is available and "packages" must be used as APT repo
# server.
WF_RESTRICTED_NETWORK: false
WF_GREEN: false

# Static IP address configuration. Uses the ansible_host variable as the static
# IP address. Only configured if STATIC_IP_ENABLED is true.
STATIC_IP_ENABLED: false
STATIC_IP_NETMASK: 255.255.252.0
STATIC_IP_GATEWAY: 172.29.0.1
STATIC_IP_INTERFACE: enp1s0

# Additional entries for the /etc/hosts file.
HOSTS:
cds: 10.3.3.207
packages: 10.3.3.209
ntp1: 10.3.3.208
ntp2: 10.3.3.209
nisprint: 10.3.3.211
nismaster: 10.3.3.211
printsrv: 10.3.3.211
domjudge-laptop: 10.3.3.200
pc2: 10.3.3.241

TIMEZONE: "Asia/Dhaka"

PHP_FPM_MAX_CHILDREN: 400
PHP_FPM_MAX_REQUESTS: 500
PHP_MEMORY_LIMIT: 1024M
PHP_UPLOAD_MAX_FILESIZE: 256M
PHP_POST_MAX_SIZE: 256M
PHP_MAX_FILE_UPLOADS: 101

# Git repo URL
DJ_GIT_HOST: "{{ LOCAL_GIT_IP }}"
DJ_GIT_REPO: "https://github.com/domjudge/domjudge.git"
DJ_GIT_REPO_RESTRICTED: "domjudge@{{ DJ_GIT_HOST }}:domjudge"
DJ_GIT_REPO_SCRIPTS: "https://github.com/domjudge/domjudge-scripts.git"
DJ_GIT_REPO_SCRIPTS_RESTRICTED: "domjudge@{{ DJ_GIT_HOST }}:domjudge-scripts-bare"
CONTEST_REPO: "wfluxor"

PHPSTORM_VERSION: 2022.2
PHPSTORM_FULL_VERSION: 222.4345.15

GRAFANA_MONITORING: true

# Hostname of the CDS. If set, will add an nginx in front of the CDS
# If not set, will only expose CDS directly
CDS_HOSTNAME: cds
CDS_PORT: 80
CDS_PORT_SECURE: 443

# CDS SSL cert and key. Only needed when CDS_HOSTNAME is set
CDS_SSL_CERT: /etc/ssl/certs/cds.crt
CDS_SSL_KEY: /etc/ssl/private/cds.key

# Hostname of the static scoreboard
STATIC_SCOREBOARD_HOSTNAME: scoreboard

STATIC_SCOREBOARD_SSL_CERT: /etc/ssl/certs/scoreboard.crt
STATIC_SCOREBOARD_SSL_KEY: /etc/ssl/private/scoreboard.key

# Block access to the CDS for IPs other than these
#CDS_IP_FILTER:
# - 127.0.0.1-127.0.0.1
# - 192.168.0.0-192.168.255.255
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
DB_PASSWORD: {some-strong-database-password-online}

# Credentials for the judgehost.
JUDGEHOST_USER: judgehost
JUDGEHOST_PASSWORD: {some-strong-judgehost-password-online}

# Username and password to be used in .netrc files on admin machines
ADMIN_USER: admin
ADMIN_PASSWORD: {some-admin-password-online}
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/wf46-domserver
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/wf46-judgehost
2 changes: 2 additions & 0 deletions provision-contest/ansible/group_vars/wf46/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/secret.yml
/all.yml
4 changes: 4 additions & 0 deletions provision-contest/ansible/group_vars/wf46/all.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# URL and IP of domserver from judgehosts. A hostname 'domserver' with
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
DOMSERVER: https://domserver-wf46
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.215"
3 changes: 3 additions & 0 deletions provision-contest/ansible/group_vars/wf46/secret.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
REPLICATION_PASSWORD: {some-strong-replication-password-wf46}
DB_PASSWORD: {some-strong-database-password-wf46}
JUDGEHOST_PASSWORD: {some-strong-judgehost-password-wf46}
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/wf47-domserver
1 change: 1 addition & 0 deletions provision-contest/ansible/group_vars/wf47-judgehost
2 changes: 2 additions & 0 deletions provision-contest/ansible/group_vars/wf47/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/secret.yml
/all.yml
4 changes: 4 additions & 0 deletions provision-contest/ansible/group_vars/wf47/all.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# URL and IP of domserver from judgehosts. A hostname 'domserver' with
# DOMSERVER_IP will be added to the judgehost /etc/hosts file.
DOMSERVER: https://domjudge-wf47
DOMSERVER_IP: "{{SERVER_IP_PREFIX}}.218"
3 changes: 3 additions & 0 deletions provision-contest/ansible/group_vars/wf47/secret.yml.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
REPLICATION_PASSWORD: {some-strong-replication-password-wf47}
DB_PASSWORD: {some-strong-database-password-wf47}
JUDGEHOST_PASSWORD: {some-strong-judgehost-password-wf47}
Loading
Loading