ποΈ .infrahub.yml file format
infrahub-yaml}
ποΈ Architecture
Infrahub is deployed as a container-based architecture, composed of multiple components. A minimum deployment consists of the following architecture:
ποΈ Artifact
An artifact is the result of a Transformation for a specific context and/or object. It can be either plain text or JSON format.
ποΈ Check
Checks are user defined logic, stored in an external repository linked to Infrahub, that are run as part of a proposed change. It allows a user to perform any kind of data validation logic during a proposed change. If a check does not complete successfully, then the proposed change cannot be merged.
ποΈ Hardware requirements
The system on which you want to run Infrahub, has to meet the following hardware requirements:
ποΈ IP address management
IP address management, also known as IPAM, is a critical part of any infrastructure involving IP network and address allocations. Depending on the scale of networks, it can be challenging to keep track of all IP resources, how they are used, and which ones remain available.
ποΈ Demo environment
A local environment based on Docker Compose is available for demo and testing.
ποΈ Generator
A Generator is a generic plugin that queries data and creates new nodes and relationships based on the result.
ποΈ GraphQL queries
The GraphQL interface is the main interface to interact with Infrahub. The GraphQL schema is automatically generated based on the core models and the user-defined schema models.
ποΈ Object-storage
Infrahub provides an interface to store and retrieve files or objects in an object-storage. The object-storage is used internally within Infrahub to store rendered artifacts, but it can be used to store any text based file or content.
ποΈ Immutability and version control
Infrahub integrate an immutable database with native support for version control that was designed with Infrastructure Management in mind.
ποΈ Proposed change
A proposed change provides a way to review and discuss how two branches differ from each other and to merge a source branch into the target branch. For people with a development background, this will sound very familiar. Itβs like a pull or merge request. The proposed change lets you compare two branches, run tests, and finally merge one branch into another.
ποΈ Repository
Summary
ποΈ Schema
In Infrahub, the schema is at the center of most things and our goal is to provide as much flexibility as possible to allow users to extend and customize the schema.
ποΈ Transformation
A Transformation is a generic plugin to transform a dataset into a different format to simplify it's ingestion by third-party systems.
ποΈ User management and authentication
Infrahub now supports standard user management and authentication systems.
ποΈ Database backup and restore
Infrahub provides a command-line interface tool to help backup and restore a full neo4j database. It is designed to be run from almost any host machine and has a much smaller set of requirements than running the full Infrahub application. We use docker containers to run commands against the Neo4j database to make this tool easier to install.
ποΈ Resources testing framework
Summary
ποΈ Profiles
A profile in Infrahub allow you to define a common set of attributes that should be applied to nodes.
ποΈ Resource manager
In Infrahub a resource manager is responsible for allocating resources out of a resource pool.