Skip to content

Commit

Permalink
added DAQ services (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
ZohebShaikh authored Nov 15, 2024
1 parent 497bfdf commit f8f3db8
Show file tree
Hide file tree
Showing 9 changed files with 235 additions and 0 deletions.
16 changes: 16 additions & 0 deletions services/daq-blueapi/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v2
name: daq-blueapi
description: blueapi

version: 0.6.0

# When we deploy with the edge-containers-cli we override this on the command line.
# Direct deployment with Helm will use the default beta value.
appVersion: 0.0.1b1

type: application

dependencies:
- name: blueapi
version: "0.6.0"
repository: "oci://ghcr.io/diamondlightsource/charts"
14 changes: 14 additions & 0 deletions services/daq-blueapi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
daq-blueapi Helm Chart
=====================

Installs a blueapi instance.

Deploy this chart to the cluster by setting up your cluster namespace connection
using environment.sh and then executing the following commands:

```bash
# lists the latest versions of all services
ec list
# deploy daq-blueapi with specified version
ec deploy daq-blueapi VERSION
```
59 changes: 59 additions & 0 deletions services/daq-blueapi/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
blueapi:
hostNetwork: false
resources:
limits:
cpu: 1000m
memory: 500Mi
requests:
cpu: 500m
memory: 100Mi
nodeSelector:
kubernetes.io/hostname: bl48p-ea-serv-01.diamond.ac.uk
tolerations:
- key: nodetype
operator: Equal
value: training-rig
effect: NoSchedule
- key: beamline
operator: Equal
value: bl48p
effect: NoSchedule
ingress:
create: true
host: p48-blueapi.diamond.ac.uk
extraEnvVars:
- name: BEAMLINE
value: p48

- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-password
key: rabbitmq-password
worker:
env:
sources:
- kind: dodal
module: dodal.beamlines.training_rig
# TODO: Make training rig plans repository
- kind: planFunctions
module: blueapi.startup
events:
broadcast_status_events: False
stomp:
auth:
username: p48
password: ${RABBITMQ_PASSWORD}
host: daq-rabbitmq
scratch:
root: /exports/mybeamline/p48/scratch/blueapi

initContainer:
scratch:
root: /exports/mybeamline/p48/scratch/blueapi
repositories:
- name: dodal
remote_url: https://github.com/DiamondLightSource/dodal.git
- name: blueapi
remote_url: https://github.com/DiamondLightSource/blueapi.git
scratchHostPath: /exports/mybeamline/p48/scratch/blueapi
16 changes: 16 additions & 0 deletions services/daq-nexus/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v2
name: daq-nexus
description: nexus

version: 3.5.0

# When we deploy with the edge-containers-cli we override this on the command line.
# Direct deployment with Helm will use the default beta value.
appVersion: 0.0.1b1

type: application

dependencies:
- name: nexus-file-converter
version: "3.5.0"
repository: "https://sonatypenexus.diamond.ac.uk/repository/daq-helm/"
57 changes: 57 additions & 0 deletions services/daq-nexus/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
nexus-file-converter:
beamline: p48
template:
entry/:
NX_class@: NXentry
instrument/:
NX_class@: NXinstrument
name: p48

volumes:
- name: nexus-template
configMap:
name: nexus-template
items:
- key: template.yaml
path: template.yaml
- name: nexus-data
hostPath:
path: /exports/mybeamline/p48/data/
type: DirectoryOrCreate

volumeMounts:
- name: nexus-data
mountPath: /exports/mybeamline/p48/data/
mountPropagation: HostToContainer
- name: nexus-template
mountPath: /templates

application:
server:
port: 8084
spring:
profiles:
active: rabbitmq
rabbitmq:
host: daq-rabbitmq
username: p48
files:
output:
directory:
staticDirectory: /exports/mybeamline/p48/data/2024/cm11111-1
nameTemplate: <DATA_SESSION>
devices:
types:
det: NX_DETECTOR
sample_stage: NX_COLLECTION
sample_stage.x: NX_POSITIONER
sample_stage.theta: NX_POSITIONER
containerEnvVars:
- name: SPRING_RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: rabbitmq-password
key: rabbitmq-password
securityContext:
runAsUser: 37888 # p48-detector
runAsGroup: 37888
16 changes: 16 additions & 0 deletions services/daq-rabbitmq/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v2
name: daq-rabbitmq
description: RabbitMQ instance for DAQ services

version: 11.16.2

# When we deploy with the edge-containers-cli we override this on the command line.
# Direct deployment with Helm will use the default beta value.
appVersion: 0.0.1b1

type: application

dependencies:
- name: rabbitmq
version: 11.16.2
repository: oci://registry-1.docker.io/bitnamicharts
14 changes: 14 additions & 0 deletions services/daq-rabbitmq/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
daq-rabbitmq Helm Chart
=====================

Installs a RabbitMQ instance for use a message bus.

Deploy this chart to the cluster by setting up your cluster namespace connection
using environment.sh and then executing the following commands:

```bash
# lists the latest versions of all services
ec list
# deploy daq-rabbitmq with specified version
ec deploy daq-rabbitmq VERSION
```
16 changes: 16 additions & 0 deletions services/daq-rabbitmq/templates/rabbitmq.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: rabbitmq-password
namespace: p48-beamline
spec:
encryptedData:
rabbitmq-password: AgCO9im/tC6U4HPOPiuuiCy3Nx4G8LG2S7+D03k2gNStAS6NW3IALtRl7FmvTMJdJCAFBcNaTfftDj1H6U2LG9A2kf5Yr15BJwqe/3Fn+3+aG1Dsppn8RgPJSMnXjl48mh3XBibmLQAWdgmA3G30lAG2Oh3VlIyTPXhYiNjtB8lBIZcE2mB8/M/oL8BuLs0FY85xoYQY0lXCBXEP3S4WdiYLcv1N8D8MOXuR2cB46EgfvzjPzC0AV/nayO4QFiMQRPOFG5Otnf1YI8/Z3/JL1qPPQxTIlHsuvae6G73p2ilP+gU4g4TaXuM2l9jM1VpndFdSbEP9c4c0EqUBSBmtZaKWaUBNmeAQMRc5agre5hQFwbB4zqWYikGhjZqrh8osjm2XrAI229RlWtDSXnyRecScP4lf1cWmyxqJvi+klG2ufrx+UNXbd/BIgv5Arg/JXDgXaLLAXgHmQvby9cEGq8cclPDntxuwbKZUYHnKtnoTvY7MQgCAsy/w+JrMG12hi3uyp9k+NdxTSshlwhuG/EpcSkXz42C8v/5d8M8urll5AHC/00FBHssYb0bHfIZ+xGD7t0nREZwd8RR4XFFvOWsXO+FbjmhQM5ivqtHtUEPwlfIozoUX+1DYbCvXXSbFsSJFosc4+g1i3XZlQW2xaGHEY9CHzJwyK/xwP6EiLEqZH914Bx/aaxFGIfWrzGxS54Yy6Is=
template:
data: null
metadata:
creationTimestamp: null
name: rabbitmq-password
namespace: p48-beamline

27 changes: 27 additions & 0 deletions services/daq-rabbitmq/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
rabbitmq:
auth:
username: p48
existingPasswordSecret: rabbitmq-password
extraPlugins: rabbitmq_stomp
persistence:
enabled: false
rbac:
create: false
serviceAccount:
create: false
name: default-full-access-mounted # TODO: use only required permissions
extraContainerPorts:
- name: stomp
containerPort: 61613
service:
type: ClusterIP
extraPorts:
- name: stomp
port: 61613
targetPort: stomp
metrics: # TODO: Enable monitoring stack in namespace
enabled: true
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/path: /metrics
prometheus.io/port: "8080"

0 comments on commit f8f3db8

Please sign in to comment.