Deploy Using Source Code

This page describes how to install, interact with, and uninstall development versions of PST using make commands that are run from the root directory of the ska-pst source code repository.

Configure environment

First clone the repo and submodules to your local file system

git clone --recursive git@gitlab.com:ska-telescope/pst/ska-pst.git
cd ska-pst

The following environment variables control the deployment and testing of the PST:

Environment variable

Default value

Description

KUBE_NAMESPACE

ska-pst

Kubernetes namespace for deployment

K8S_CHART

ska-pst

Name of the Helm chart to be installed; for simulation mode, use ska-pst

If running in a local kubernetes environment, either use the default namespace or create a namespace; e.g.

kubectl create namespace ska-pst

Configure the namespace used by helm and kubectl:

export HELM_NAMESPACE=ska-pst
export KUBE_NAMESPACE=ska-pst
kubectl config set-context --current --namespace=ska-pst

In the remainder of the documentation, it is assumed that the namespace is either the default or configured appropriately.

Deploy PST

Deploy PST into the default namespace by installing the test-parent chart with the values file that enables the PST JupyterLab.

make k8s-install-chart K8S_CHART=test-parent \
    K8S_CHART_VALUES="tests/integration/k8srunner/gitlab.test-parent.yaml"

# Wait for the LMC pod to complete initialisation
make k8s-wait KUBE_APP=ska-pst-lmc

The gitlab.test-parent.yaml values file configures helm to pull PST images from registry.gitlab.com.

Deploy PST In Simulation mode

PST can be deployed in a simulation mode without the need for the data signal processing pipeline to be running. When deployed in simulation mode only the ska-pst-lmc chart is used and the PST BEAM.MGMT TANGO device is put into simulation mode. This should only be used in a testing environment where there is no need for the digital signal processing pipeline and only a need to interact with the PST LMC (e.g. CSP.LMC testing).

make k8s-install-chart K8S_CHART=test-parent \
    K8S_CHART_PARAMS=" --values=tests/integration/k8srunner/simulation.ska-pst.yaml \
    --set ska-pst.image.registry=registry.gitlab.com/ska-telescope/pst/ska-pst"

# Wait for the LMC pod to complete initialisation
make k8s-wait KUBE_APP=ska-pst-lmc

The simulation.ska-pst.yaml values file does not override the default artefact.skao.int registry for PST images.

Interact with PST

See Operation / Using Jupyter for instructions on how to interact with PST via Jupyter notebooks.

Shut down PST

When finished with PST, clean up the deployment.

make k8s-uninstall-chart K8S_CHART=test-parent