Add Ravion (IDP) module definition for modules/quilt - #127
Draft
drernie wants to merge 3 commits into
Draft
Conversation
Adds examples/ravion/ with a module.yaml Ravion module definition wrapping modules/quilt and modules/cnames unmodified, typed $ref composition for certificate + DNS, and derived catalog/registry/ s3-proxy hostname coverage so a cert missing a SAN fails before apply instead of at TLS negotiation. No CloudFormation template is committed; template_url is fetched at plan/apply time. Closes #126 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
module.yaml was written against a guessed DSL that doesn't correspond to any real Ravion schema key: inputs as a map instead of an array, `type: ref` instead of `type: "$ref:<module-type>"`, a top-level `outputs:` key (Terraform outputs are exposed automatically as stack.output.*), and top-level `source`/`template` keys that don't exist in the schema at all. Rewritten and verified by registering it against a live Ravion org (module definition create + module version create --config, schema render), then torn down — no AWS resources were touched. Also fixes main.tf: modules/quilt's template_file input requires a local path (it's filemd5()'d and uploaded to S3), so passing template_url straight through as a URL string would fail at apply. Fetches it via data "http" + local_file instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Standing up a Quilt deployment through Ravion means three sequential ravion module create calls (rvn-route53, rvn-acm-certificate, quilt-catalog), with the caller computing the -registry/-s3-proxy hostnames by hand and hand-copying two minst_… ids into the third call. This script derives the hostnames the same way main.tf does and threads the ids through, so a deployment is one command instead of three coordinated ones. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/ravion/withmodule.yaml, a Ravion module definition that wrapsmodules/quiltandmodules/cnamesunmodified — sameprovider/module "quilt"/parameterspattern asexamples/main.tf.$refinputs (certificate_ref,dns_ref) rather than hand-copied ARNs/zone IDs.main.tf'slocal.hostnames/hostnamesoutput, so Ravion can validate the referenced certificate's SAN coverage beforeapply.template_url— nothing generated or internal is committed to the repo.README.mddocuments the wrapper pattern and the cross-account composition case (deploying account ≠ domain-owning account).Closes #126.
Test plan
terraform init -backend=false+terraform validatepass inexamples/ravion/module.yaml's exact field names/types are inferred from the issue's evaluation notes rather than verified against live Ravion docs🤖 Generated with Claude Code