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
- Login to AggieCloud
- Navigate to Cloud Assembly → Design tab → Cloud Templates
- Select New From → Blank Canvas
- Fill out the form:
| Field | Description |
|---|---|
| Blueprint Name | Descriptive name for the template |
| Description | Purpose and usage notes |
| Project | Development/test project (not production yet) |
| Sharing | Keep local until tested |
- Populate the blueprint by dragging components to the canvas and editing the YAML
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
- Login to AggieCloud
- Navigate to Cloud Assembly → Design → Cloud Templates
- Check the box next to the blueprint to copy → select Clone
- Configure the clone:
| Field | Naming Convention |
|---|---|
| Name | tamu-<os>-<version> (e.g., tamu-rhel-8, tamu-win-2022) |
- Make necessary changes
- Continue to testing
Testing Blueprints
Backend Testing (Cloud Assembly)
For testing basic functionality:
- Login to AggieCloud
- Navigate to Cloud Assembly → Design → Cloud Templates
- Click the blueprint to open
- Click Test to deploy
- Fill out the deployment inputs
- Verify the deployment works as intended
- Destroy when finished: Open deployment → Actions → Delete
Frontend Testing (Service Broker)
For testing the complete user experience (after versioning):
- Login to AggieCloud
- Navigate to Service Broker → Catalog
- Select Request under the deployment
- Fill out the form and submit
- Verify deployment
- Destroy when finished: Open deployment → Actions → Delete
Version Blueprints
Creating a Version
Versioning Steps
- Login to AggieCloud
- Navigate to Cloud Assembly → Design → Cloud Templates
- Click the blueprint to open
- Optionally, view changes before versioning (see Differences section)
- Click Version tab
- Configure:
| Field | Value |
|---|---|
| Version | Semantic version (e.g., 1.2.0) |
| Description | Brief summary |
| Change Log | List of changes |
| Release | ✓ Enable release to Service Broker |
Include the version as a key-value pair in the blueprint YAML for pipeline support.
- Un-release old versions as needed
- Save a copy of the YAML for backup
Comparing Versions
- Open the blueprint in Cloud Assembly
- Select Version History tab
- Select the version to compare on the left
- Click Diff tab → select comparison version
- 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
Custom Terraform Modules
For blueprints using Terraform, update the custom modules as needed:
End-User Documentation
Update the public documentation when blueprints change: