Skip to content
28 May 2024

Introducing Infrahub: A Next-Gen Source of Truth With Version Control

Infrahub is a new kind of source of truth for networks and infrastructure. With built-in version control, flexible schema, and native CI integration, it solves the scaling and maintenance issues of existing solutions—so your automation can go further, faster.

. . . . . . . .

Today OpsMill has released the open beta of Infrahub, the next-generation source of truth for networks and infrastructure. You can access it now on GitHub.

Below I’ll share our view on source of truth solutions, why we designed Infrahub the way we did, and what it can do for infrastructure automation teams.

What Is a Source of Truth and Why Should You Care?

In infrastructure automation, the source of truth (SoT) is where you organize and store the intended state of your infrastructure. It’s the core of your automation platform because every other component integrates with and depends on it. Without a source of truth giving you clean, accessible data, building a powerful automation platform is very difficult.

After many years of working on network and infrastructure automation—and talking with others who have too—I believe the ideal source of truth needs two key capabilities:

  1. Flexible storage engine: The datastore must adapt to the business’s evolving needs and store everything that defines the infrastructure’s expected state. That includes technical, service, design, and business-level information.
  2. Change control & peer review: Change management is essential for infrastructure automation. For most of the industry, the standard is Git—especially GitHub or GitLab—where Git is combined with pull requests and CI pipelines.

Existing Solutions Don’t Meet the Demands of Modern Automation

In the past, network and infrastructure automation teams have had three choices when trying to establish an effective source of truth.

  • GitOps / Infrastructure-as-Code: Everything is built around Git. These solutions are popular because they offer version control flexibility, but they’re complex to manage. Git requires everything to be stored in text files, which means missing out on capabilities like schema-driven data integrity, APIs, query engines, and user interfaces for less code-savvy team members.
  • Purpose-built point tools: These can get you up and running quickly but they don’t scale. Their lack of extensibility drags down automation productivity. Most of them also lack native version control.
  • In-house application: Building your own system ensures it fits your environment—but it’s expensive and hard to maintain. Most databases don’t natively support version control. Homegrown tools tend to work for well-defined processes but struggle with ad hoc changes that aren’t pre-defined.

None of these solutions deliver both a flexible storage engine and change control, and they’re all hard to maintain in their own ways. Ultimately, their complexity and fragility make automation hard to scale.

Infrahub Evolves the Source of Truth—and Goes Beyond It

Infrahub is a major step forward. It redefines the source of truth and addresses the challenges of existing solutions in a new way. Here’s what sets it apart.

Infrahub architecture diagram

A unified storage engine with versioning

Infrahub has a built-in version-controlled storage engine for both data and files, and can store everything you need to manage infrastructure—from templates and code to scripts and playbooks.

The engine is built as a multi-temporal graph that supports core version control features—branching, diffing, merging—on top of a database. The schema is extremely flexible and comes with a strong query engine.

It also supports infrastructure-specific features not usually found in databases, like hierarchical objects, profiles, and metadata.

Infrahub’s schema abstraction is especially powerful. The schema lives in user space—it’s not hard-coded—so you can adapt it freely, without restarting or rebuilding anything. It’s version-controlled too, and you can have different schemas per branch. That gives you both flexibility and integrity.

Abstracted, persistent, immutable, and testable artifact rendering

To decouple the source of truth from the automation stack and make systems easier to manage, Infrahub includes a transformation engine that renders infrastructure data into any format.

The most common use case is config generation, but the engine supports any kind of data and output. Rendered data is stored immutably and persistently, is accessible via API, and can be unit-tested. That way, you can verify that schema or data changes will still generate usable artifacts.

This abstraction layer makes it easier to validate and maintain other components, so the whole stack stays healthier.

Native peer review and CI pipeline

We didn’t want you to have to build a CI pipeline around Infrahub—so we built one into it natively. 🎉

A core feature is called Proposed Change, and it works in a similar way to Git pull requests. It lets multiple people collaborate on and validate changes using built-in or user-defined CI logic. This ties the CI pipeline tightly to database content and ensures it only runs the validations needed for a given change.

Flexible ways to interface with data

Infrahub supports multiple access methods so your whole team can work with it easily. Out of the box, you get:

  • A user interface with Role-Based Access Controls (RBAC)
  • A complete GraphQL API

Both adjust automatically to the user-defined schema, even as it changes.

Integrating with automation ecosystems

Infrahub was engineered to fit into existing automation ecosystems. We’ve already started building key integrations:

  • Python SDK: Provides an easy interface to interact with Infrahub from Python. Designed for deep integration with the schema integration and to simplify GraphQL interactions.
  • Ansible Collection for Infrahub and Nornir plugin: Dynamic inventory and access to rendered artifacts for your workflows.
  • Infrahub Sync: Moves data between systems. Integrates with NetBox and Nautobot.

We’re Just Getting Started

Opening the Infrahub beta is a huge milestone for OpsMill but there’s still a lot more to come.

Even though it’s still early days, Infrahub has already been deeply shaped by the community so far, and we’re excited to keep building it together.

Join our Discord to connect with the growing Infrahub community. We’re always around to chat, hear your feedback, and answer questions.

Damien Garros

May 28, 2024

REQUEST A DEMO

See what Infrahub can do for you

Get a personal tour of Infrahub Enterprise

Learn how we can support your infrastructure automation goals

Ask questions and get advice from our automation experts

By submitting this form, I confirm that I have read and agree to OpsMill’s privacy policy.

Fantastic! 🙌

Check your email for a message from our team.

From there, you can pick a demo time that’s convenient for you and invite any colleagues who you want to attend.

We’re looking forward to hearing about your automation goals and exploring how Infrahub can help you meet them.