diff --git a/services/daq-blueapi/Chart.yaml b/services/daq-blueapi/Chart.yaml new file mode 100644 index 0000000..a166954 --- /dev/null +++ b/services/daq-blueapi/Chart.yaml @@ -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" diff --git a/services/daq-blueapi/README.md b/services/daq-blueapi/README.md new file mode 100644 index 0000000..dcd376b --- /dev/null +++ b/services/daq-blueapi/README.md @@ -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 +``` diff --git a/services/daq-blueapi/values.yaml b/services/daq-blueapi/values.yaml new file mode 100644 index 0000000..0a0a032 --- /dev/null +++ b/services/daq-blueapi/values.yaml @@ -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 diff --git a/services/daq-nexus/Chart.yaml b/services/daq-nexus/Chart.yaml new file mode 100644 index 0000000..a49e8a1 --- /dev/null +++ b/services/daq-nexus/Chart.yaml @@ -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/" diff --git a/services/daq-nexus/values.yaml b/services/daq-nexus/values.yaml new file mode 100644 index 0000000..d6f254d --- /dev/null +++ b/services/daq-nexus/values.yaml @@ -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: + 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 diff --git a/services/daq-rabbitmq/Chart.yaml b/services/daq-rabbitmq/Chart.yaml new file mode 100644 index 0000000..5d1c272 --- /dev/null +++ b/services/daq-rabbitmq/Chart.yaml @@ -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 diff --git a/services/daq-rabbitmq/README.md b/services/daq-rabbitmq/README.md new file mode 100644 index 0000000..2a4c9eb --- /dev/null +++ b/services/daq-rabbitmq/README.md @@ -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 +``` diff --git a/services/daq-rabbitmq/templates/rabbitmq.yaml b/services/daq-rabbitmq/templates/rabbitmq.yaml new file mode 100644 index 0000000..a6070e8 --- /dev/null +++ b/services/daq-rabbitmq/templates/rabbitmq.yaml @@ -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 + diff --git a/services/daq-rabbitmq/values.yaml b/services/daq-rabbitmq/values.yaml new file mode 100644 index 0000000..f72037f --- /dev/null +++ b/services/daq-rabbitmq/values.yaml @@ -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"