Skip to content

Commit 5c239d0

Browse files
committed
PR fixes
1 parent a5fdf88 commit 5c239d0

File tree

3 files changed

+10
-227
lines changed

3 files changed

+10
-227
lines changed

README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,32 @@ where 700+ participants compete in a 48-hour long CTF competition.
1313

1414
## Features and Usage
1515

16-
- `ctf init` to initialize a new ctf
16+
- `ctf init` to initialize a new ctf repository
1717
- `ctf new` to create a new challenge. Supports templates for common challenge types.
18-
- `ctf deploy` deploys the challenges to a local Incus instance
18+
- `ctf deploy` deploys the challenges to a local (or remote) Incus server
1919
- `ctf validate` runs lots of static checks (including JSON Schemas) on the challenges to ensure quality
2020
- `ctf stats` provide lots of helpful statistics about the CTF
2121
- and many more. See `ctf --help` for the full list of commands.
2222

2323
To run `ctf` from any directory, set up the `CTF_ROOT_DIR` environment variable to make the script
24-
execute in the right directory or execute the script from that directory.
24+
execute in the right directory or execute the script from that directory. If not set, `ctf` will go up the directory
25+
tree until it finds `challenges/` and `.deploy` directories, which is the root of the CTF repository.
2526

2627
## Structure of a CTF repository
2728

2829
```
2930
my-ctf/
30-
├── challenges/ # Directory containing all the challenges
31+
├── challenges/ # Directory containing all the tracks
3132
│ ├── track1/ # Directory for a specific track that contains N flags.
3233
│ │ ├── track.yaml # Main file that describes the track
3334
│ │ ├── files/ # Directory that contains all the files available for download in the track
3435
│ │ │ ├── somefile.zip
35-
│ │ ├── ansible/ # Directory containing Ansible playbooks to configure the challenge
36-
│ │ │ ├── deploy.yaml # Main playbook to deploy the challenge
36+
│ │ ├── ansible/ # Directory containing Ansible playbooks to configure the track
37+
│ │ │ ├── deploy.yaml # Main playbook to deploy the track
3738
│ │ │ └── inventory # Inventory file for Ansible
3839
│ │ ├── terraform/ # Directory containing OpenTofu (terraform fork) files to describe the infrastructure
39-
│ │ │ └── main.tf # Main OpenTofu file to deploy the challenge
40-
│ │ ├── posts/ # Directory containing forum posts related to the challenge
40+
│ │ │ └── main.tf # Main OpenTofu file to deploy the track
41+
│ │ ├── posts/ # Directory containing forum posts related to the track
4142
│ │ │ ├── track1.yaml # Initial post for the track
4243
│ │ │ └── track1_flag1.yaml # Inventory file for Ansible
4344

ctf/templates/init/.github/workflows/tests.yml

Lines changed: 0 additions & 218 deletions
This file was deleted.

ctf/templates/init/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ b. Follow the instructions in the browser to connect to GitHub and authorize the
239239

240240
a. `CTRL` + `Shift` + `P` ==> "Codespaces: Connect to codespace...". You should get a message saying there are no codespace. Click the "create" button.
241241

242-
b. Choose your private fork (Ex. `Res260/ctf-2025`). Choose your work branch (`my_awesome_challenge` in this case). Choose either the 2 core or the 4 cores machine. GitHub offers 120 core hours per month, so 60 hours of work for the 2 core machine and 30 hours for the 4 cores machine.
242+
b. Choose your private fork (Ex. `<your_username>/ctf`). Choose your work branch (`my_awesome_challenge` in this case). Choose either the 2 core or the 4 cores machine. GitHub offers 120 core hours per month, so 60 hours of work for the 2 core machine and 30 hours for the 4 cores machine.
243243

244244
c. The first connection might fail with a "not found" error. If this happens, just do a. again.
245245

0 commit comments

Comments
 (0)