Docs

Import a project type

A new Facets control plane starts with no modules. Import an official project type to load the modules and output types for your cloud in one command, then adapt them to your organisation.

A new control plane starts empty. It ships with no IaC modules and no output types, so there is nothing yet to build a blueprint from. Importing a project type is the first thing you do after you get access.

A project type is a bundle of modules and output types imported to the control plane together. Importing one gives your organisation a working catalogue for a cloud: compute, datastores, networking, and the platform tooling around them.

Import the official project type for your cloud

Install raptor and sign in, then see what is available:

raptor import project-type --list-managed

That prints the project types Facets currently publishes. Import the one for your cloud:

raptor import project-type --managed facets/aws

This clones the official module repository, imports the project type with all of its modules and output types, and skips validation because the official modules are trusted. Use --name if you want it to appear under a different name:

raptor import project-type --managed facets/aws --name "Production AWS"

facets/empty imports a project type with no modules. Use it when you intend to build your catalogue from scratch rather than start from the official one.

Confirm what landed

raptor get project-types
raptor get resource-type-mappings "Production AWS"

get resource-type-mappings lists the INTENT/FLAVOR combinations mapped to that project type, which is what you just imported. Pass whatever name the project type has, either the default or the one you gave --name.

Once you have a project, raptor get resource-types -p <project> shows the resource types its blueprint can actually use. Without -p that command lists everything registered globally rather than what your import brought in.

What to do next

  • Create a project against the project type you imported, then add resources to its blueprint.
  • Adapt the modules to your organisation. The imported modules are a starting point, not a fixed set: see Building a module for how to change one or add your own.
  • If you want the catalogue under your own version control and review process, see Modules repository.

Importing from your own repository

Once you maintain your own modules, import from your repository instead of the official one by describing it in a YAML file and passing -f:

raptor import project-type -f ./my-project-type.yml

Run raptor import project-type --help for the fields that file accepts.