Architecture
The whole hackathon setup runs on the public evroc Cloud. The setup consists of several Virtual Machines (VMs) running different services:
- The
gamemasterVM which hosts the game API and this website you are on now. - The
vm-team-xVMs where you will deploy your code to. - A
jumphostVM which allows you to access your VMs.
All these VMs run inside a Virtual Private Cloud (VPC) which allows us to control the networking between the machines.
Team VMs
Each team will get their own VM to operate and deploy code to. To access this VM you will need to upload your public SSH key here so that the evroc team can configure the VM to trust you when you login or deploy.
To get started with developing bots and deploying them the evroc team has given you a small starter kit that abstracts away most details about the VM. If you are interested in how it works though, read on!
Tokens
Each VM has been prepared with two tokens for the bots:
/etc/codenames/game_keycontains an API token to authenticate to the Gamemaster API server: this is how the server knows which team the bot belongs to./etc/codenames/think_keycontains an API token to evroc’s Think service, our LLM model inference service. The bots can use this token to use any of our hosted LLMs for text generation.
Network
Each VM has restricted network access to other machines in the cloud.
Team VMs can access the Gamemaster VM to talk to the Game API.
The Gamemaster can also access the Team VM to run the game, but it can only do
so on three ports: 8001, 8002, and 8003. This means that each team can at
most have three bots running at the same time.
Team VMs cannot access other team VMs, so unfortunately you cannot sabotage the other teams with attacks directly to their machines.