Observation Design Tool Services

The Observation Design Tool Services is the server component of the Observation Design Tool. It provides the web services used by the Observation Design Tool client to read and manipulate stored scheduling blocks.

To clone this repository, run

` git clone --recurse-submodules git@gitlab.com:ska-telescope/ska-oso-oet.git `

To refresh the GitLab Submodule, execute below commands:

` git submodule update --recursive --remote git submodule update --init --recursive `

## Build and test

Install dependencies with Poetry and activate the virtual environment

` poetry install poetry shell `

To build a new Docker image for the OET, run

` make oci-build `

Execute the test suite and lint the project with:

` make python-test make python-lint `

## Deploy to Kubernetes

Install the Helm chart into a kubernetes cluster with ingress enabled:

` make k8s-install-chart K8S_CHART_PARAMS="--set ingress.enabled=true" `

The Flask API should then be available external to the cluster at http://<KUBE_HOST>:5000/. If using minikube, KUBE_HOST can be found by running minikube ip

To uninstall the chart, run

` make k8s-uninstall-chart `

## Documentation

[![Documentation Status](https://readthedocs.org/projects/ska-telescope-ska-oso-oet/badge/?version=latest)](https://developer.skao.int/projects/ska-oso-oet/en/latest/?badge=latest)

Documentation can be found in the docs folder. To build docs, install the documentation specific requirements:

` pip3 install sphinx sphinx-rtd-theme recommonmark `

and build the documentation (will be built in docs/build folder) with

` make docs-build html `