Feature flag
A feature flag is a configuration control that conditionally enables, disables, or selects a software feature or behavior.
Platform Engineering on Kubernetes
A feature flag is a runtime-controlled configuration mechanism that enables or disables application functionality without changing or restarting the application.
- How it is used
- Separates deployment of new service code from decisions about when its features become available to customers.
- How deep it goes
- Works through multi-service flag variants and an SDK evaluation call, while leaving storage and provider management to the platform capability.
- Examples
- Uses FEATURE_DEBUG_ENABLED, a Conference eventsEnabled flag with three variants, and an OpenFeature ObjectValue call.
- What you can do after
- Apply it via OpenFeature to evaluate a shared flag and change a running Conference application's behavior without restarting components.
Read how Platform Engineering on Kubernetes explains feature flag →
Infrastructure as Code, Patterns and Practices: With examples in Python and Terraform
A feature flag is a Boolean-controlled configuration mechanism that enables or disables a feature, resource, dependency, or attribute.
- How it is used
- Stages, tests, and hides infrastructure changes before applying them to production or exposing them to collaborators.
- How deep it goes
- Demonstrates definition, defaulting, conditional references, activation, and removal, but does not detail configuration-manager implementation.
- Examples
- Uses Python, JSON, Terraform, and CloudFormation examples to switch server modules and load-balancer membership.
- What you can do after
- Apply it via infrastructure as code to stage changes and limit their immediate impact on existing resources.
Django in Action
A feature flag is a conditional control that enables or disables application functionality according to configuration or runtime criteria.
- How it is used
- Limits production risk by exposing new functionality only to selected users.
- How deep it goes
- Explains conditional rollout, three Waffle control types, installation, configuration, migrations, and activation checks.
- Examples
- Uses Waffle switches for global rollout, samples for percentage rollout, and flags for role, account, language, or group targeting.
- What you can do after
- Apply feature rollouts via Django Waffle using switches, samples, and flags.
Learn Rust in a Month of Lunches
A feature flag is a configuration option that conditionally enables code, dependencies, or capabilities during compilation.
- How it is used
- Controls which optional crate code and capabilities compile, helping projects avoid compiling functionality they do not use.
- How deep it goes
- Explains defaults, Cargo.toml syntax, compiler visibility, and source-level cfg gating, but does not develop flag implementation beyond these examples.
- Examples
- Uses reqwest's blocking client, Cargo feature listings, cargo add, Cargo.toml entries, and compiler errors for unavailable APIs.
- What you can do after
- Operate/configure Cargo dependencies by inspecting feature lists and enabling required crate functionality explicitly.
Read how Learn Rust in a Month of Lunches explains feature flag →
The AI Pocket Book
A configuration mechanism that controls which users see a given version of a feature.
- How it is used
- Uses controlled user exposure to make trunk-based deployment safer.
- How deep it goes
- Explains staged exposure and final switchover, but does not detail flag implementation or management.
- Examples
- Uses old-versus-new code paths, developers, and quality-assurance staff as the staged rollout example.
- What you can do after
- Operate/configure staged releases that validate new features before exposing them to every user.
Think Like a Software Engineering Manager
A feature flag is a runtime control that enables or disables a software feature without requiring a new release.
- How it is used
- Controls production features during phased releases, experiments, and incident response.
- How deep it goes
- Explains uses, benefits, A/B testing, and cleanup responsibilities but does not describe implementation mechanics.
- Examples
- Uses hidden buttons, percentage-based user assignment, customer-use analysis, and emergency feature deactivation.
- What you can do after
- Operate controlled production launches, experiments, and feature deactivation with lower release risk.
Read how Think Like a Software Engineering Manager explains feature flag →
GitHub Actions in Action: Continuous integration and delivery for DevOps
A feature toggle is a runtime-controlled switch that selectively enables or disables a software capability independently of deployment.
- How it is used
- Separates deployment from release so capabilities can be exposed, validated, or withdrawn independently.
- How deep it goes
- Explains switch-based old/new code selection, production validation, rollback, and gradual exposure without prescribing a flagging system.
- Examples
- Uses old-versus-new code switching and a monitored canary rollout through successive user rings.
- What you can do after
- Operate/configure it to stage production exposure and restore prior behavior by disabling a switch.
Code Like a Pro in Rust
A feature flag is a Cargo configuration option that enables or disables optional functionality, dependencies, or code.
- How it is used
- Configures optional crate capabilities, dependency features, conditional compilation, and stable-versus-nightly support.
- How deep it goes
- Explains Boolean feature definitions, dependency propagation, cfg integration, and trade-offs, but stops short of exhaustive Cargo semantics.
- Examples
- Uses serde, base64, SIMD, architecture backends, Cargo manifests, cfg-gated imports, and nightly compiler attributes.
- What you can do after
- Operate/configure Cargo features and conditional Rust code while evaluating compile-time, binary-size, compatibility, and maintenance trade-offs.
Related concepts
- rollbackused by · Rollback is the reversal or discarding of changes to restore data, software, or system state to an earlier or otherwise valid state.
- strangler patternused by · The strangler pattern is an incremental modernization approach that replaces a legacy system by gradually transferring its functionality to a new system until the legacy system can be retired.
- OpenFeatureused by · OpenFeature is an open standard and API for consuming and evaluating feature flags independently of the underlying provider.
- model architecturepart of · The structural organization of a computational system’s components, relationships, and operations that determines how it processes information or behaves.
- text-to-speech conversionconfigures · Text-to-speech conversion is the computational synthesis of spoken audio from written text.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.







