Skip to content

config files redesign

Zane edited this page Apr 8, 2024 · 29 revisions

rcds.yaml

flag_regex: dam{[a-zA-Z...]}

registry: registry.example.com/damctf
# used e.g. $REGISTRY/chal-name:{prod,staging}

defaults:
  resources: { cpu: , mem: }

deploy:
  # control challenge deployment status explicitly per environment/profile
  $PROFILE:
    misc/foo: true
    rev/bar: false
  $PROFILE2:
    misc/foo: false
    rev/bar: false

environments:
  # configure per-environment credentials etc
  $PROFILE:
    frontend_url: x
    frontend_token: y
    kubeconfig: path/to/kubeconfig
    kubecontext: damctf-cluster

  $PROFILE2: 
    ...

challenge.yaml

Having a single e.g. database container for multiple "frontend" containers is not easy in a single pod, so maybe allow for splitting across single pods?

  • Automatically create services for all pods? We do anyways for TCP traffic
name: string
author: person
description: also string

flag:
  file:
  text:
  regex:
  verifier: # program to verify flag validity (not shell scripts cause security, Haskell/OCaml? :P)

provide:
  - file1
  - file2

# each individual pod is gonna allow only 1 container for now
pods:
  - name:
    build: # in the style of docker-compose
    public: # required
    replicas:
    ports: # only 1 for now, links to a service?
    env: # as with docker-compose
Clone this wiki locally