Skip to content

Commit

Permalink
Merge pull request #334 from lsst-ts/tickets/DM-46960
Browse files Browse the repository at this point in the history
DM-46960 Initial implementation for DREAM and ATBuilding CSCs +40-0
  • Loading branch information
bbrondel authored Oct 22, 2024
2 parents 6ef2b4b + 52db7ef commit c24ec5f
Show file tree
Hide file tree
Showing 14 changed files with 122 additions and 1 deletion.
4 changes: 4 additions & 0 deletions apps/atbuilding/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name: atbuilding
apiVersion: v2
version: 0.13.0
description: A Helm chart for deploying the ATBuilding CSC.
36 changes: 36 additions & 0 deletions apps/atbuilding/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# atbuilding

A Helm chart for deploying the ATBuilding CSC.

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | This specifies the scheduling constraints of the pod |
| annotations | object | `{}` | This allows the specification of pod annotations |
| butlerSecret | object | `{}` | This key allows for specification of Butler secret information. **NOTE**: You must fill out a _secretPermFixer_ entry in addition. If this section is used, it must contain the following attributes: _containerPath_ (The directory location for the Butler secret), _dbUser_ (The username for the Butler backend database) |
| configfile | object | `{}` | This key allows specification of a YAML configuration file If this section is used, it must contain the following attributes defined: _path_ (The container path for the configuration file), _filename_ (The configuration file name), _content_ (The YAML content for the configuration file) |
| ddsRouteFixer | object | `{}` | This section sets the optional use of an init container for multus networking. If this section is used, the following attributes must to be specified: _repository_ (The Docker registry name of the init container image), _tag_ (The tag of the init container image), _pullPolicy_ (The policy to apply when pulling an image for init container deployment) |
| entrypoint | string | `nil` | This key allows specification of a script to override the entrypoint |
| env | object | `{}` | This section holds a set of key, value pairs for environmental variables (ENV_VAR: value) |
| envSecrets | list | `[]` | This section holds specifications for secret injection. If this section is used, each object listed must have the following attributes defined: _name_ (The label for the secret), _secretName_ (The name of the vault store reference. Uses the _namespace_ attribute to construct the full name), _secretKey_ (The key in the vault store containing the necessary secret) |
| image.nexus3 | string | `"pull-secret"` | The tag name for the Nexus3 Docker repository secrets if private images need to be pulled |
| image.pullPolicy | string | `"IfNotPresent"` | The policy to apply when pulling an image for deployment |
| image.repository | string | `"lsstts/test"` | The Docker registry name of the container image to use for the CSC |
| image.tag | string | `"develop"` | The tag of the container image to use for the CSC |
| namespace | string | `nil` | This is the namespace in which the CSC will be placed |
| nfsMountpoint | list | `[]` | This section holds the information necessary to create a NFS mount for the container. If this section is used, each object listed can have the following attributes defined: _name_ (A label identifier for the mountpoint), _path_ (The path inside the container to mount), _readOnly_ (This sets if the NFS mount is read only or read/write), _server_ (The hostname of the NFS server), _serverPath_ (The path exported by the NFS server) |
| nodeSelector | object | `{}` | This allows the specification of using specific nodes to run the pod |
| osplVersion | string | `"V6.9.0"` | This is the version of the OpenSplice library to run. It is used to set the location of the OSPL configuration file |
| pvcMountpoint | list | `[]` | This section holds the information necessary to create a volume mount for the container. If this section is used, each object listed can have the following attributes defined: _name_ (A label identifier for the mountpoint), _path_ (The path inside the container to mount), _accessMode_ (This sets the required access mode for the volume mount), _claimSize_ (The requested physical disk space size for the volume mount), _storageClass_ (The Kubernetes provided storage class), _ids.uid_ (OPTIONAL: An alternative UID for mounting), _ids.gid_ (OPTIONAL: An alternative GID for mounting) |
| resources | object | `{}` | This allows the specification of resources (CPU, memory) requires to run the container |
| secretPermFixer | object | `{}` | This section sets the optional use of an init container for fixing permissions on secret files. If this section is used, each object listed can have the necessary attributes specified: _name_ (The label used for the init container) _containerPath_ (The path in the container where the secret files will be stored) _secretName_ (OPTIONAL: The secret name if different from _name_) _specialInstructions_ (OPTIONAL: This allows for optional instructions to be used when fixing permissions) |
| securityContext | object | `{}` | This key allows for the specification of a pod security context for volumes. If this section is used, it must contain the following attributes: _user_ (The user id for the volumes) _group_ (The group id for the volumes) _fsGroup_ (OPTIONAL: A special supplemental group that applies to all containers in a pod) |
| service.port | int | `nil` | The port number to use for the Service. |
| service.type | string | `nil` | The Service type for the application. This is either ClusterIP (internal access) or LoadBalancer (external access) |
| service.use | bool | `false` | This sets the use of a Service API for the application |
| shmemDir | string | `nil` | This is the path to the Kubernetes local store where the shared memory database will be written |
| tolerations | list | `[]` | This specifies the tolerations of the pod for any system taints |
| useExternalConfig | bool | `true` | This sets whether to rely on the ConfigMap for OSPL configuration or the internal OSPL configuration |
| useHostIpc | bool | `nil` | This sets the use of the host inter-process communication system. Defaults to true if not specified |
| useHostPid | bool | `nil` | This sets the use of the host process ID system. Defaults to true if not specified |
1 change: 1 addition & 0 deletions apps/atbuilding/templates
13 changes: 13 additions & 0 deletions apps/atbuilding/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace: auxtel
image:
repository: ts-dockerhub.lsst.org/atbuilding
tag: c0039
pullPolicy: Always
env:
LSST_DDS_PARTITION_PREFIX: tucson
LSST_SITE: tucson
OSPL_INFOFILE: /tmp/ospl-info-atbuilding.log
OSPL_ERRORFILE: /tmp/ospl-error-atbuilding.log
RUN_ARG: --simulate
shmemDir: /run/ospl
osplVersion: V6.10.4
1 change: 1 addition & 0 deletions apps/atbuilding/values.yaml
2 changes: 2 additions & 0 deletions apps/auxtel/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ env: tucson-teststand
namespace: auxtel
cscs:
- ataos
- atbuilding
- atdome
- atdometrajectory
- atheaderservice
Expand All @@ -11,6 +12,7 @@ cscs:
- atspectrograph
- hexapodsim
isSim:
- atbuilding
- atdome
- athexapod
- atspectrograph
Expand Down
4 changes: 4 additions & 0 deletions apps/dream/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name: dream
apiVersion: v2
version: 0.13.0
description: A Helm chart for deploying the Dream CSC.
36 changes: 36 additions & 0 deletions apps/dream/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# dream

A Helm chart for deploying the Dream CSC.

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | This specifies the scheduling constraints of the pod |
| annotations | object | `{}` | This allows the specification of pod annotations |
| butlerSecret | object | `{}` | This key allows for specification of Butler secret information. **NOTE**: You must fill out a _secretPermFixer_ entry in addition. If this section is used, it must contain the following attributes: _containerPath_ (The directory location for the Butler secret), _dbUser_ (The username for the Butler backend database) |
| configfile | object | `{}` | This key allows specification of a YAML configuration file If this section is used, it must contain the following attributes defined: _path_ (The container path for the configuration file), _filename_ (The configuration file name), _content_ (The YAML content for the configuration file) |
| ddsRouteFixer | object | `{}` | This section sets the optional use of an init container for multus networking. If this section is used, the following attributes must to be specified: _repository_ (The Docker registry name of the init container image), _tag_ (The tag of the init container image), _pullPolicy_ (The policy to apply when pulling an image for init container deployment) |
| entrypoint | string | `nil` | This key allows specification of a script to override the entrypoint |
| env | object | `{}` | This section holds a set of key, value pairs for environmental variables (ENV_VAR: value) |
| envSecrets | list | `[]` | This section holds specifications for secret injection. If this section is used, each object listed must have the following attributes defined: _name_ (The label for the secret), _secretName_ (The name of the vault store reference. Uses the _namespace_ attribute to construct the full name), _secretKey_ (The key in the vault store containing the necessary secret) |
| image.nexus3 | string | `"pull-secret"` | The tag name for the Nexus3 Docker repository secrets if private images need to be pulled |
| image.pullPolicy | string | `"IfNotPresent"` | The policy to apply when pulling an image for deployment |
| image.repository | string | `"lsstts/test"` | The Docker registry name of the container image to use for the CSC |
| image.tag | string | `"develop"` | The tag of the container image to use for the CSC |
| namespace | string | `nil` | This is the namespace in which the CSC will be placed |
| nfsMountpoint | list | `[]` | This section holds the information necessary to create a NFS mount for the container. If this section is used, each object listed can have the following attributes defined: _name_ (A label identifier for the mountpoint), _path_ (The path inside the container to mount), _readOnly_ (This sets if the NFS mount is read only or read/write), _server_ (The hostname of the NFS server), _serverPath_ (The path exported by the NFS server) |
| nodeSelector | object | `{}` | This allows the specification of using specific nodes to run the pod |
| osplVersion | string | `"V6.9.0"` | This is the version of the OpenSplice library to run. It is used to set the location of the OSPL configuration file |
| pvcMountpoint | list | `[]` | This section holds the information necessary to create a volume mount for the container. If this section is used, each object listed can have the following attributes defined: _name_ (A label identifier for the mountpoint), _path_ (The path inside the container to mount), _accessMode_ (This sets the required access mode for the volume mount), _claimSize_ (The requested physical disk space size for the volume mount), _storageClass_ (The Kubernetes provided storage class), _ids.uid_ (OPTIONAL: An alternative UID for mounting), _ids.gid_ (OPTIONAL: An alternative GID for mounting) |
| resources | object | `{}` | This allows the specification of resources (CPU, memory) requires to run the container |
| secretPermFixer | object | `{}` | This section sets the optional use of an init container for fixing permissions on secret files. If this section is used, each object listed can have the necessary attributes specified: _name_ (The label used for the init container) _containerPath_ (The path in the container where the secret files will be stored) _secretName_ (OPTIONAL: The secret name if different from _name_) _specialInstructions_ (OPTIONAL: This allows for optional instructions to be used when fixing permissions) |
| securityContext | object | `{}` | This key allows for the specification of a pod security context for volumes. If this section is used, it must contain the following attributes: _user_ (The user id for the volumes) _group_ (The group id for the volumes) _fsGroup_ (OPTIONAL: A special supplemental group that applies to all containers in a pod) |
| service.port | int | `nil` | The port number to use for the Service. |
| service.type | string | `nil` | The Service type for the application. This is either ClusterIP (internal access) or LoadBalancer (external access) |
| service.use | bool | `false` | This sets the use of a Service API for the application |
| shmemDir | string | `nil` | This is the path to the Kubernetes local store where the shared memory database will be written |
| tolerations | list | `[]` | This specifies the tolerations of the pod for any system taints |
| useExternalConfig | bool | `true` | This sets whether to rely on the ConfigMap for OSPL configuration or the internal OSPL configuration |
| useHostIpc | bool | `nil` | This sets the use of the host inter-process communication system. Defaults to true if not specified |
| useHostPid | bool | `nil` | This sets the use of the host process ID system. Defaults to true if not specified |
1 change: 1 addition & 0 deletions apps/dream/templates
13 changes: 13 additions & 0 deletions apps/dream/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace: eas
image:
repository: ts-dockerhub.lsst.org/dream
tag: c0039
pullPolicy: Always
env:
LSST_DDS_PARTITION_PREFIX: tucson
LSST_SITE: tucson
OSPL_INFOFILE: /tmp/ospl-info-dream.log
OSPL_ERRORFILE: /tmp/ospl-error-dream.log
RUN_ARG: --simulate
shmemDir: /run/ospl
osplVersion: V6.10.4
1 change: 1 addition & 0 deletions apps/dream/values.yaml
2 changes: 2 additions & 0 deletions apps/eas/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ cscs:
- dsm2
- dimm1
- dimm2
- dream
- epm1
- ess1
- ess104
Expand All @@ -28,6 +29,7 @@ isSim:
- dsm2
- dimm1
- dimm2
- dream
- epm1
- ess1
- ess104
Expand Down
3 changes: 2 additions & 1 deletion apps/kafka-producers/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ producers:
auxtel:
cscs: >-
ATAOS
ATBuilding
ATDome
ATDomeTrajectory
ATHexapod
Expand Down Expand Up @@ -76,7 +77,7 @@ producers:
mtaircompressor:
cscs: MTAirCompressor
eas:
cscs: DIMM DSM EPM ESS WeatherForecast
cscs: DIMM DREAM DSM EPM ESS WeatherForecast
lasertracker:
cscs: LaserTracker
genericcamera:
Expand Down
6 changes: 6 additions & 0 deletions apps/love-producer/values-tucson-teststand.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ producers:
ataos:
name_index: ATAOS:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
atbuilding:
name_index: ATBuilding:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
atcamera:
name_index: ATCamera:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
Expand Down Expand Up @@ -90,6 +93,9 @@ producers:
dimm2:
name_index: DIMM:2 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
dream:
name_index: DREAM:0 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
dsm1:
name_index: DSM:1 --log-level 10
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
Expand Down

0 comments on commit c24ec5f

Please sign in to comment.