exoscale.compute.api.config

Facilities to load Exoscale configuration from files. Provide compatibility with other Exoscale libraries.

TOML is recommended since it will be compatible with Python and Golang Exoscale libraries

config-dir

(config-dir)

Yield the most appropriate location for the exoscale config dir

config-home

(config-home)

Find out where this system expects configurations to be stored

environment-overrides

(environment-overrides)

Fetch list of possible overrides from the environment

files

(files path)

Yield a sorted list of files within a directory, non-recursively

find-account

(find-account {:keys [accounts]} account-name)

Given a configuration, yield the designated account

from-environment

(from-environment)(from-environment overrides)

Try

known-extensions

Known configuration file extensions

load-target

multimethod

Open protocol to deserialize configuration files

make-path

(make-path base & elems)

Join path elements

try-load

(try-load)

valid?

(valid? {:keys [extension basename file prefix]})

Predicate to test for validity

validate!

(validate! config)