The BOS API is the point of contact for the user and all other services that want to query or update BOS data. This includes the sub-services of BOS.
The BOS API server does not do any of the actual core BOS work – that is, it does not boot or reboot any nodes, it does not coordinate the progress of sessions, and so on. Its essential purpose is to act as a front-end for the BOS database, allowing callers to safely create, read, modify, and delete entries in the database.
All of the core BOS work is done by BOA.
(ncn-mw#) The BOS API server runs in multiple Kubernetes pods in the services namespace.
kubectl get pods -n services -l app.kubernetes.io/name=cray-bos
Example output:
NAME READY STATUS RESTARTS AGE
cray-bos-994fc7c59-298g8 2/2 Running 0 50d
cray-bos-994fc7c59-z2r2q 2/2 Running 0 50d
For the full OpenAPI specification, see the
Cray-HPE/bos open source GitHub repository.
For the source for the BOS API server, including its Helm chart, see the
Cray-HPE/bos open source GitHub repository.