Featurevisor

Infrastructure as Code (IaC)

Define Featurevisor configuration in files, review changes in Git and automate deployment. This applies infrastructure as code principles to feature management.

Infrastructure as Code (IaC) describes computing resources in files that tools can read and apply. Keeping those files in version control makes changes reviewable and repeatable.

Understanding infrastructure

Infrastructure is the collection of resources your software runs on, such as servers, containers, networks and storage. IaC tools use definitions to provision and update those resources.

Featurevisor applies a similar workflow to application configuration. It builds datafiles rather than provisioning infrastructure.

Key characteristics

  • Definitions describe the intended state.
  • Version control records changes and their reasons.
  • Review gives your team a chance to inspect a change before applying it.
  • Automation runs the same validation and deployment steps for each change.

What does a declarative approach mean?

Describe the result you want rather than writing the sequence of actions needed to reach it. In Featurevisor, that means declaring a feature's rollout rules or a variable's value and overrides.

Use YAML by default, or JSON and other formats through custom parsers. The CLI reads those definitions and builds the configuration that SDKs evaluate.

How does it apply to Featurevisor?

GitOps workflow

Store definitions and tests in a Git repository. Use your Git host's permissions and review rules to control who can approve changes. See GitOps for the complete workflow.

Declarative configuration

Each of these has its own files:

  • Attributes describe the context values used in conditions.
  • Segments provide reusable targeting conditions.
  • Features define flags, variations and feature variables.
  • Global variables define independent configuration values.
  • Targets select the definitions each application receives.
  • Test specs describe expected results for specific contexts.

Automation with CI/CD

Configure your pipeline to lint and test definitions, then build and publish datafiles after a merge to main. Your applications fetch those datafiles on their own refresh schedule.

Modularity

Reuse a segment across feature rules and variable overrides. Use conditions when one evaluated value depends on another. For independent definition trees within one project, use Sets.

Follow Quick start to create a project, Testing to check its behaviour, and Deployment to publish its datafiles.