blueprint Commands
Commands for validating, listing, and managing Teabar blueprints.
teactl blueprint validate
Validate a blueprint file for errors.
teactl blueprint validate <file> [flags] Flags
| Flag | Short | Description |
|---|---|---|
--strict | -s | Enable strict validation with cost estimation |
--variables | Validate with specific variable values |
Examples
# Basic validation
teactl blueprint validate workshop.yaml
# Strict mode with cost estimation
teactl blueprint validate workshop.yaml --strict
# With variables
teactl blueprint validate workshop.yaml --variables participants=50 Sample output:
✓ Blueprint 'cicd-workshop' is valid
Summary:
API Version: teabar.dev/v1
Components: 3 (gitlab, runners, cluster)
Participants: 20
TTL: 8h
Variables:
participants integer 20 (default)
duration string "8h" (default)
Estimated Cost:
Per hour: $2.50
Full session: $20.00 teactl blueprint list
List available blueprints.
teactl blueprint list [flags] Flags
| Flag | Short | Description |
|---|---|---|
--community | -c | List community blueprints |
--local | -l | List only local blueprints |
--output | -o | Output format (table, json, yaml) |
Examples
# List all blueprints
teactl blueprint list
# Community blueprints only
teactl blueprint list --community
# Local blueprints only
teactl blueprint list --local Sample output:
COMMUNITY BLUEPRINTS
NAME DESCRIPTION COMPONENTS
kubernetes-basic Basic K8s cluster for training 1
cicd-training GitLab CI/CD workshop 3
gitops-argocd GitOps with ArgoCD 3
full-devops Complete DevOps stack 5
LOCAL BLUEPRINTS
NAME PATH VALID
workshop ./workshop.yaml ✓
custom-env ./blueprints/custom.yaml ✓ teactl blueprint show
Show details about a blueprint.
teactl blueprint show <name|file> [flags] Flags
| Flag | Short | Description |
|---|---|---|
--output | -o | Output format (table, json, yaml) |
Examples
# Community blueprint
teactl blueprint show community/cicd-training
# Local file
teactl blueprint show ./workshop.yaml teactl blueprint init
Create a new blueprint from a template.
teactl blueprint init [flags] Flags
| Flag | Short | Description |
|---|---|---|
--template | -t | Template to use (basic, kubernetes, gitlab, full) |
--output | -o | Output file path |
--interactive | -i | Interactive mode |
Examples
# Basic template
teactl blueprint init -t basic -o my-blueprint.yaml
# Interactive mode
teactl blueprint init --interactive
# Kubernetes template
teactl blueprint init -t kubernetes -o k8s-workshop.yaml Interactive mode:
? Blueprint name: my-workshop
? Description: Kubernetes fundamentals workshop
? Provider: hetzner
? Region: eu-central
? TTL: 8h
? Include Kubernetes cluster? Yes
? Number of worker nodes: 3
? Include GitLab? No
? Include monitoring stack? Yes
? Number of participants: 20
Created blueprint: my-workshop.yaml teactl blueprint push
Push a blueprint to the community repository.
teactl blueprint push <file> [flags] Flags
| Flag | Short | Description |
|---|---|---|
--public | Make blueprint publicly visible | |
--tags | Tags for discoverability |
Examples
teactl blueprint push workshop.yaml --public --tags kubernetes,training Note
Pushing to the community repository requires authentication and approval.
teactl blueprint pull
Download a blueprint to a local file.
teactl blueprint pull <name> [flags] Flags
| Flag | Short | Description |
|---|---|---|
--output | -o | Output file path |
Examples
# Download community blueprint
teactl blueprint pull community/cicd-training -o local-cicd.yaml
# Customize and use
vim local-cicd.yaml
teactl env create -f local-cicd.yaml --name my-training teactl blueprint diff
Compare two blueprints.
teactl blueprint diff <blueprint1> <blueprint2> [flags] Examples
# Compare local and community
teactl blueprint diff ./my-cicd.yaml community/cicd-training
# Compare two local files
teactl blueprint diff v1.yaml v2.yaml Sample output:
Blueprint Comparison
━━━━━━━━━━━━━━━━━━━━
spec.ttl:
- 8h
+ 4h
spec.components[0].resources.memory:
- 8Gi
+ 16Gi
spec.participants.count:
- 20
+ 30