Pre-configured kubernetes infrastructure with load balancing and some network hardening enabled. Also contains per-team challenge assignment for web challenges. Inspired by kCTF.
- Create the cluster
./scripts/cluster-deploy
- Configure the cluster and IAM resources.
./scripts/cluster-configure
- Install the cluster resources.
./scripts/cluster-install
- Create config/values.yaml and populate it with values.
domain:
challenges: <root domain where challenges are hosted> # challenges will be a subdomain of this
replicas:
challenge-manager: 2
cert:
email: <contact email> # required for letsencrypt
cfDNSToken: <cloudflare dns token> # used to configure dns-01 certificate validation
googleProject: <project ID of the Google Project>
- Deploy the helm stack.
helm install kubectf -f config/values.yaml chart/
- Upload the sample whoami challenge for testing.
kubectl apply -f templates/whoami/kube-isolated.yaml
See the README at services/challenge-manager