Deploying to production#
The production config server is deployed into argus using ArgoCD, you can see this deployment here.
To update this:
Create a new release on github. Ensuring semantic versioning and that the release notes are sensible.
Ensure the new container and helm chart have been published
Clone the services-repo locally
Update the
services/daq-config-server/Chart.yamlto have the new version numbers. Including changing the chart version as specified in the comment in the file.Update the
Chart.lockby running:cd services/daq-config-server/ module load helm helm dependency update .
For an example of this and the previous step see here
Merge this as a MR (you will need approval from a DAQ team lead)
Ensure the version in argoCD updates. This should be automatic and take no longer than 5 mins.
Deploying to a beamline cluster#
The config server can also be deployed to beamline clusters.
To do this:
Request a new ingress from the cloud team from this page. For example, for i03 the request would be
Namespace Name:
i03-beamlineIngress Names:
i03-daq-config.diamond.ac.uk
In the {beamline}-services repo on GitLab, create a new folder inside the services folder called
{beamline}-daq-config-server/. Create aChart.yamlandvalues.yamlhere. See here for an example ini03-services. Make sure the ingress section invalues.yamlmatches the ingress information you requested in step 1.Ensure the
securityContextsection is correct for your beamline. Runningid k8s-ixx-beamlinein a terminal will give you the correct user ID and group ID for your beamline.In the {beamline}-deployment repo on GitLab, update
apps/values.yamlto include the new config server app by adding the service name below the other services.Check the app is running on ArgoCD. If you don’t have access to the namespace of the beamline cluster you are deploying to, someone already with access can request to add you here.
Once ArgoCD is showing the app is up and running, check you can retrieve config from the server by visiting the ingress url in a browser with
/docsto see the interactive API. You should be able to use theGet Configurationform to retrieve a config file. For example, here’s the i03 site.