Cyber Dojo Cyber Dojo Save

home repo for the cyber-dojo organization

Project README

Hi. Welcome to cyber-dojo :smile:



running a server on Kubernetes

Follow these instructions


running a server on docker

Follow these instructions to install the cyber-dojo bash script and to prepare your server.

$ cyber-dojo up
...
$ cyber-dojo version
Version: 0.1.19
   Type: public
...

running a server on docker swarm

This is exploratory only and may be dropped without notice. Follow these instructions to install the cyber-dojo bash script and to prepare your server.

$ export CYBER_DOJO_SWARM=true
$ cyber-dojo up

listing the current version

$ cyber-dojo version
Version: 0.1.23
   Type: public

listing installed versions

From 0.1.50 onwards:

$ cyber-dojo version ls
0.1.49              2019-11-21 21:31:09 +0000 UTC
0.1.48              2019-11-20 12:52:04 +0000 UTC
...
0.1.21              2019-08-07 11:51:48 +0000 UTC
...

updating the server to the latest version

$ cyber-dojo update latest
$ cyber-dojo version
Version: 0.1.49
   Type: public
...
# Now make it live...
$ cyber-dojo up
Using version=0.1.49 (public)
...

setting the server to a specific version

$ cyber-dojo update 0.1.21
$ cyber-dojo version
Version: 0.1.21
   Type: public
...
# Now make it live...
$ cyber-dojo up
Using version=0.1.21 (public)
...

overriding the default port

By default your cyber-dojo server will be on port 80.

  • Override this port using the command-line argument --port. Eg
    $ cyber-dojo up --port=8000
    ...
    Using port=8000
    ...
    

overriding the default start-point images

overriding the default nginx image

  • By default your cyber-dojo server will use cyberdojo/nginx as its nginx service image (tagged appropriately).
  • From 0.1.47 onwards you can override this by exporting two environment variables. Eg
    $ export CYBER_DOJO_NGINX_IMAGE=cucumber/nginx
    $ export CYBER_DOJO_NGINX_TAG=efd7e37
    $ cyber-dojo up ...
    ...
    Using nginx=cucumber/nginx:efd7e37
    ...
    

overriding the default rails web image

  • By default your cyber-dojo server will use cyberdojo/web as its web service image (tagged appropriately).
  • From 0.1.28 onwards you can override this by exporting two environment variables. Eg
    $ export CYBER_DOJO_WEB_IMAGE=turtlesec/web
    $ export CYBER_DOJO_WEB_TAG=84d6d0e
    $ cyber-dojo up ...
    ...
    Using web=turtlesec/web:84d6d0e
    ...
    

overriding the default dot env files

  • There are default .env files for the web and nginx services.
  • You can override these by exporting two environment variables set to the absolute path of your own .env file. Eg
    $ export CYBER_DOJO_NGINX_ENV=/home/fred/my_nginx.env
    $ export CYBER_DOJO_WEB_ENV=/home/fred/my_web.env
    $ cyber-dojo up
    ...
    Using nginx.env=/home/fred/my_nginx.env (custom)
    Using web.env=/home/fred/my_web.env (custom)
    ...
    

From 0.1.131 onwards, when an exercise starts a welcome dialog displays traffic-light information. You can turn off this dialog with the following web.env entry:

STARTING_INFO_DIALOG=off

From 0.1.137 onwards, there is an experimental REPL service for Python. You can turn this on with the following web.env entry:

REPL=on

From 0.1.291 onwards, you can turn off the review page's [fork] button with the following web.env entry:

FORK_BUTTON=off

From 0.1.319 onwards, you can turn off the [dashboard] button from the info toolbar with the following web.env entry:

DASHBOARD_BUTTON=off

From 0.1.320 onwards, you can turn off traffic-light prediction with the following web.env entry:

PREDICT=off

Micro Services

Each repo in the github cyber-dojo organization builds a single docker image.
The main Amazon ECS backed https://cyber-dojo.org uses:

  • custom-start-points Github Action
    serves the custom start-points.
  • exercises-start-points Github Action
    serves the exercises start-points.
  • languages-start-points Github Action
    serves the languages start-points.
  • differ Github Action
    diffs two sets of files.
  • nginx Github Action
    web-proxy, security, images (jpg) cache, and service routing.
  • runner Github Action
    runs the tests and returns [stdout,stderr,status,timed_out,colour].
  • saver Github Action
    API to GET/POST group/kata data, e.g., for individual traffic-lights.
  • creator Gitlab
    UI to configure and create (or re-enter) a group-exercise or an individual-exercise.
  • dashboard Github Action
    UX for a group session dashboard of all traffic-lights.
  • web Github Action
    main UX for coding, testing, and reviewing.

Locally running servers also use:


Image Dependencies

Image Dependency Graph


Domain Model

Domain model


Screenshots

cyber-dojo.org home page

Open Source Agenda is not affiliated with "Cyber Dojo Cyber Dojo" Project. README Source: cyber-dojo/cyber-dojo
Stars
154
Open Issues
5
Last Commit
1 month ago
License

Open Source Agenda Badge

Open Source Agenda Rating