Skip to main content

Schema Library

Welcome to the Schema Library for Infrahub! This repository offers a collection of schemas designed to streamline and standardize infrastructure-related data structures.

warning

This project is currently a collection of examples intended to serve as inspiration. Please note that it is in an experimental phase and may undergo significant changes.

Getting started

note

One of Infrahub’s key strengths is its flexibility. We encourage you to copy any schemas you find useful into your own repository and tailor them to your specific needs, ensuring that your schema aligns perfectly with your requirements.

There are several ways to load a schema in Infrahub:

  • Emma: Using our experimental agent, you can use a WebUI to load schemas from the schema library. Please refer to the Emma Documentation for more information.

  • Quick View: To take a quick look at a schema, you can use infrahubctl. Please reference the infrahubctl Guide for further instructions.

  # Load the base
infrahubctl schema load base

# Load an extension
infrahubctl schema load extensions/location_minimal
  • Controlled Integration: For a more organized and unified approach to loading schemas, you can connect a Git repository. Follow this guide to connect a Git repository.
note

Schema extensions don’t specify menu placement, so they will default to the root level of the menu. Follow this guide to learn more about menu customization.

Project structure

This project is divided into three main parts:

  • Base: This is the foundational layer required for most extensions. They must be loaded before adding extensions.
  • Extensions: Designed to be generic, this section offers various schema components for managing infrastructure. Note that extensions may have dependencies on each other.
  • Experimental: This section contains schema components that are not yet fully supported.

Current schemas

Full documentation for each schema can be found on the Schema Library page.