Skip to content

Commit 607d1c7

Browse files
authored
Merge pull request #356 from osamamagdy/docs--edut-readme-for-multi-cloud
docs: update readme for gcp and azure support
2 parents 9b024a2 + 5dc6fe9 commit 607d1c7

File tree

3 files changed

+34
-12
lines changed

3 files changed

+34
-12
lines changed

guides/azure/azure.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Example Setup with Azure
2+
3+
Please check the [azure folders readme file](../../azure/README.md).

guides/gcp/gcp.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Example Setup with GCP
2+
3+
Please check the [gcp folders readme file](../../gcp/README.md).

readme.md

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ We recently played a small CTF with 40 relatively active players using version 1
6060

6161
#### Large Numbers
6262

63-
A 100 contestant game can be played on the AWS setup, which will require around 150 (100-250) CPUs, 200 (150-350) GB Ram, and 400 GB of storage available in the cluster. Note that we have configured everything based on autoscaling in AWS. This means that you can often start with a cluster about 20% of the size of the "limit" numbers and then see how things evolve. You will hardly hit those limits, unless all players are very actively fuzzing the WrongSecrets app, while runnign heavy appss on their Webtops. Instead, you will see that you are using just 25% of what is provided in numbers here. So, by using our terraform (including an autoscaling managed nodegroup), you can reduce the cost of your CTF by a lot!
63+
A 100 contestant game can be played on the AWS, GCP, and Azure setup, which will require around 150 (100-250) CPUs, 200 (150-350) GB Ram, and 400 GB of storage available in the cluster. Note that we have configured everything based on autoscaling in all cloud providers. This means that you can often start with a cluster about 20% of the size of the "limit" numbers and then see how things evolve. You will hardly hit those limits, unless all players are very actively fuzzing the WrongSecrets app, while runnign heavy appss on their Webtops. Instead, you will see that you are using just 25% of what is provided in numbers here. So, by using our terraform (including an autoscaling managed nodegroup), you can reduce the cost of your CTF by a lot!
6464

6565
## Status - Experimental release
6666

67-
This is an experimental release. It showed to work at 2 CTFs already, we just did not complete the documentation and the cleaning up of the Helm chart yet. However: it is working in its basis, and can support a good crowd. Currently, we only support using Minikube and AWS EKS (_**Please follow the readme in the AWS folder if you want to use EKS, as the guides section is not updated yet**_).
67+
This is an experimental release. It showed to work at 2 CTFs already, we just did not complete the documentation and the cleaning up of the Helm chart yet. However: it is working in its basis, and can support a good crowd. Currently, we support using Minikube, AWS EKS, GCP GKE, and Azure AKS (_**Please follow the readme in the folder for each cloud provider if you want to use it, as the guides section is not updated yet**_).
6868

6969
## How to use it
7070

@@ -87,14 +87,14 @@ You need 2 things:
8787

8888
To use the 2 domain setup with CTFD:
8989

90-
1. Set up the CTFD and WrongSecrets instances using your preferred method and docs e.g. AWS and the docs [here](aws/README.md).
91-
2. Set up a team with spoilers available (On AWS this can be done by changing the deployment of a team you have created and setting ctf-mode=false).
92-
3. Use these spoilers to manually copy the answers from WrongSecrets to CTFD.]
93-
4. Delete the team used to get these spoilers (On AWS you can delete the entire namespace of the team)
90+
1. Set up the CTFD and WrongSecrets instances using your preferred method and docs e.g. AWS [here](aws/README.md), GCP [here](gcp/README.md), or Azure [here](azure/README.md).
91+
2. Set up a team with spoilers available (On Cloud providers AWS, GCP, or Azure this can be done by changing the deployment of a team you have created and setting ctf-mode=false).
92+
3. Use these spoilers to manually copy the answers from WrongSecrets to CTFD.
93+
4. Delete the team used to get these spoilers ( You can delete the entire namespace of the team)
9494

9595
### General Helm usage
9696

97-
This setup works best if you have Calico installed as your CNI, if you want to use the helm directly, without the AWS Challenges, do:
97+
This setup works best if you have Calico installed as your CNI, if you want to use the helm directly, without the Cloud Challenges, do:
9898

9999
```shell
100100
helm repo add wrongsecrets https://wrongsecrets.github.io/wrongsecrets-ctf-party
@@ -105,7 +105,7 @@ helm upgrade --install my-wrongsecrets-ctf-party wrongsecrets/wrongsecrets-ctf-p
105105

106106
Play with Minikube:
107107

108-
** NOTE: The below steps require at least minikube version v1.30.1 and yq (https://github.com/mikefarah/yq/) version v4.34.1. **
108+
** NOTE: The below steps require at least minikube version v1.30.1 and yq (<https://github.com/mikefarah/yq/>) version v4.34.1. **
109109

110110
For minikube, run:
111111

@@ -141,14 +141,30 @@ kubectl port-forward service/wrongsecrets-balancer 3000:3000
141141

142142
or use `build-and-deploy-minikube.sh` to do all of the above in one script.
143143

144-
### Play with AWS EKS:
144+
### Play with AWS EKS
145145

146-
** NOTE: SEE SECTIONS ABOVE ABOUT WHAT YOU NEED AND THE COST OF THINGS: This project is not responsible, and will not pay for any part of your AWS bill. **
146+
**NOTE: SEE SECTIONS ABOVE ABOUT WHAT YOU NEED AND THE COST OF THINGS: This project is not responsible, and will not pay for any part of your AWS bill.**
147147

148148
For AWS EKS follow the instructions in the `/aws` folder. This setup also includes a helm installation of CTFd.
149149

150150
Then open a browser and go to [localhost:3000](http:localhost:3000) and have fun :D .
151151

152+
### Play with GCP GKE
153+
154+
**NOTE: SEE SECTIONS ABOVE ABOUT WHAT YOU NEED AND THE COST OF THINGS: This project is not responsible, and will not pay for any part of your GCP bill.**
155+
156+
For GCP GKE follow the instructions in the `/gcp` folder. This setup also includes a helm installation of CTFd.
157+
158+
Then open a browser and go to [localhost:3000](http:localhost:3000) and have fun :D .
159+
160+
### Play with Azure AKS
161+
162+
**NOTE: SEE SECTIONS ABOVE ABOUT WHAT YOU NEED AND THE COST OF THINGS: This project is not responsible, and will not pay for any part of your Azure bill.**
163+
164+
For Azure AKS follow the instructions in the `/azure` folder. This setup also includes a helm installation of CTFd.
165+
166+
Then open a browser and go to [localhost:3000](http:localhost:3000) and have fun :D .
167+
152168
### Some production notes
153169

154170
See [production notes](./guides/production-notes/production-notes.md) for a checklist of values you'll likely need to configure before using Wrongsecrets-ctf-party in proper events.
@@ -174,7 +190,7 @@ helm install -f values.yaml my-wrongsecrets-ctf-party wrongsecrets/wrongsecrets-
174190
helm delete my-wrongsecrets-ctf-party
175191
```
176192

177-
And if you are running AWS (including CTFd):
193+
And if you are running AWS, GCP, or Azure (including CTFd):
178194

179195
```sh
180196
helm delete ctfd -n ctfd
@@ -225,6 +241,6 @@ kubectl -n kube-system get pod -l component=kube-apiserver -o=jsonpath="{.items[
225241

226242
Still having trouble to connect to that host at that port? run `./scripts/patch-nsp-for-kubectl.sh` to make sure the NSPs are updated.
227243

228-
## Talk with Us!
244+
## Talk with Us
229245

230246
You can reach us in the `#project-wrongsecrets` channel of the OWASP Slack Workspace. We'd love to hear any feedback or usage reports you got. If you are not already in the OWASP Slack Workspace, you can join via [this link](https://owasp.slack.com/join/shared_invite/enQtNjExMTc3MTg0MzU4LWQ2Nzg3NGJiZGQ2MjRmNzkzN2Q4YzU1MWYyZTdjYjA2ZTA5M2RkNzE2ZjdkNzI5ZThhOWY5MjljYWZmYmY4ZjM)

0 commit comments

Comments
 (0)