|
| 1 | +# Windows Development Setup Guide for WrongSecrets CTF Party |
| 2 | + |
| 3 | +This guide provides a step-by-step process for setting up the local development environment for WrongSecrets CTF Party on a Windows machine. |
| 4 | + |
| 5 | +## 1. Prerequisites |
| 6 | + |
| 7 | +Before you begin, you must install the following tools: |
| 8 | +- **Git:** [https://git-scm.com/downloads](https://git-scm.com/downloads) (Ensure **Git Bash** is installed) |
| 9 | +- **Docker Desktop for Windows:** [https://www.docker.com/products/docker-desktop/](https://www.docker.com/products/docker-desktop/) |
| 10 | +- **Minikube:** [https://minikube.sigs.k8s.io/docs/start/](https://minikube.sigs.k8s.io/docs/start/) |
| 11 | +- **Helm:** [https://helm.sh/docs/intro/install/](https://helm.sh/docs/intro/install/) |
| 12 | +- **kubectl:** (Included with Docker Desktop) |
| 13 | +- **yq:** [https://github.com/mikefarah/yq/#install](https://github.com/mikefarah/yq/#install) |
| 14 | + |
| 15 | +## 2. System Configuration |
| 16 | + |
| 17 | +These Windows-specific configurations are crucial for a successful setup. |
| 18 | + |
| 19 | +### a. Enable Hardware Virtualization (BIOS/UEFI) |
| 20 | + |
| 21 | +Minikube and Docker require hardware virtualization (VT-x or AMD-V) to be enabled in your computer's BIOS/UEFI. You will need to restart your computer and press a key (like `F2`, `F10`, or `DEL`) during boot to enter the setup menu. Search online for instructions specific to your computer model. |
| 22 | + |
| 23 | +### b. Configure Docker Desktop Memory (WSL 2) |
| 24 | + |
| 25 | +The project requires at least 11GB of RAM. You must configure Docker's WSL 2 backend to provide this memory. |
| 26 | +1. Create a file named `.wslconfig` in your user profile folder (`C:\Users\YourName`). |
| 27 | +2. Add the following content: |
| 28 | + ```ini |
| 29 | + [wsl2] |
| 30 | + memory=12GB |
| 31 | + ``` |
| 32 | +3. Restart the WSL service by running `wsl --shutdown` in PowerShell, then restart Docker Desktop. |
| 33 | + |
| 34 | +## 3. Manual Deployment Guide |
| 35 | + |
| 36 | +The included scripts have compatibility issues on Windows. A manual deployment is more reliable. Run these commands in **Git Bash**: |
| 37 | + |
| 38 | +1. **Start Minikube Cluster:** |
| 39 | + ```bash |
| 40 | + minikube start --cpus=4 --memory=11000MB --driver=docker --network-plugin=cni --cni=calico |
| 41 | + ``` |
| 42 | +2. **Update Helm Repositories:** |
| 43 | + ```bash |
| 44 | + helm repo update |
| 45 | + ``` |
| 46 | +3. **Deploy the Application:** |
| 47 | + ```bash |
| 48 | + helm upgrade --install wrongsecrets ./helm/wrongsecrets-ctf-party |
| 49 | + ``` |
| 50 | +4. **Check Pod Status:** |
| 51 | + ```bash |
| 52 | + kubectl get pods --watch |
| 53 | + ``` |
| 54 | + Wait for `wrongsecrets-balancer` to be `Running` and `1/1`, then press `Ctrl + C`. |
| 55 | + |
| 56 | +5. **Access the Application:** |
| 57 | + In a new terminal, run: |
| 58 | + ```bash |
| 59 | + kubectl port-forward service/wrongsecrets-balancer 3000:3000 |
| 60 | + ``` |
| 61 | + The application is now available at `http://localhost:3000`. |
0 commit comments