Fugue is an infrastructure-level cloud operating system. It builds, operates, and terminates cloud infrastructure and services and automates the continuous enforcement of declared infrastructure configurations. Fugue completes the DevOps workflow by automating cloud lifecycle management via enforced and versionable infrastructure as code. Fugue is software that you run in your cloud account to build and operate your cloud infrastructure, providing a single source of truth and trust for the cloud.
Being a new kind of thing, Fugue necessarily introduces some new terms. We present them here for quick reference, and recommend reading this before other chapters of the user guide.
- The Fugue command-line interface. The CLI is how the user interacts with Fugue.
- A program that Fugue can run. A composition defines infrastructure configuration. Running a composition results in a process. This can be done more than once.
- The core of the Fugue operating system, the Conductor is resident in your infrastructure account, running processes and accepting commands.
- An option for
killthat tests the command through progressive parts of the system, returning either failures encountered, or the expected results of success. Output is formatted as a JSON document.
- The software that is the subject of this manual. Fugue is an operating system for your global computer.
- Fugue Client Tools
- The package of components that client computers must use to define compositions and manage processes in the Conductor. It consists of the Fugue CLI (command-line interface) and key Ludwig binaries known as the Fugue Standard Library.
- A period of internal compute activity during which process data is reviewed and acted upon as necessary. Each job can potentially represent some change in the managed infrastructure, although most jobs are simply inspection and require no action.
- The domain-specific language in which compositions are defined. Ludwig is easy to learn, yet brings features like type safety and informative error messages to the tricky domain of infrastructure configuration.
- A workload on the Conductor. The work to be done in a process is defined in a composition.
- A distributed variable service bundled with the Fugue Client Tools. Vars functions as a service registry, service discovery tool, configuration synchronization service, and lock service. It can be used in conjunction with Fugue or independently of Fugue.