Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Allocate VM on Nebula

Log into Nebula and create a VM under the project NDSLabsDev.

Be sure to select a size. If you are unsure which to use, you likely should use "large" or "medium".

Networking Gotchas

DO NOT forget to generate / import an SSH key for this machine, or else you will never be able to get into it.

Be sure to add Permissions to this VM:

  • remote SSH
  • remote HTTP

Clone the Source Repo

To start, you will need the code. Clone it and change into the new directory:

git clone https://github.com/nds-org/nds-labs
cd nds-labs/
git fetch --all
git checkout lambert-dev

TODO: Once this is pushed up to master, remove the "checkout" step.

NOTE: Once we have an NDSDEV image circulating (potentially in DockerHub?), this step should no longer be necessary.

Build the NDSDEV image:

Execute the following command at the project root to build up the ndsdev image:

. ./devtools/ndsdev/ndsdevctl build

This will create a data container to hold the source code mapped to your host VM. This should allow your code / changes to survive container restarts.

NOTE: It is interesting to note that you should be able to access the data on any volumes defined by the container without it needing to run.

To remove the image built by this step, you can run:

. ./devtools/ndsdev/ndsdevctl rmi

Run or remove a container from the NDSDEV image:

You should then be able to run this image using:

. ./devtools/ndsdev/ndsdevctl run

Stop the container and remove it from docker (i.e. clean):

. ./devtools/ndsdev/ndsdevctl rm

NDSDEV Usage

To start a stopped NDSDEV container:

. ./devtools/ndsdev/ndsdevctl start

To get back to a running instance of NDSDEV:

. ./devtools/ndsdev/ndsdevctl attach

Stop the container:

. ./devtools/ndsdev/ndsdevctl stop

Stop, the start the container:

. ./devtools/ndsdev/ndsdevctl restart

 

Tips and Tricks

Leave container running, but temporarily exit its shell:

CTRL+P, CTRL+Q, CTRL+C

Leave and stop the container:

...

High-Level Overview

This section is a placeholder for the "How to Read the Source Code" section, including directory structure and working directories for particular tasks.