Skip to content

Latest commit

 

History

History
42 lines (24 loc) · 1.65 KB

File metadata and controls

42 lines (24 loc) · 1.65 KB

Core Concepts

Solid Fortnight uses a simple hierarchy to manage your feature flags and targeting rules.

1. Project

A high-level container for related flags. Typically, a project corresponds to an application or a group of related services (e.g., "E-Commerce Web", "Backend Microservices").

2. Environment

Specific deployment contexts within a project. Each project can have multiple environments (e.g., "Development", "Staging", "Production"). Flag configurations (enabled/disabled, rules) are environment-specific.

3. Feature Flag

The toggle itself. A flag is defined within a project and has a unique key (e.g., new-header-v2).

4. Variation

The different values a flag can return.

  • Boolean flags: Typically return true or false.
  • Multivariate flags: Can return strings, numbers, or complex JSON objects (e.g., control, treatment-a, treatment-b).

5. Targeting Rules

Logic used to determine which variation a user receives. Rules are evaluated in order of priority.

  • Clauses: Individual conditions within a rule (e.g., email CONTAINS @company.com).
  • Operators: Supported operators include EQUALS, IN, CONTAINS, and PERCENTAGE.

6. Percentage Rollout

A mechanism to gradually release a feature to a subset of users. It uses a stable hashing algorithm (MD5) to ensure a user consistently receives the same variation for a given percentage.

7. Flag Environment (Configuration)

The specific state of a flag within an environment. It includes:

  • Whether the flag is Enabled.
  • The Default Variation (returned if no rules match).
  • A list of Targeting Rules.
  • An optional Rollout Percentage.