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

FlagShortDescription
--strict-sEnable strict validation with cost estimation
--variablesValidate 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

FlagShortDescription
--community-cList community blueprints
--local-lList only local blueprints
--output-oOutput 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

FlagShortDescription
--output-oOutput 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

FlagShortDescription
--template-tTemplate to use (basic, kubernetes, gitlab, full)
--output-oOutput file path
--interactive-iInteractive 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

FlagShortDescription
--publicMake blueprint publicly visible
--tagsTags for discoverability

Examples

teactl blueprint push workshop.yaml --public --tags kubernetes,training

teactl blueprint pull

Download a blueprint to a local file.

teactl blueprint pull <name> [flags]

Flags

FlagShortDescription
--output-oOutput 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
ende