Features of dev-e7#
EPICS Base tools#
This container includes the runtime tools from epics-base.
Containers in Containers#
Docker and Podman CLI and APIs are supported inside the container. They all connect to the user podman instance running on the host.
Kubernetes CLI tools#
Includes kubectl, helm and oidc-login. Set environment KUBECONFIG to
point to your kubectl configuration file in order for these tools to
pick up cluster configuration.
DLS users need to either:
run
module load polluxbefore launching the devcontainer.add this to $HOME/.bashrc_dev - export KUBECONFIG=$HOME/.kube/config_pollux
DLS kubectl users will also need to mount these folders into the container.
/dls_sw/apps/kubernetes/pollux/
/dls_sw/apps/kubernetes/argus/
OR copy the crt files into their %{HOME}/.kube folder. See Preparing the class namespace.
In the .devcontainer project these are commented out in the file epics-containers/.devcontainer
Uses the home directory .kube user folder for cluster configuration.
Global VirtualEnv#
This is a feature of .devcontainer project see epics-containers/.devcontainer
The virtualenv /venv is already in the path and pre-populated with the skeleton dev dependencies.
You are free to create additional venvs inside the container if the projects inside have conflicting dependencies, but this should not usually be needed.
.bashrc_dev#
This file is mounted as /root/.bashrc and provides a starting point for your bash profile inside the container. Includes:
autocompletion for git and bash
shared bash history with the host
configuration for kubernetes
a shell prompt that tells you:
which container you are in
which git branch you are on
TODO: which kubernetes cluster you are connected to