AVL Development#
Most AVL development activity centres around repositories belonging to the
agriculture-vlab
GitHub organization.
This organization currently has two active repositories, agriculture-vlab
and avl-jh-user-image
.
The agriculture-vlab
repository#
The agriculture-vlab
repository
contains code written expressly for the AVL project, implementing a Python API
and a command-line interface for AVL-specific functionality.
The repository also contains the source files, in Markdown format, for the AVL documentation, including this document. These source files are processed by mkdocs into the published project documentation.
The avl-jh-user-image
repository#
The avl-jh-user-image
repository
is a single-purpose GitHub repository hosting a dockerfile which defines the
JupyterHub user image for the AVL Exploitation Subsystem notebook environment.
When a user starts the notebook environment, this is the container image with
which it is initialized.
The dockerfile in this repository takes as its base the scipy-notebook
image
from the
Jupyter docker-stacks project
project and customizes it for the requirements of the AVL, mainly by
installing additional required packages such as xcube and updating selected
packages to fix known vulnerabilities.
The image is rebuilt automatically by the quay.io build service when the GitHub repository is updated, and hosted in a docker image repository at https://quay.io/repository/bcdev/avl-user.
Deployment of the exploitation subsystem#
The JupyterHub-based exploitation subsystem is deployed on a dedicated Kubernetes cluster running on the AWS EKS service. JupyterHub is deployed using the helm package manager with a chart from the JupyterHub helm chart repository. Deployment of the exploitation subsystem is fully documented in the operator manual.