The Configuration Framework Service (CFS) is available on systems for remote execution and configuration management of nodes and boot images. This includes nodes available in the Hardware State Manager (HSM) inventory (compute, management, and application nodes), and boot images hosted by the Image Management Service (IMS).
CFS configures nodes and images via a gitops
methodology. All configuration content is stored in a version control service (VCS), and is managed by authorized system administrators.
CFS provides a scalable Ansible Execution Environment (AEE) for the configuration to be applied with flexible inventory and node targeting options.
CFS is available for the following use cases on systems:
CFS is comprised of a group of services and components interacting within the Cray System Management (CSM) service mesh, and provides a means for system administrators to configure nodes and boot images via Ansible. CFS includes the following components:
CFS-API
, a REST API service.cray cfs
command).CFS-Hardware-Sync-Agent
, which pulls in node information from the system inventory to the CFS database to track the node configuration state.CFS-Operator
, which manages the setup and teardown of Kubernetes jobs that run the AEE.CFS-Batcher
, which manages the configuration state of system components (nodes).CFS-Trust
, which manages the keys and certificates CFS uses to access other system components (nodes).CFS-State-Reporter
, which runs on each of the system components (nodes) to alert the CFS API when a component is rebooted and requires configuration.CFS-ARA
, which collects the Ansible logs from the AEE pods.Although it is not a formal part of the service, CFS integrates with a Gitea instance (VCS) running in the CSM service mesh for management of the configuration content life-cycle.
CFS remotely executes Ansible configuration content on nodes or boot images with the following workflow:
For more information on the flow of CFS sessions see the CFS Flow Diagrams.