Self-Medicate is a collection of scripts that allow you to run the software stack that powers the NRE Labs stack on your laptop. Historically, this was the only possibile way to preview any curriculum contributions.However, with the introduction of the NRE Labs Preview Service, this is no longer formally supported as a primary function for this tool. We will continue to maintain and provide self-medicate as a generally useful reference deployment, and you are welcome to continue to use self-medicate if you wish, but you will likely not receive a lot of support, so you are on your own. For the vast majority of curriculum contributions, please use the Preview Service as part of the normal contribution process.
selfmedicate.shscript is our one-stop shop for managing the development environment. This script has several subcommands:
resumecommands. However, these commands have been wired up to the Vagrant environment in such a way that this shouldn't be necessary.
reloadsubcommand. This allows Antidote to re-import curriculum content:
selfmedicatescript. The idea is that this script shoulders the burden of downloading all the appropriate software and building is so that you can quickly get to focusing on lesson content. However, issues can still happen. This section is meant to direct you towards the right next steps should something go wrong and you need to intervene directly.
selfmedicatescript is designed to make it easy to configure a local minikube environment with everything related to Antidote installed on top. However, you'll always be well-served by becoming familiar with
minikubeor even Kubernetes itself so that you are more able to troubleshoot the environment when things go wrong.
git pullon the latest
masterbranch of the Self-Medicate and Curriculum repos?
debugsubcommand which runs a series of commands for extracting information that will be needed for any troubleshooting activity. To run this subcommand and place all output in a file called
selfmedicatedebug.txt, run the below:
All of the steps below assume a working Vagrant environment, and a working persistent connection to this virtual machine via
READYcolumn, and all entries under the
STATUScolumn should read
STATUScolumn may read
ContainerCreating. In this case, it's likely that the images for each pod is still being downloaded to your machine. You can verify this by "describing" the pod that's not
selfmedicate.shscript has some built-in logic to wait for these downloads to finish before moving to the next step, but in case that doesn't work, this can help you understand what's going on behind the scenes.
kubectl describe pods <pod name>, as used in the previous section, can tell you if a given pod is still downloading an image.