Gain a solid understanding of the foundational elements that drive Configu’s configuration management system. Explore essential concepts such as Config, Cfgu, ConfigStore, ConfigSet and ConfigSchema. This page provides a short overview of these key concepts to help you navigate and utilize Configu effectively.

Config

A Config is a generic representation of a software configuration. It is the data model that Configu uses to store and fetch configuration data. A Config consists of three properties:

  • set: The path of the ConfigSet that the value belongs to.
  • key: The name of the configuration as it appears in the code and in the ConfigSchema.
  • value: The literal value of the configuration in the ConfigSet.

See Config declaration in code

Cfgu

A Cfgu is a generic declaration of a Config, that specifies information about its type, constraints, and other characteristics.

See Cfgu declaration in code

Read more on Cfgu

ConfigStore

A ConfigStore is a storage engine for Configs, which can be any system or service that is capable of storing data. It can be a simple text file, a database, a secret manager, Configu’s SaaS Configuration Store, or your own custom implementation.

See ConfigStore declaration in code

Read more on ConfigStore

ConfigSet

A ConfigSet ([Config.set]) is a string representing a path in a hierarchical structure (tree) that is used to organize and group [Config.value]s for different contexts such as environments, tenants, etc.

See ConfigSet declaration in code

Read more on ConfigSet

ConfigSchema

A ConfigSchema is a file stored as <name>.cfgu.json that contains binding records between a unique [Config.key] and its Cfgu declaration.

See ConfigSchema declaration in code

Read more on ConfigSchema

Configuration deployment

the process of exporting configuration data using Configu to generate a configuration file artifact or inject configurations into a runtime environment. This process enables the seamless transfer of configuration settings across various platforms and services, such as your shell, Docker, Kubernetes (K8s), AWS Lambda, AWS ECS, Vercel, Netlify, and more.

Configu provides several interfaces, including the Command Line Interface (CLI), Software Development Kit (SDK), and Application Programming Interface (API), which can be utilized to implement the configuration deployment process. Whether running locally or on a CI/CD platform, Configu empowers you to export and distribute configuration data efficiently, ensuring consistent settings and behavior across different environments and systems.

By leveraging Configu’s capabilities, you can automate the deployment of configurations, streamline your development and deployment workflows, and ensure that your applications have access to the correct configuration settings in their respective runtime environments.

Check out our recipes section for examples of configuration deployments.

Additional concepts

Configuration file

In computing, configuration files are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system settings.

Read more on Configuration file

Configuration formats

XML, JSON, YAML, TOML, INI, Dotenv, HCL, etc..

Configuration secret

API keys, passwords, certificates, or any other sensitive data.

Configuration template

A text that contains {{mustache}} templates and can be rendered as a configuration file.

Open mustache docs