Skip to content

Feature flags: Controlled rollout of Fleet features by team #6838

@zhumo

Description

@zhumo

Goal

We want to allow users to do canary rollouts for their features so that they can test it out for their install base before committing to a full rollout. This allows our users to validate scalability, usability, and impact of various features.

Requirements

Implement the controlled rollout as described in:

  • Add controlled rollout proposal #6221
  • except exclude platform- and team-based rollout
  • This is a premium-only feature
  • The override behavior should remain the same. The team ignores the global config. There is no merging between the two.

The config should be structured as:

The override exists at the same position as in the global options. For example, a host_settings.enable_software_inventory should exist in teams, if it exists in global. In this way, the configuration is the same between global and team configs, which is easiest for users to remember.

apiVersion: v1
kind: team
spec:
  team:
    name: Client Platform Engineering
    agent_options: { ... }
    features:
      enable_software_inventory: false # This might override a global setting that is set to true. 

NOTE: host_settings is now replaced by features. We should still support host_settings as an alias to features for backwards compatibility, but in our communications, we should use and recommend features as the canonical way forward.

Related

Children

Documentation

  • Documentation for controlled rollout

Do later

Metadata

Metadata

Assignees

Labels

#legacy-platform-groupLegacy: platform groupstoryA user story defining an entire feature

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions