Custom Domains

kCTF is a Kubernetes-based infrastructure for CTF competitions

Custom Domains

When creating your cluster, you can specify a domain with the --domain-name flag. kCTF will then automatically create domain names for challenges of the form:

You might want to use custom domains for some of your challenges, for example:

For TCP based challenges, all you need to do is to create a CNAME DNS entry from $cooldomain to $chal_name.$kctf_domain.

For HTTPS based challenges, you also need to add a CNAME entry (pay attention to the -web suffix) and in addition, list the domain in the port configuration of the challenge:

apiVersion: kctf.dev/v1
kind: Challenge
metadata:
  name: web
spec:
  deployed: true
  powDifficultySeconds: 0
  network:
    public: true
    ports:
      - protocol: "HTTPS"
        targetPort: 1337
        domains:
          - "cooldomain.com"

With this, kCTF will automatically create a certificate for you and attach it to the challenge’s LoadBalancer.