Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
terralift
command
Command terralift brings existing cloud infrastructure under Terraform: enumerate -> born-correct export -> reconcile into a plan-clean module repo -> package.
|
Command terralift brings existing cloud infrastructure under Terraform: enumerate -> born-correct export -> reconcile into a plan-clean module repo -> package. |
|
internal
|
|
|
core
Package core holds the provider-agnostic run framework: run context, config, artifact paths, logging (checkpoint/retry land here too as we port them).
|
Package core holds the provider-agnostic run framework: run context, config, artifact paths, logging (checkpoint/retry land here too as we port them). |
|
enumkit
Package enumkit holds the shared, cloud-neutral scaffolding for the Enumerate phase: token-based pagination and native-type classification.
|
Package enumkit holds the shared, cloud-neutral scaffolding for the Enumerate phase: token-based pagination and native-type classification. |
|
hcl
Package hcl provides shared, structure-aware redaction of secret material from generated Terraform HCL.
|
Package hcl provides shared, structure-aware redaction of secret material from generated Terraform HCL. |
|
model
Package model defines the CLOUD-NEUTRAL types that every provider's enumerator produces and every shared phase (reconcile/correctness/package) consumes.
|
Package model defines the CLOUD-NEUTRAL types that every provider's enumerator produces and every shared phase (reconcile/correctness/package) consumes. |
|
naming
Package naming provides born-correct Terraform resource-address naming: sanitize a cloud resource name into a valid TF label, and de-collide (type, name) addresses deterministically.
|
Package naming provides born-correct Terraform resource-address naming: sanitize a cloud resource name into a valid TF label, and de-collide (type, name) addresses deterministically. |
|
pipeline
Package pipeline runs the shared, cloud-agnostic Phases 4-6 (reconcile, correctness, package) over a cloud-neutral inventory + export result.
|
Package pipeline runs the shared, cloud-agnostic Phases 4-6 (reconcile, correctness, package) over a cloud-neutral inventory + export result. |
|
provider
Package provider defines the per-cloud contract (the seam) and a registry.
|
Package provider defines the per-cloud contract (the seam) and a registry. |
|
providers/aws
Package aws implements the CloudProvider contract for Amazon Web Services: AWS Resource Explorer enumeration (cross-region floor + IAM/exposure enrichers) and a born-correct export via native Terraform import blocks + `plan -generate-config-out` (the same path as the GCP provider — no external export tool).
|
Package aws implements the CloudProvider contract for Amazon Web Services: AWS Resource Explorer enumeration (cross-region floor + IAM/exposure enrichers) and a born-correct export via native Terraform import blocks + `plan -generate-config-out` (the same path as the GCP provider — no external export tool). |
|
providers/azure
Package azure implements the CloudProvider contract for Microsoft Azure: Azure Resource Graph enumeration (KQL floor + RBAC/policy/exposure enrichers) and a born-correct export driven by aztfexport (generate-mapping -> rewrite -> import).
|
Package azure implements the CloudProvider contract for Microsoft Azure: Azure Resource Graph enumeration (KQL floor + RBAC/policy/exposure enrichers) and a born-correct export driven by aztfexport (generate-mapping -> rewrite -> import). |
|
providers/gcp
Package gcp implements the CloudProvider contract for Google Cloud: Cloud Asset Inventory enumeration (search-all-resources --read-mask="*" gives metadata AND full config in one sweep; search-all-iam-policies for IAM), and a born-correct export built on native Terraform import blocks (we author the `to` address; import IDs are derived per-type from CAI asset names).
|
Package gcp implements the CloudProvider contract for Google Cloud: Cloud Asset Inventory enumeration (search-all-resources --read-mask="*" gives metadata AND full config in one sweep; search-all-iam-policies for IAM), and a born-correct export built on native Terraform import blocks (we author the `to` address; import IDs are derived per-type from CAI asset names). |
|
tf
Package tf holds Terraform-facing helpers: pure parsers for plan/schema JSON now, and (later) a driver wrapping hashicorp/terraform-exec.
|
Package tf holds Terraform-facing helpers: pure parsers for plan/schema JSON now, and (later) a driver wrapping hashicorp/terraform-exec. |
|
util
Package util holds small, generic string/slice helpers shared across phases.
|
Package util holds small, generic string/slice helpers shared across phases. |
|
test
|
|
|
integration
Package integration holds live, cloud-backed integration tests that codify the manual validation loop: stand up a seed, onboard it with TerraLift, assert the plan round-trip is clean, and tear the seed down.
|
Package integration holds live, cloud-backed integration tests that codify the manual validation loop: stand up a seed, onboard it with TerraLift, assert the plan round-trip is clean, and tear the seed down. |
Click to show internal directories.
Click to hide internal directories.