Skip to content

Repository files navigation

This repo holds the apps below, each one of the services behind https://cyber-dojo.org, and each built into its own docker image. The other services (eg saver, runner, differ) live in their own repos.

App CI What it serves
web main-web the core edit+review pages
creator main-creator the pages that create (or re-enter) a group or individual exercise
dashboard main-dashboard the group-exercise dashboard

Each app has the same shape:

  • its own directory, app-<app>/, holding its source/, test/, bin/ and docs/
  • its own Dockerfile stage, <app>, and its own image
  • its own app-<app>/<app>.env, loaded only by its own compose service
  • its own make targets, all named <app>_<verb> (eg make dashboard_test_server)
  • its own workflow, .github/workflows/main-<app>.yml, run only when its files, or the files every app shares, change
  • its own deployment, from deployment/terraform-<app>/

The repo root holds only what every app shares: the Dockerfile, the Makefile, the docker-compose*.yml files, .env (the ports of every service), bin/write_dot_env.sh (the one script that writes .env), bin/demo.sh (the one demo), and flow-templates/.

The demo (make demo) builds every app's image from the current commit and serves them together through nginx on port 80, with one saver holding every app's demo data, so one change shows up in every app at once and any page can be compared with any other. See bin/demo.sh -h.

cyber-dojo.org home page

About

repo for the cyberdojo/web Docker image microservice

Topics

Resources

Contributing

Stars

82 stars

Watchers

6 watching

Forks

Used by

Contributors

Languages