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
During this tutorial we'll mainly use the Frontend, the infrahubctl
CLI and the GraphQL API via the API Server.
Name | Description | Demo Environment |
---|---|---|
infrahubctl | Command line utility to interact with Infrahub and manage some core objects like the branches or the schema. | invoke demo.cli-git |
Frontend | Main User interface | http://localhost:8000 |
API server | GraphQL and REST API server, primary component to interact with the data. | http://localhost:8000/graphql |
Task manager | Orchestrator of workflow tasks | --- |
Task worker | Infrahub agent that manages all content hosted in Git. | --- |
Git server | External Git server like GitHub or GitLab that can host some Git repositories. | --- |
GraphDB | Main database based on neo4j where all information in the graph are stored. | --- |
Cache | Cache based on Redis. Mainly used to support the reservation of shared resources across all components. | --- |
Message bus | Message 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.