Skip to main content
Skip to main content

Cloud Blueprints

Audience: Cloud Engineers and Platform Teams.

Purpose: Manage cloud templates for self-service VM provisioning.


Overview

The overall process for adding or updating a cloud blueprint involves creating/modifying the template, testing it, versioning it for release, and configuring the frontend catalog.


Create/Update Blueprints

Prerequisites

  • A project must exist before a blueprint can be created
  • Appropriate permissions in Cloud Assembly

Create New Blueprint

Step-by-step Instructions
  1. Login to AggieCloud
  2. Navigate to Cloud AssemblyDesign tab → Cloud Templates
  3. Select New FromBlank Canvas
  4. Fill out the form:
FieldDescription
Blueprint NameDescriptive name for the template
DescriptionPurpose and usage notes
ProjectDevelopment/test project (not production yet)
SharingKeep local until tested
  1. Populate the blueprint by dragging components to the canvas and editing the YAML
Best Practice

Leave the blueprint "shared locally with this project" until tested and ready. All production blueprints should be in the CldTmplMgmt project.

Clone Existing Blueprint

Most new blueprints are created by cloning an existing one:

Clone Instructions
  1. Login to AggieCloud
  2. Navigate to Cloud AssemblyDesignCloud Templates
  3. Check the box next to the blueprint to copy → select Clone
  4. Configure the clone:
FieldNaming Convention
Nametamu-<os>-<version> (e.g., tamu-rhel-8, tamu-win-2022)
  1. Make necessary changes
  2. Continue to testing

Testing Blueprints

Backend Testing (Cloud Assembly)

For testing basic functionality:

  1. Login to AggieCloud
  2. Navigate to Cloud AssemblyDesignCloud Templates
  3. Click the blueprint to open
  4. Click Test to deploy
  5. Fill out the deployment inputs
  6. Verify the deployment works as intended
  7. Destroy when finished: Open deployment → ActionsDelete

Frontend Testing (Service Broker)

For testing the complete user experience (after versioning):

  1. Login to AggieCloud
  2. Navigate to Service BrokerCatalog
  3. Select Request under the deployment
  4. Fill out the form and submit
  5. Verify deployment
  6. Destroy when finished: Open deployment → ActionsDelete

Version Blueprints

Creating a Version

Versioning Steps
  1. Login to AggieCloud
  2. Navigate to Cloud AssemblyDesignCloud Templates
  3. Click the blueprint to open
  4. Optionally, view changes before versioning (see Differences section)
  5. Click Version tab
  6. Configure:
FieldValue
VersionSemantic version (e.g., 1.2.0)
DescriptionBrief summary
Change LogList of changes
Release✓ Enable release to Service Broker
Version Tag

Include the version as a key-value pair in the blueprint YAML for pipeline support.

  1. Un-release old versions as needed
  2. Save a copy of the YAML for backup

Comparing Versions

  1. Open the blueprint in Cloud Assembly
  2. Select Version History tab
  3. Select the version to compare on the left
  4. Click Diff tab → select comparison version
  5. Review changes

Sharing Blueprints

All production blueprints should be marked as available to share with other projects. This is required to deploy blueprints across projects in the Service Broker.


Configure Frontend (Service Broker)

Step 1: Content Sources

Content sources pull released blueprint versions to the frontend.

  • Primary content source: CldTmplMgmt project
  • Contains all production blueprints

Step 2: Policies

Policies control which blueprints are available to which projects.

  • New projects typically get a policy sharing all blueprints from CldTmplMgmt
  • Custom policies can be created for testing purposes

Step 3: Content Configuration

Catalog Item Setup

Icons

Upload custom icons for catalog items for easy identification.

Edit Content

Configure the display properties, form layout, and default values.

Enable/Disable

Toggle catalog items on or off as needed.


Custom Terraform Modules

For blueprints using Terraform, update the custom modules as needed:


End-User Documentation

Update the public documentation when blueprints change: