flux-config(5)

DESCRIPTION

Flux normally operates without configuration files. If configuration is needed, the flux-broker(1) --config-path=PATH option may be used to instruct Flux to parse a config file or, if PATH is a directory, all files matching the glob PATH/*.toml. Alternatively, the FLUX_CONF_DIR environment variable may be used to set the configuration file or directory path. If both are set, the command line argument takes precedence.

The Flux systemd unit file starts the system instance broker with --config-path=${sysconfdir}/flux/system/conf.d. Further discussion of the system instance configuration as a whole may be found in the Flux Administrator's Guide.

Flux configuration files typically follow the TOML file format, with configuration subdivided by function into separate TOML tables. The tables may all appear in a single .toml file or be fragmented in multiple files. For example, the Flux Administrator's Guide suggests one file per top level TOML table.

If the PATH value is a regular file, the configuration may optionally be provided as JSON. This allows the output of flux config get to be read by another Flux instance. A JSON config file must have the file extension .json, otherwise it is assumed to be TOML.

Each Flux broker parses configuration files independently, however it is assumed that config files are identical across the brokers of a given instance. System administrators managing Flux configuration files should ensure that this is the case, and be mindful that old .toml files must be removed from the configuration directory or renamed so they no longer match the glob.

The configuration may be altered at runtime by changing the files, then running flux config reload on each broker, or systemctl reload flux on each node of the system instance. However see CAVEATS below.

CAVEATS

Although most Flux framework projects such as fluxion and flux-accounting are built upon the flux-core configuration mechanism described above, the flux-security project use a similar, but independent TOML configuration. The security components unconditionally parse *.toml from compiled-in directories: ${sysconfdir}/flux/security/conf.d for the signing library, and ${sysconfdir}/flux/imp/conf.d for the IMP. flux config reload does not affect the security components. Refer to the Flux Administrator's Guide for more information on configuring security.

Some portions of the configuration use formats other than TOML:

  • The resource.path key optionally points to a file in RFC 20 (R version 1) JSON format.

  • The bootstrap.curve_cert key optionally points to a CURVE certificate in a ZeroMQ certificate file format.

For clarity, these files should be located outside of the TOML configuration directory.

Although configuration can be reloaded on a live system, it should be assumed that configuration parameters take effect on the next Flux broker restart unless otherwise noted in their documentation. This means that some parameters, such as the system instance network topology, must only be changed in conjunction with a full system instance restart in order to avoid brokers becoming out of sync if they are independently restarted before the next instance restart.

RESOURCES

Flux: http://flux-framework.org

Flux RFC: https://flux-framework.readthedocs.io/projects/flux-rfc

Flux Administrator's Guide: https://flux-framework.readthedocs.io/en/latest/adminguide.html

TOML: Tom's Obvious Minimal Language: https://toml.io/en/

SEE ALSO

flux-broker(1), flux-config-access(5), flux-config-bootstrap(5), flux-config-tbon(5), flux-config-exec(5), flux-config-ingest(5), flux-config-resource(5), flux-config-archive(5), flux-config-job-manager(5), flux-config-kvs(5)