Skip to content

cli design

Zane edited this page Apr 8, 2024 · 3 revisions

rcds cli design

global arguments

all have corresponding environment variables as well

  • -h/--help - yuh (on base command and subcommands)
  • -v(vv)/--log-level - message verbosity
  • --profile $PROFILE - deployment profile specified in rcds.yaml

rcds build

builds images for all challenges. optional push? intended for use in MR ci to make sure challenges build.

container naming scheme: $REGISTRY/$CHAL(-$CONTAINER)?:$PROFILE (handling of :latest though?) AWS users can figure it out for themselves

flags

  • --push - push image(s) to registry

rcds deploy

deploys challenges to cluster. renders templates for challenge k8s resources, updates ingress, updates dns(? manage in-cluster?)

error on deploy if unable to pull?

flags

  • --no-build - don't build + deploy challenge images
  • --dry-run - run through what would happen without doing anything

rcds validate

checks and validates settings in all all config files (cds.yaml, challenge.yamls).

always your entire config; ignores --profile

rcds check-access

checks kubernetes/frontend status

flags

  • --kuber - kubernetes (kubernuts) check
  • --frontend - rCTF/frontend check
  • --registry - registry auth attempt/check (push for build token, pull for cluster, also check that other actions fail)