Rebuild a custom hub image#
We use a customized JupyterHub image so we can use versions of hub packages (such as authenticators) and install additional software required by custom config we might have.
The image is located in images/hub
. It must inherit from
the JupyterHub image used in the Zero to JupyterHub.
chartpress is used to
build the image and update hub/values.yaml
with the new image
version. chartpress
may be installed locally with pip install chartpress
.
Run
gcloud auth configure-docker us-central1-docker.pkg.dev
once per machine to setup docker for authentication with the gcloud credential helper.Modify the image in
images/hub
and make a git commit.Run
chartpress --push
. This will build and push the hub image, and modifyhub/values.yaml
appropriately.Make a commit with the
hub/values.yaml
file, so the new hub image name and tag are comitted.Proceed to deployment as normal.
Some of the following commands may be required to configure your environment to run the above chartpress workflow successfully:
gcloud auth login
gcloud auth configure-docker us-central1-docker.pkg.dev
gcloud auth application-default login
sometimes running
gcloud auth login
additional time(s) may fix issuessudo usermod -a -G docker ${USER}
gcloud auth configure-docker
Rebuild the custom postgres image#
For data100, we provide a postgresql server per user. We want the python extension installed. So we inherit from the upstream postgresql docker image, and add the appropriate package.
This image is in images/postgres
. If you update it, you need to
rebuild and push it.
Modify the image in
images/postgres
and make a git commit.Run
chartpress --push
. This will build and push the image, but not put anything in YAML. There is no place we can put thi invalues.yaml
, since this is only used for data100.Notice the image name + tag from the
chartpress --push
command, and put it in the appropriate place (underextraContainers
) indata100/config/common.yaml
.Make a commit with the new tag in
data100/config/common.yaml
.Proceed to deploy as normal.