Skip to content

new_beamline

Peter Holloway edited this page Nov 28, 2025 · 4 revisions

Setting up a new beamline

This assumes the service is deployed via the helm chart included in the project.

Outline

  1. Create a volume mount for GDA integration (if required)

    • Restart service
  2. Add the path templates to the service configuration

Create a volume mount

Note

This step can be skipped if the GDA integration is not required. The scan number will be tracked internally

The directory used for GDA's number file system needs to be made available to the service. This can be done by adding the directory under the extraVolumeMounts section of the values.yaml when deploying numtracker. At diamond, using the athena-app configuration this can share the single volume defined under the extraVolumes section and just add a subpath as the mount.

The path used for the subPath should be the path to GDA's var directory relative to /dls_sw/. Note some beamlines use different names and locations for their var directories so it can't always be copied from an existing mount (eg ixx/software/var vs ixx/software/gda_var vs ixx/software/gda_versions/var).

The mountPath should be /trackers/ixx where ixx is the instrument name

The remaining fields, name and mountPropagation should be dls-sw and HostToContainer respectively.

extraVolumeMounts:
  - # ... other existing mounts
  - mountPath: /trackers/ixx
    name: dls-sw
    mountPropagation: HostToContainer
    subPath: ixx/software/var

The service will need to be restarted to include this new mount. When deployed with argoCD (as at Diamond), this will be automatic when the change for the volume mounts has been merged.

Add path templates

This can be done by anyone with admin rights to the beamline being configured and is possible via the graphql interface. To work with the authentication, it may be easiest to use the CLI (see also running locally for details of how to access the CLI).

numtracker client configure ixx \
    --directory '/dls/ixx/data/{year}/{visit}' \
    --scan '{subdirectory}/{instrument}-{scan_number}' \
    --detector '{subdirectory}/{instrument}-{detector}-{scan_number}'

Note

If GDA uses an extension other than the instrument name for the tracker files, (eg 'tmp'), this should be set via --tracker-file-extension tmp to the configure command.

To check, the easiest way is to check the extension of the most recently edited number file in the var directory, eg 12345.custom_ext suggests using custom_ext. If it is not clear, checking the value of the gda.data.numtracker.extension property.

Clone this wiki locally