Migration IaC Export
Last updated: April 2026
Instead of importing flags directly into FeatureSignals, you can export them as Infrastructure as Code (IaC) — Terraform, Pulumi, or Crossplane configurations. This gives you GitOps-managed feature flags from day one, with version control, code review, and audit trail for every flag change.
Why IaC Export?
IaC export gives you GitOps-native flag management: every flag is a version-controlled resource. Changes go through PR review. Flag state is declarative and reproducible. If you're migrating from a platform where flags were managed via UI clicks, this is the upgrade you've been waiting for.
Supported IaC Formats
The FeatureSignals migration CLI can export flags to three IaC formats:
| Format | Best For | Provider |
|---|---|---|
| Terraform (HCL) | Teams already using Terraform for infrastructure | featuresignals/featuresignals |
| Pulumi (TypeScript) | Teams using Pulumi or preferring general-purpose languages | @featuresignals/pulumi |
| Crossplane (YAML) | Teams using Kubernetes-native GitOps (ArgoCD, Flux) | provider-featuresignals |
Terraform Export
Export your existing flags as Terraform HCL resources:
This generates Terraform resources like:
Pulumi Export
For Pulumi users, export flags as TypeScript resources:
Crossplane Export
For Kubernetes-native teams, export flags as Crossplane managed resources:
IaC-Powered Flag Management Workflow
Once your flags are in IaC, here's the new workflow:
- Edit: Modify the Terraform/Pulumi/Crossplane configuration in your editor
- Review: Open a PR — your team reviews the flag change before it goes live
- Plan: CI runs
terraform plan/pulumi previewto show what will change - Apply: Merge the PR — CI applies the change automatically
- Verify: The Flag Engine dashboard reflects the change within seconds
Best Practice: Use IaC from Day One
Even if you start with UI-based flag management, consider IaC export as your target state. IaC-managed flags are auditable, reproducible, and eliminate configuration drift between environments.
IaC State Management
FeatureSignals supports two modes of IaC state management:
| Mode | Description | Import Behavior |
|---|---|---|
| IaC-only | Flags are managed exclusively through IaC. UI changes are read-only. | Flags are created with IaC as the source of truth |
| Hybrid | Flags can be managed through IaC or UI. IaC imports existing flags. | terraform import links existing flags to IaC resources |
| UI-first | Flags are managed through UI. IaC is used only for initial seeding. | One-time import; subsequent changes via UI |