Sign inSign up

captaingeech/chaldeploy

By captaingeech

•Updated almost 4 years ago

Self-service CTF challenge deployment tool

Image
0

254

captaingeech/chaldeploy repository overview

repo⁠

⁠chaldeploy

Web app to deploy a CTF challenge to k8s for single-team instance management

Screenshot of web app

⁠Features

  • Authenticate a team via rCTF, restricting each team to only a single deployment at a time
  • Deploy a challenge to a Kubernetes cluster and provide the team with a service endpoint to interact with it
    • k8s config based on the deployments performed by rCDS⁠
  • Automatic challenge deletion after a timeout period
    • Teams can extend this if desired

NOTE: chaldeploy currently only supports deploying to GKE clusters.

⁠Usage

You need to set the following environment variables:

  • $CHALDEPLOY_NAME
    • Name of the challenge to deploy
    • ex: My First Pwn
  • $CHALDEPLOY_PORT
    • Port exposed by the challenge
    • ex: 12345
  • $CHALDEPLOY_IMAGE
    • Image path for the challenge
    • ex: myfirstpwn:latest
  • $CHALDEPLOY_SESSION_KEY
    • Secret key used to authenticate session data. Must be 32 or 64 chars long
    • ex: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  • $CHALDEPLOY_RCTF_SERVER
    • rCTF server to auth against
    • ex: https://2021.redpwn.net
  • $CHALDEPLOY_K8SCONFIG (optional)
    • Path to the k8s config. If not set, k8s config will be loaded from /var/run/secrets or ~/.kube
    • ex: /home/user/specialconfig

Web app is exposed on 5050/TCP in the Docker container.

Tag summary

Content type

Image

Digest

sha256:1725b783c…

Size

464.4 MB

Last updated

almost 4 years ago

docker pull captaingeech/chaldeploy