Helm charts
Overview of SDP Helm charts and the values that can be used to customise deployments. These charts are published in the SKAO Central Artefact Repository.
SDP chart
The ska-sdp chart is intended to deploy the SDP as a subsystem of a telescope alongside other subsystems. It does not deploy the ancillary services needed by the SDP such as the Tango database or Kafka (for data queues).
See the SDP testing chart for an umbrella chart to deploy the SDP for stand-alone testing.
The SDP chart’s default values can be found in the values file.
Global
Settings that affect the entire deployment.
Parameter |
Description |
Default |
|---|---|---|
|
Name of data product PVC |
|
|
Host address and port for the Tango database |
|
|
Use Tango operator to deploy LMC devices |
|
|
Host and port of Kafka broker |
|
Common settings
Common settings for SDP components.
Parameter |
Description |
Default |
|---|---|---|
|
Namespace for SDP dynamic deployments |
|
|
Environment variables to be passed into every SDP component |
|
Feature flags
SDP features under development behind feature flags.
Parameter |
Description |
Default |
|---|---|---|
|
If resource management (including the Buffer Manager) should be enabled |
|
Configuration database
Configuration database settings implemented on top of etcd.
Parameter |
Description |
Default |
|---|---|---|
|
etcd container image |
|
|
etcd container version |
See values file |
|
etcd container image pull policy |
|
|
Number of etcd server replicas |
|
|
Logging level for etcd |
|
|
Resource requests and limits for the pod |
|
|
Enable persistence of etcd database in persistent volume claim |
|
|
Size of persistent volume claim |
|
|
Storage class name for persistent volume claim |
|
|
Auto compaction retention for key-value store in hours |
|
|
Auto compaction mode |
|
|
Enable periodic etcd defragmentation |
|
|
Schedule in Cron format for etcd defragmentation |
|
|
Number of successful finished jobs to retain |
|
|
Maximum number of operations per transaction |
|
|
Custom environment variables to set in the application |
See values file |
LMC (Tango devices)
Settings related to LMC Tango devices.
Parameter |
Description |
Default |
|---|---|---|
|
Enable the LMC. If set to |
|
|
LMC container image |
|
|
LMC container version |
See values file |
|
LMC container image pull policy |
|
|
Logging level for LMC devices |
|
|
Custom environment variables to set in the application |
See values file |
|
Number of subarrays to deploy |
|
|
Telescope prefix for Tango device names (e.g. |
|
|
Enable all Tango device commands to receive a transaction ID |
|
|
Enable strict validation of subarray command schemas |
|
|
Allow using development versions of subarray command schemas |
|
|
LMC devices idle loop time (seconds) |
See values file |
|
LMC devices Kubernetes liveness probe configuration |
See values file |
|
LMC devices Kubernetes readiness probe configuration |
See values file |
|
Controller device settings |
See values file |
|
Subarray device settings |
See values file |
|
Timeout for AssignResources command (seconds) |
|
|
Timeout for Configure command (seconds) |
|
|
Controller device settings |
See values file |
|
Subarray device settings |
See values file |
|
QueueConnector device settings |
See values file |
|
List of QueueConnector static attributes. |
|
|
Attribute name. |
|
|
Data format. |
|
|
Tango Data Type. See Data types. |
|
|
Maximum size for x dimension. |
|
|
Maximum size for y dimension. |
|
|
Attribute access modifier. |
|
Console
The console provides a command-line interface to monitor and control the SDP by interacting with the configuration database.
Parameter |
Description |
Default |
|---|---|---|
|
Enable the console |
|
|
Console container image |
|
|
Console container version |
See values file |
|
Console container image pull policy |
|
|
Number of console replicas |
|
|
Resource requests and limits for the pod |
|
|
Custom environment variables to set in the application |
See values file |
Processing controller
Parameter |
Description |
Default |
|---|---|---|
|
Processing controller container image |
|
|
Processing controller container version |
See values file |
|
Processing controller container image pull policy |
|
|
Resource requests and limits for the pod |
|
|
Logging level for processing controller |
|
|
Version of |
See values file |
|
Processing controller idle loop time (seconds) |
See values file |
|
Delay after which the processing controller removes finished EBs and PBs |
See values file |
|
Processing controller Kubernetes liveness probe configuration |
See values file |
|
Processing controller Kubernetes readiness probe configuration |
See values file |
|
Custom environment variables to set in the application |
See values file |
Quality Assessment (QA)
Parameter |
Description |
Default |
|---|---|---|
|
Enable the QA components |
|
|
QA API container image |
|
|
QA API container version |
See values file |
|
QA API container image pull policy |
|
|
Number of API worker processes |
|
|
Enable API profiling |
|
|
Enable debug mode |
|
|
Hours after which data expires |
|
|
Waterfall plot expiration in seconds |
|
|
Width of thumbnails in pixels |
|
|
Height of thumbnails in pixels |
|
|
Grafana dashboard ID |
|
|
Grafana base URL |
|
|
Kibana base URL |
|
|
CPU request for QA API |
|
|
Memory request for QA API |
|
|
CPU limit for QA API |
|
|
Memory limit for QA API |
|
|
Custom environment variables to set in the application |
See values file |
|
QA display container image |
|
|
QA display container version |
See values file |
|
QA display image pull policy |
|
|
Override API URLs |
|
|
API URL for display |
|
|
WebSocket API URL for display |
|
|
Interval for workflow statistics in seconds |
|
|
Skip preflight check |
|
|
Custom environment variables to set in the application |
See values file |
|
Enable ingress for QA |
|
|
Ingress path prefix |
|
|
Use namespaced ingress |
|
Helm deployer
Parameter |
Description |
Default |
|---|---|---|
|
Helm deployer container image |
|
|
Helm deployer container version |
See values file |
|
Helm deployer container image pull policy |
|
|
Resource requests and limits for the pod |
|
|
Logging level for Helm deployer |
|
|
Prefix for Helm release names |
|
|
Prefix for Helm chart names |
|
|
Chart repository URL |
|
|
Chart repository refresh interval (in seconds) |
|
|
Maximum number of releases to list at once |
|
|
Helm deployer idle loop time (seconds) |
See values file |
|
Helm deployer Kubernetes liveness probe configuration |
See values file |
|
Helm deployer Kubernetes readiness probe configuration |
See values file |
|
If
true then add credentials for helm deployer to list/get/watchthe network-attachment-definitions system CRD.
|
|
|
Custom environment variables to set in the application |
See values file |
Slurm Deployer
Parameter |
Description |
Default |
|---|---|---|
|
Enables the Slurm Deployer if |
|
|
Slurm Deployer container image. |
|
|
Slurm Deployer container image version/tag |
See values file |
|
Slurm Deployer container image pull policy |
|
|
URL for the Slurm REST API endpoint |
|
|
Log level for the Slurm Deployer |
|
|
Resource requests/limits for the Slurm Deployer Pod |
|
|
Maximum number of Slurm deployments to list at once |
|
|
Slurm Deployer idle loop time (seconds) |
|
|
Kubernetes liveness probe for Slurm Deployer |
See values file |
|
Kubernetes readiness probe for Slurm Deployer |
See values file |
|
Custom environment variables to set in the application |
See values file |
The Slurm deployer requires access to several secrets. The secret resource needs to be defined outside of the SDP chart. (Refer to SDP Secrets for more information on secrets.) By default, JWT authentication is used.
Parameter |
Description |
Default |
|---|---|---|
|
Name of the Secret for the KubeConfig |
|
|
The name of the KubeConfig key in the secret |
|
|
Name of the Secret for the Slurm Service Auth |
|
|
The name of the JWKS Client ID key in the secret |
See values file |
|
The name of the JWKS Client Secret key in the secret |
See values file |
|
Name of JWT user name key in the secret |
See values file |
|
Name of the JWT token key in the secret |
See values file |
|
Azure address of JKWS which issues JWTs |
|
Buffer Manager
Parameter |
Description |
Default |
|
Buffer Manager container image |
|
|
Buffer Manager container version |
See values file |
|
Buffer Manager container image pull policy |
|
|
Resource requests and limits for the pod |
|
|
Logging level for Helm deployer |
|
|
Buffer Manager idle loop time (seconds) |
|
|
Percentage of total capacity that is reserved for contingency and is not allocatable |
|
|
Buffer manager Kubernetes liveness probe configuration |
See values file |
|
Buffer manager Kubernetes readiness probe configuration |
See values file |
|
Custom environment variables to set in the application |
See values file |
Global Sky model
Parameter |
Description |
Default |
|
Enable the GSM |
|
|
Enable the GSM’s ingress |
|
|
What the path should be after the namespace |
|
|
The container image |
|
|
Image version |
See values file |
|
Pull policy for image |
|
|
The logger level to use |
|
|
The maximum wait time between checking for requests (seconds) |
|
|
The amount of seconds to wait before checking if it is alive. |
|
|
The time between liveness probe checks |
|
|
The amount of seconds to wait before checking if it has started. |
|
|
The time between startup probe checks. |
|
|
The resource restrictions on the GSM. |
See values file |
|
Custom environment variables to set in the application |
See values file |
|
The name of the secret resource. |
|
|
The name of the postgres host key. |
|
|
The name of the postgres name key. |
|
|
The name of the postgres user key. |
|
|
The name of the postgres password key. |
|
|
The name of the postgres schema key. |
|
Data Persistent Volume Claim (PVC)
Configure the SDP to use an existing volume or create a new one, and configure the processing scripts to write the data to that volume. When creating new PVCs, one will be created in the control system namespace and the other in the processing namespace.
If the clone-pvc and clone-pvc-namespace values are set, then the PVCs
will be created as clones of an existing PVC in another namespace. This allows
the storage volume to be shared between namespaces. It depends on the
SKAO-specific shared volume infrastructure being available in the cluster.
Parameter |
Description |
Default |
|---|---|---|
|
Name of data product PVC that is set as a global value to allow subcharts to access the same PVC |
|
|
Enable creation of PVCs |
|
|
Size of PVC |
|
|
Storage class name for PVC |
|
|
Name of PVC to clone |
Not set |
|
Namespace containing the PVC to clone |
Not set |
|
Create a pod that connects to the data-pvc |
|
Processing scripts
Processing script definitions to be used by SDP. These map the script kind, name and version to a container image. By default the definitions from the scripts repository are loaded as Telescope Model data at SDP installation time. A different URL may be specified. A schedule can be established to reload the definitions periodically. Alternatively a list of script definitions can be passed to the chart.
Parameter |
Description |
Default |
|---|---|---|
|
URL from which to read the script definitions |
|
|
List of script definitions. If present, used instead of the URL. See the example below |
Not set |
|
The cronjob schedule on which script definitions are re-loaded.
Only relevant when not using |
Not set |
Example of script definitions in a values file:
scripts:
definitions:
- type: realtime
id: test-realtime
version: 0.3.0
image: artefact.skao.int/ska-sdp-script-test-batch:0.3.0
- type: batch
id: test-batch
version: 0.3.0
image: artefact.skao.int/ska-sdp-script-test-realtime:0.3.0
Configuration jobs
Settings that control some of the aspects of the configuration jobs that run when SDP is deployed.
Parameter |
Description |
Default |
|---|---|---|
|
Time-to-live of jobs after successful completion in seconds |
|
Proxy settings
Proxy settings are applied to the components that retrieve configuration data via HTTPS: the script definitions and the Helm charts.
Parameter |
Description |
Default |
|---|---|---|
|
Address of proxy server |
Not set |
|
List of addresses or subnets for which the proxy should not be used |
Not set |
Example of proxy settings in a values file:
proxy:
server: http://proxy.mydomain
noproxy:
- 192.168.0.1
- 192.168.0.2
SDP testing chart
The ska-sdp-testing chart is an umbrella chart intended to deploy the SDP stand-alone for testing. It depends on the SDP chart and other SKA charts for ancillary services. It is also capable of deploying Kafka.
Parameter |
Description |
Default |
|---|---|---|
|
Enable Kafka |
|
|
Enable Tango base chart; deploys Tango database |
|
|
Enable Tango alarm handler |
|
|
Enable TangoGQL |
|
|
Enable Taranta |
|
The testing chart is also able to deploy a local Postgres database for the Global Sky Model (GSM) service:
Parameter |
Description |
Default |
|---|---|---|
|
Enable the creation of a local Postgres database |
|
|
OCI image to deploy |
See values file |
|
Version of the OCI image that will be deployed |
See values file |
|
Image name for the Local DB Migrations |
See values file |
|
Image version for the Local DB Migrations |
See values file |
|
The pull policy for the Local DB Migrations image |
|
The testing chart is responsible for creating the secrets for the Slurm deployer, and the GSM service. The relevant parameters are as follows.
Parameter |
Description |
Default |
|---|---|---|
|
Enable the creation of secrets from Vault |
|
|
The name of the engine in Vault |
|
|
The path in the vault to the Slurm Token |
See values file |
|
The auth reference to use in Vault |
See values file |
|
The name of the engine in Vault |
|
|
The path in the vault to the Kube Config |
|
|
How often to refresh the secrets |
|
|
The name of the engine in Vault |
|
|
The path in the vault to the GSM secret |
|
|
How often to refresh the secrets |
|