Frequently asked questions
Here are the key details about Infrahub:
About Infrahub
What is Infrahub?
Infrahub is an open-source platform that enables infrastructure as code by providing a unified system to model, store, version, validate, and generate infrastructure data and configurations. It acts as a centralized source of truth for all infrastructure resources across an organization.
What are the main features and capabilities?
- User-Defined Schema: Build and update data models to support business requirements for infrastructure resources.
- Unified Storage: Version control for data and files
- Versioning: Track current state and future intended state of the infrastructure with built-in peer review and a CI pipeline for validation.
- Immutable Database: Go back in time to view the state of infrastructure at any point.
- Artifact Generation: Transform infrastructure data into any format (text configurations, XML, JSON, etc.) using generators and templates.
- Data Lineage: View the source and owner for each piece of infrastructure data.
- Multiple interfaces for each team and need:
- Web UI: View and manage all infrastructure data, configurations, and CI/CD pipelines through a user interface.
- Query Engine: Powerful API and support for GraphQL and REST to query and retrieve infrastructure data.
- Git Integration: File storage for code and templates
- Integrations: Integrations with tools like NetBox, Nautobot, Ansible, and Nornir. Ability to build custom integrations.
- Python SDK: Programmatically interact with Infrahub using a Python SDK.
For more information, see our Infrahub overview.
I’m just getting started with infrastructure automation. Do I need Infrahub?
If you're new to infrastructure automation, Infrahub can be a valuable tool to help you manage and automate your infrastructure resources without having to learn and assemble multiple automation tools into a workable system.
It provides a centralized platform to define, version, and generate your infrastructure configurations, making it easier to achieve the goals of automation without the significant up-front effort.
Please see our Getting Started tutorial to learn how to use Infrahub.
How can I spin up a instance of Infrahub to see it in action?
You can test out Infrahub via:
Always-On Sandbox - Instantly login to the UI of a demo environment of Infrahub with sample data pre-loaded.
For longer term tests, you can deploy a local instance of Infrahub by referring to our guide: Installing Infrahub
Where can I deploy Infrahub?
Infrahub is a platform-agnostic solution that can be deployed in various environments, including:
- Cloud platforms such as AWS, Azure, or GCP
- On-premises data centers
- Kubernetes clusters (via Helm charts)
- Docker containers (using Docker Compose)
The specific system requirements may vary depending on the deployment environment and the scale of your infrastructure.
In the future, we plan to offer a managed Cloud SaaS offering of Infrahub. Please subscribe to our mailing list to stay updated.
Installation and deployment
To install and set up Infrahub:
- Download the latest version of Infrahub from the GitHub repository
- Deploy: Deploy Infrahub using the appropriate method for your environment such as Docker Compose, Helm charts, or building locally.
Detailed installation guides and tutorials are available in Installing Infrahub guide.
I deployed Infrahub, now what?
After deploying Infrahub, you can start using it to manage your infrastructure resources. Here are some common initial steps:
- Load Schema: Define your infrastructure data model by loading a schema into Infrahub. This schema will define the structure and relationships of your infrastructure resources.
- Load Data: Populate Infrahub with your existing infrastructure data, either manually or by importing from other sources.
- Inventory: Use Infrahub's inventory capabilities to view and manage your infrastructure resources based on the loaded data.
How do I load my own schema into Infrahub?
Infrahub allows you to load custom schemas to define your infrastructure data model. Currently, you can load schemas using the following methods:
- CLI and SDK: Use the Infrahub command-line interface (CLI) or the Python SDK to load and manage schemas programmatically.
- Frontend (Coming Soon): A user-friendly web interface for managing schemas is planned for future releases.
What is the status of the project?
Infrahub is production-ready and has been deployed in a number of organizations as a central component of their automation workflows.
How much data can Infrahub handle right now?
The current data handling capabilities of Infrahub are still being actively developed and tested. If you have specific requirements or want to assess Infrahub's performance and scalability in your environment, please reach out to the team at contact@opsmill.com or through the Discord server.
Can I deploy Infrahub in production?
Yes, Infrahub can be deployed in production.
If you are planning to deploy Infrahub in a critical environment we recommend reaching out to our customer success team via Discord or contact@opsmill.com.
How can I get involved?
We develop Infrahub for customers and with the community. There are a few different ways to get involved with Infrahub:
- As you use Infrahub, please submit bugs and feature requests.
- Reach out to OpsMill on Discord and set up a user feedback session to share your thoughts with us.
- If you are a developer, we are open to pull requests. Please first discuss your intentions via GitHub Discussions and send a pull request our way to fix it.
Please see our development docs for a guide to getting started developing for Infrahub.
We maintain a list of issues that are appropriate to newcomers to the Infrahub development community. This is a great place to get started!