Skip to content

flux-framework/flux-operator

Repository files navigation

Flux Operator

docs/development/the-operator.jpg DOI

The Flux Operator is a Kubernetes Cluster Operator that you can install to your cluster to create and control a Flux Framework "MiniCluster" to launch jobs to.

Read more, including user and developer guides, and project background in our 💛 Documentation 💛

Presentations

Organization

The basic idea is that we present the idea of a MiniCluster that is a custom resource definition (CRD) that defines a job container (that does not need to have Flux) that (when submit) will create a set of config maps, secrets, and the final Indexed Job that has the pod containers running with Flux. Since this is a batchv1.Job, it will have states that we can track.

And you can find the following here:

  • Flux Controllers are under controllers/flux for the MiniCluster
  • API Spec are under api/v1alpha2/ also for MiniCluster
  • Packages include supporting packages for job conditions (state), if we eventually want that.
  • Config includes mostly automatically generated yaml configuration files needed by Kubernetes

And the following external resources might be useful:

  • Flux Framework
  • Flux RESTful API: provides the interface for submitting jobs, if no command provided to the operator.
  • Python SDK: for deploying MiniClusters and port forwarding.
  • Flux HPC Examples containers and CRD for the operator to run Flux with HPC workloads (under development)
  • Flux Cloud: automation of experiments using the Flux Operator

Note we welcome contributions to code or to suggest features or identify bugs!

Citation

You can follow the CITATION.cff (right sidebar in GitHub) to cite, or view the paper directly here A direct (copy paste) citation is the following:

Sochat V, Culquicondor A, Ojea A and Milroy D. The Flux Operator (version 1). F1000Research 2024, 13:203 (https://doi.org/10.12688/f1000research.147989.1)

License

HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.

See LICENSE, COPYRIGHT, and NOTICE for details.

SPDX-License-Identifier: (MIT)

LLNL-CODE- 842614