Challenges

A challenge is made of one or several Docker images. The images must either be available on Docker Hub, or locally on every Kubernetes node.

In the web interface, when creating a challenge, the “infrastructure” field must contain a YAML based on this exemple:

# Warning : container names (keys) can only contain [a-z0-9A-Z], and dashes
containers:
  database:  # Container name, will be used as DNS name inside the challenge
    image: mongodb/latest
  web_server:
    image: nginx
    env:  # Environment variables defined in the container
      HOSTNAME: www.ce-emmental.fr
    ports:  # Ports exposed inside the challenge
      - 80
    open:  # Open ports to some containers
      - container: database
        ports:  # If omitted or empty, all ports are open
          - 27017
exposed:  # One port will be exposed to the outside
  container: web_server
  port: 80