Skip to content

Commit

Permalink
Merge pull request #340 from lsst-ts/tickets/DM-47370
Browse files Browse the repository at this point in the history
Add LEDProjector to summit
  • Loading branch information
couger01 authored Nov 7, 2024
2 parents 650c7ad + 3ec5b0a commit 3a4bbe1
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 0 deletions.
1 change: 1 addition & 0 deletions apps/calsys/values-summit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ cscs:
- gcheaderservice1
- tunablelaser
- cbp
- ledprojector
renameMap:
electrometer101: comcam-electrometer-101
electrometer102: cbpcal-electrometer-102
Expand Down
1 change: 1 addition & 0 deletions apps/kafka-producers/values-summit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ producers:
CBP
Electrometer
FiberSpectrograph
LEDProjector
LinearStage
TunableLaser
mtaircompressor:
Expand Down
4 changes: 4 additions & 0 deletions apps/ledprojector/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name: ledprojector
apiVersion: 2
version: 0.13.0
description: A Helm chart for deploying the LEDProjector CSC.
36 changes: 36 additions & 0 deletions apps/ledprojector/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# ledprojector

A Helm chart for deploying the LEDProjector 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/ledprojector/templates
13 changes: 13 additions & 0 deletions apps/ledprojector/values-summit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
namespace: calsys
image:
repository: ts-dockerhub.lsst.org/ledprojector
tag: c0039
pullPolicy: Always
env:
LSST_DDS_PARTITION_PREFIX: summit
LSST_SITE: summit
OSPL_INFOFILE: /tmp/ospl-info-ledprojector.log
OSPL_ERRORFILE: /tmp/ospl-error-ledprojector.log
RUN_ARG:
shmemDir: /run/ospl
osplVersion: V6.10.4
1 change: 1 addition & 0 deletions apps/ledprojector/values.yaml
3 changes: 3 additions & 0 deletions apps/love-producer/values-summit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ producers:
lasertracker1:
name_index: LaserTracker:1
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
ledprojector:
name_index: LEDProjector:0
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
love:
name_index: LOVE:0
WEBSOCKET_HOST: love-nginx-service/love/manager/producers/ws/subscription
Expand Down
1 change: 1 addition & 0 deletions docs/app-maint/add-application.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ The following is the procedure to add a new application to the system.
The files should be named ``values-<csc name><csc index>.yaml``.
Simulator variants of indexed components should have values files like ``values-<csc name><csc index>-sim.yaml``.
#. If the application needs to be integrated with a :ref:`collector application <CSC-Ops-with-ArgoCD-Collector-Apps>`, add the application name to the list in the appropriate environment file in the collector.
#. Add the application reference to the love and kafka producers on the desired site yaml file.

If the application is part of a :ref:`collector application <CSC-Ops-with-ArgoCD-Collector-Apps>`, then once the change with the application is committed and pushed to GitHub, syncing the collector application will create the application.
After the application is created, it can then be synced via methods described in :ref:`CSC-Ops-with-ArgoCD-Upgrade-Application`.
Expand Down

0 comments on commit 3a4bbe1

Please sign in to comment.