Create your first Blueprint

Bootstrap a blueprint with the Intent to deploy a sample application

Overview

The aim of this document is to guide the user to create a new Blueprint in their organization's Control Plane.

Locating the Schema for writing the Blueprint

You can locate the latest schema of various resource types in the following location.

You can also find the older schema definitions in the Schemas Github repository.

Add .schema as a File Type

Most IDEs like Intellij or VS Code can use the schema and provide auto-suggestion and validation.

📘

Note

If you are using IntelliJ, add .schema in File Types to be recognized as JSON file types.

1694

Add .schema to be recognized as JSON

Prepare an empty repository to host the Blueprint

For the purpose of this guide, assume the blueprint is hosted at https://github.com/Facets-cloud/sample-springboot-app-stack.
Let's create the two required files that are always required to be present in the repository.
These are stack.json and features.json.

  1. Define a top level json named stack.json. You can copy the sample code snippet below.
{
 "$schema": "https://github.com/Facets-cloud/schemas/blob/main/stack.schema",
 "composition": {
  "plugins": []
 },
 "stackVariables": {

 },
 "clusterVariablesMeta": {

 },
 "componentVersions": {
  "KUBERNETES": "1.19"
 }
}
  1. Define another top level json named features.json. You can copy the sample code snippet below.
{
  "$schema": "https://github.com/Facets-cloud/schemas/blob/main/features.schema",
  "spec": {
    "choas_testing": false,
    "pmm": false,
    "newrelic_infra_monitoring": false,
    "pod_dumps_archival": false,
    "spot_fleet": true
  }
}

Register the Blueprint

  1. Click on New Blueprint on the top right corner of Blueprints List screen.
New Blueprint button

New Blueprint button

  1. Enter the necessary details including the Repository URL and click Create to sync your first Blueprint with your Control Plane.
    You can also choose to use an existing template on which to model your blueprint definition.

📘

NOTE

Ensure the Repository URL is the same as the URL where you have created your stack.json and features.json files.

  1. Your defined Blueprint will now be visible in your Control Plane.