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 databases, allowing callers to safely create, read, modify, and delete entries in the databases.
All of the core BOS v2 work is done by the BOS operators and the BOS reporter. For BOS v1, the 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 a user-friendly summary of the BOS API specification, see Boot Orchestration Service API.
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.