Skip to main content

Introduction to Infrahub

Before starting this tutorial, let's take a moment to explore how Infrahub is organized as an application and how we can interact with it.

Infrahub components

Infrahub architecture

During this tutorial we'll mainly use the Frontend, the infrahubctl CLI and the GraphQL API via the API Server.

NameDescriptionDemo Environment
infrahubctlCommand line utility to interact with Infrahub and manage some core objects like the branches or the schema.invoke demo.cli-git
FrontendMain User interfacehttp://localhost:8000
API serverGraphQL and REST API server, primary component to interact with the data.http://localhost:8000/graphql
Task managerOrchestrator of workflow tasks---
Task workerInfrahub agent that manages all content hosted in Git.---
Git serverExternal Git server like GitHub or GitLab that can host some Git repositories.---
GraphDBMain database based on neo4j where all information in the graph are stored.---
CacheCache based on Redis. Mainly used to support the reservation of shared resources across all components.---
Message busMessage bus based on RabbitMQ to allow all components to interact.---

Installing Infrahub

Please follow the Installation Guide to spin up Infrahub before continuing the tutorial.