Creating a Project
Step-by-step guide to creating a project in Facets: name it, pick a Git account and project type, choose its environments, or import an existing repo.
Projects are the foundation of your infrastructure setup in Facets. Each project represents a blueprint of infrastructure resources that can be deployed across multiple environments. Read more about projects here.
Creating a project involves selecting a version control system (VCS) account, choosing a Project Type (which determines the IaC tool and version, and which resource types the project may use), and defining initial environments. You can create a new project from scratch or import an existing blueprint from a Git repository.
Create a Project
Using prompt
Create a project called checkout-service from the Default project type.or
Using command
# The project types available to you
raptor get project-types
raptor create project checkout-service --project-type "Default" --description "Checkout service infrastructure"The command uses the system facets-bot VCS account and leaves GitOps disabled, so use the console when you need the repository created under a Git account of your own. --test-project marks the project as a test project, which also makes PREVIEW-stage modules available in its resource list.
New to the CLI? Install it first.
- To create a new Project, navigate to the Projects tab and click Create Project.
- In the modal that appears, mention
1. Enter Project Name and Description
- Enter the Project Name and an optional Description.
- The description will appear alongside the project name in the project cards on the project overview page.
2. Choose Git Account for Repository Creation
- Select a Git Account to create the repository for the project.
- The repository will store the project’s blueprint and Terraform modules, making them accessible outside the UI.
- You can also select a different organization account if you prefer not to use your personal account.
3. Choose Project Type
- Select a Project Type, which sets the IaC tool and version and which resource types the project may use. Whether the blueprint starts empty or with default resources depends on how that project type was imported. If the dropdown is empty, no project type has been imported yet, see Import a project type.
- You can also create custom project templates in the Ops Center for use in future projects.
4. Select the Type of Environments
- Choose the type of Environments you want to create for your project (e.g., Development, Staging, Production).
- These environments will be created in the UI but must be launched to provision them in the cloud.
5. Click Create
- You have successfully created a new Project. This will be accessible from the Projects tab.
Interactive walkthrough
Import an Existing Project or Repo
When creating a new project in Facets, you can choose to import from an existing Git repository instead of generating a fresh codebase. Facets will link to your repository and treat it as the source of truth for this project’s infrastructure.
This option is available inside the Create Project modal.
So when you toggle the field "Import Project" it will expose you some additional fields-
-
Git URL*
Here you need to enter the full URL of the Git repository that contains your existing code.
Example:https://github.com/Facetscloud/sample-infra -
Git Ref*
Here you need to provide the specific branch name or commit ID you want to use.
Example:mainorc4e8d1a -
Relative Path*
Finally specify the path to the exact folder where your project code lives within the repo.
Example:modules/aws/s3
Note: These fields are mandatory. Facets will only import and link to the specified subfolder within the given ref.
Once saved, Facets uses this location as the live project source and integrates it into its orchestration engine without creating a new scaffolded repo.
Project
A Project is your workspace in Facets: one blueprint and the environments deployed from it. When to create a project, when not to split one, and how Facets keeps large projects manageable.
Project Overview
Tour the Facets Project Overview dashboard: blueprint and resource cards, environment actions, project metrics, and downloadable Kubernetes credentials.