terraform

Generate Terraform modules for declarative Juju charm deployments.

1|Updated Feb 8, 2026
One-click install
npx skills add https://github.com/tonyandrewmeyer/cantrip --skill terraform-tonyandrewmeyer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: terraform
Source: https://github.com/tonyandrewmeyer/cantrip/tree/main/src/cantrip/skills/terraform
Command: npx skills add https://github.com/tonyandrewmeyer/cantrip --skill terraform-tonyandrewmeyer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Terraform modules allow deploying Juju charms declaratively, replacing manual juju deploy commands with code-driven provisioning.

Core Features & Use Cases

  • Declarative deployment: users define the desired state; the module handles deployment via juju_application resources.
  • Composability and GitOps: modules can be composed into larger stacks and version-controlled configurations.
  • Post-validation generation: generate the module after charm validation and readiness to deploy.
  • Tools and workflow integration: supports generate_terraform, validate_terraform, and testing flows.

Quick Start

Generate the Terraform module for your charm by running the generate_terraform tool against the charm path.

Frequently Asked Questions about terraform

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy Juju charms with Terraform modules declaratively?

You can deploy Juju charms declaratively by generating Terraform modules that define the desired state and handle provisioning via juju_application resources, replacing manual juju deploy commands with repeatable infrastructure-as-code.

What is the best way to automate Juju charm deployments for GitOps pipelines?

Generating Terraform modules provides the best way to automate Juju charm deployments for GitOps pipelines. These modules are composable into larger stacks and support version-controlled configurations across multiple environments.

How does post-validation Terraform module generation work for Juju charms?

Post-validation Terraform module generation works by triggering the generate_terraform tool against the charm path after charm validation. This ensures the module is created only when the charm is fully validated and ready for deployment.

What file structure does Terraform enforce for Juju charm deployment modules?

Terraform enforces a strict four-file module structure for Juju charm deployments. This structure mandates specific input and output definitions alongside a provider pinning strategy to ensure repeatable infrastructure deployments.

Can I use Terraform modules to compose multiple Juju charms into larger stacks?

Yes, you can use Terraform modules to compose multiple Juju charms into larger stacks. The modules support composability and GitOps integration, allowing teams to version-control configurations and deploy complex infrastructure across environments.

Does generating Terraform for Juju charms require prior charm validation?

Yes, generating Terraform for Juju charms requires prior charm validation. The generation process is triggered after charm validation completes, ensuring the infrastructure-as-code module is only produced for validated, deployment-ready charms.