Overview
Configu is an open-source, end-to-end ConfigOps infrastructure that empowers engineering teams to seamlessly manage and collaborate on software configuration data—such as environment variables, secrets, and feature flags—across any system or environment. ⚙️✨
Quickstart
Quickstart
Hello, World!
Kickstart your journey with Configu and discover how to seamlessly manage application configurations in just a few steps.
Integrate Configu
Step-by-step guide for engineers to incorporate Configu into small-scale applications, enhancing configuration management from the get-go.
CI/CD
Advanced integration strategies for deploying Configu in your CI/CD pipelines, tailored for experienced engineers aiming to optimize deployment workflows.
Interfaces
Interfaces
.cfgu
Learn how the .cfgu file format structures and organizes your application’s configuration schema for clear, effective management.
.configu
Discover how to utilize the .configu file for configuring Configu’s interfaces, ensuring seamless integration and operation within your projects.
Configu CLI
Master the Configu Command Line Interface (CLI) for streamlined configuration management and deployment directly from your terminal.
Configu Proxy
Employ the Configu Proxy for real-time configuration tasks, enabling dynamic updates and management of application configuration.
Internal SDK
Dive deep into Configu’s core with our TS-based SDK, designed for extensive integration, customization, and contribution to the Configu project.
Configu
Configu is a , , and standard for managing and collaborating on software configuration data. It is built to provide a , , and process for storing, mutating, and orchestrating configuration data across any system or environment.
Configu is designed to be easy to integrate into existing systems and workflows, and to be adaptable to the diverse needs of teams and projects. It can be used from the command line, integrated in a build pipeline, or embedded in a program. Configu scales from small to large, simple to complex, ad-hoc to repetitive configuration tasks. It establishes a powerful abstraction layer over configuration data, enabling engineering teams to perform secure and error-free configuration operations throughout the software development lifecycle.
Background
During the software development lifecycle, developers commonly extract certain configuration items or metadata from the code to manage them separately, typically in configuration files or similar plain text formats. This separately managed content is called software/application configuration, and is an important aspect of software development, enabling developers to customize application behavior to suit various tech stacks and deployment environments. It includes elements such as environment variables, secrets, feature flags, and other code-related variables critical for configuring application behavior.
Motivation
Software configurations refer to the data that determines how a software application or system behaves. As codebases continuously expand and become more branched and complex, it may require more configuration data to customize its behavior and ensure that it functions correctly.
In modern, distributed, and microservices-based systems, configuration data is often scattered across multiple stores, making it challenging for teams to work together and ensure that their applications are properly configured. Incorrect or outdated configuration data can cause bugs and errors that can result in significant downtime and lost revenue.
We developed Configu with the conviction that effective configuration management is fundamental to the stability and reliability of applications, and crucial for upholding the efficiency and productivity of engineering teams. Ensuring teams possess a clear understanding of the configuration data in use, and establishing robust processes to keep it accurate and up to date, are essential components of this belief.
Philosophy
As developers, we believe in the power of open-source software and are committed to developing Configu openly on github.com/configu. We are always eager to collaborate with other developers and DevOps engineers, and are happy to assist with anything related to Configu or configurations in general.
If you would like to contribute code to Configu or provide feedback, we welcome you to join our Discord channel or reach out via email at support@configu.com. We believe that by working together and inviting others to be part of the project, we can create a strong and supportive community around Configu and help it continue to grow and evolve.
FAQs
If you can’t find the answer you are looking for here, please join our Discord community and ask whatever you like.
What is the difference between secret managers, feature flag solutions and Configu?
What is the difference between secret managers, feature flag solutions and Configu?
While both secrets and feature flags are implementations of application configurations, secret managers, feature flag solutions and Configu are quite different.
Application configurations are fragmented. They are saved as raw text that is spread across multiple stores, databases, files, and third parties tools. This fragmentation happened partly because each sub-category of application configurations has its own dedicated storage that specializes in that sub-category. Secret managers, for example, securely store and manage sensitive information such as passwords. Feature flag solutions manage feature releases and enable dynamic experiments.
In contrast, Configu does not focus on a specific sub-category but rather on the workflow itself and can manage and fetch the configs from all other stores, using the same commands. Configu automates the configuration workflow from code to runtime across all environments and lets you manage configurations through one interface that rules them all.
This makes Configu’s approach more robust and reliable, allowing it to prevent misconfigurations and duplications and provide visibility, a test framework, security, and compliance standardization.
Can I use other products to store my configurations with Configu (e.g. Git repository, ASM, Hashicorp Vault)?
Can I use other products to store my configurations with Configu (e.g. Git repository, ASM, Hashicorp Vault)?
Of course! Configu Orchestrator is open-source software and supports many different storage options including ASM, Hashicorp Vault and even files in a git repository. You can also create your own store for your benefit and others.
For example, explore our Managing HashiCorp Vault using Configu tutorial.
Can I fetch configurations with Configu if I'm offline?
Can I fetch configurations with Configu if I'm offline?
Yes. you have three ways to fetch configs offline:
- Fetch the default values directly from the
.cfgu
schema
- Use the last fetch. Configu saves the latest fetched configuration in a local cache.
- Use a self-hosted store. If you use Configu for orchestrating local files, or a local database, or run Configu’s self-hosted version you can do everything offline.
Is there a free version of Configu?
Is there a free version of Configu?
Definitely! The Configu Orchestrator is free, open-source software. The Configu Platform offers a free Community plan.