Overview
Instead of having one large, monolithic repo for all of BearcatCTF, we have slowly started to split out all of the services that we need for it, including the website, challenges, and underlying AWS infrastructure. Doing this ensures that we have easier deployments and an easier time with updating / maintaining the codebases.
1. BearcatCTF Challenges
This is the main storage location of all the challenges for the current and past years for this competition. It is split out into folders for each year that the competition is held in.
Within each year, it is then split out into all the sub categories of challenges (Crypto, Forensics, OSINT, Pwn, Rev, Web, and Misc). Finally, within each challenge folder, there are a few items to note for the challenges themselves.
There are 2 main types of challenges (See [[02 Challenge structure]] for additional details on each type)
Static
- Doesn't rely on underlying AWS infrastructure to be solved
- Can be run / solved locally
Dynamic
- Requires a server backend to solve / run the challenge
- Gets built and added to the infrastructure through the repo's pipelines
2. BearcatCTF Dashboard
Kind of an abandoned project. The main goal of this was to build a platform that we could manage all the containers and hosts from so we don't need to bounce back and forth between everything but we haven't gotten around to working on it yet
3. BearcatCTF Infra
This is the meat and potatoes of the whole project. It is where all of the Terraform and infrastructure for the entire event lives. Its main purpose is to be the single place that we edit and change resources so that we can easily spin up and down the infrastructure at will.
Everything here is written in a language called Terraform. If you need resources, they can be found on our docs page or on the official Terraform website. More information about the pipeline for this repo can be found here in the pipeline sections of these docs. We also have a cool graphic of the pipeline that we try to update that as much as we can (For our own sake as well).
![[pipeline.png]]
4. BearcatCTF Planning
Pretty self explanatory. This is where we keep track of all of the OPs team's todos and any other tasks that are assigned to people (Not infra related. Those issues are kept track on the actual infra repos).
5. BearcatCTF Site
This is where the current website for bearcatctf.io is hosted from. If you want to contribute please feel free to do so.
6. BearcatCTF Tooling
This is a repo for any small scripts that we create that can be useful to the setup for all of the infrastructure, or any quick scripts to get stuff working again.