Running rCDS for an Event
This section provides a detailed guide on how to set up rCDS for your event, from initializing a managed Kubernetes cluster to promoting an admin team.
Setup Managed Kubernetes Cluster
Choose a Managed Kubernetes Service: Select a managed Kubernetes service from providers like Google Kubernetes Engine (GKE), Amazon EKS, or Azure Kubernetes Service (AKS). We used Amazon EKS for the most recent event.
Create the Cluster: Follow the provider’s instructions to create a Kubernetes cluster. Ensure you have enough nodes and resources allocated based on the expected load.
Install Ingress Controller
Install NGINX Ingress Controller:
For detailed instructions and the latest deployment methods for the NGINX Ingress Controller, visit the official Kubernetes NGINX Ingress Controller deployment page at NGINX Ingress Controller Deployment.
Follow the guidelines specific to your environment to ensure the Ingress Controller is properly set up.
Deploy rCTF using Helm
Add the Helm Repository:
helm repo add rctf https://helm.redpwn.net
Install rCTF:
Prepare a values.yaml file specifically for setting proxy configurations, such as port mappings and other network-related settings. This file is essential for customizing how external traffic is managed and routed to the deployment.
Deploy rCTF with your custom proxy settings by executing:
helm install rctf rctf/rctf -f values.yaml
This setup emphasizes the use of the values.yaml file for configuring network aspects like proxy settings, ensuring that the Helm deployment is aligned with your specific environmental requirements.
Non-rCDS Deployment Setup
Create an Admin Team:
After deploying rCTF, create a team through the platform’s user interface.
Promote to Admin:
Access the database associated with rCTF.
Update the team’s role to ‘admin’ using a database query:
UPDATE teams SET role='admin' WHERE team_name='your_admin_team_name';
Verification
Verify Installation:
Ensure that all components are running correctly by checking the statuses of all pods and services.
Access the rCTF platform through the ingress IP to confirm that the installation is functional.
Test with Sample Challenges:
Deploy a few sample challenges to verify that challenges are being loaded and executed correctly.
Note
It is important to perform a dry run of the setup before the actual event to ensure all components are configured correctly and operational.