SuperAPI AI Directory

fabric-builder

Deployment & operations

View repository

Updated 10-15 12:01

About this skill

Fabric Builder

This skill generates idiomatic Terraform code using Cloud Foundation Fabric (CFF) modules, following established best practices and conventions.

Core Workflow

  1. Understand Request: Identify the GCP resources and relationships requested by the user.
  2. Fetch Module Info: Identify the relevant CFF module(s) from the modules/ folder on GitHub (GoogleCloudPlatform/cloud-foundation-fabric).
  3. Generate Terraform: Output an idiomatic Terraform root module that consumes the CFF modules according to conventions.md.

Important Guidance

  • Conventions & Best Practices: Consult conventions.md for guidelines on how to consume Fabric modules and write high-quality, idiomatic Terraform code (including module sources, version constraints, and provider configuration).
  • Fetching Modules: Do not invent module inputs or outputs. Use the fabric.py script to pull exact details (README, variables, examples) for a specific module from GitHub before using it.
    • To list available modules: python3 scripts/fabric.py modules
    • To fetch details for a module (README): python3 scripts/fabric.py fetch readme <module_name>
    • To fetch variables files: python3 scripts/fabric.py fetch variables <module_name>
    • To fetch outputs files: python3 scripts/fabric.py fetch outputs <module_name>
    • To fetch schema files (useful for factories): python3 scripts/fabric.py fetch schemas <module_name>
    • To fetch the latest release version: python3 scripts/fabric.py release
    • SSL Certification Verification: If you run into SSL certificate issues on your host machine, use the --no-ssl-verify flag (e.g., python3 scripts/fabric.py --no-ssl-verify fetch readme <module_name>).

Guidelines for Output

  • Root Module Output: Your output must be a complete Terraform root module that calls the appropriate CFF modules to fulfill the user's requirements.
  • Follow Conventions: Strictly adhere to conventions.md for module sources, version constraints, provider configuration, and coding style.
  • Use Fabric Modules: Rely on CFF modules instead of raw google_ resources whenever possible.
  • Example-based Learning: Always refer to the module's README (fetched via scripts/fabric.py) for correct usage examples.
  • Formatting & Validation: Ensure the generated code is properly formatted. If possible, run terraform fmt, terraform validate, and terraform plan to check your work.