Policy As Code for FME Feature Flags
Learn how to create, update, and view policies and policy sets for FME feature flags and feature flag definitions.
Harness provides governance using Open Policy Agent (OPA), Policy Management, and Rego policies.
You can create a policy and apply it to FME (Feature Management & Experimentation) feature flags and feature flag definitions in your Account, Org, or Project. Harness supports two FME entity types:
FME Feature Flag — the feature flag itself (name, description, status, owners, tags).
FME Feature Flag Definition — the per-environment definition of a feature flag (treatments, targeting rules, flag sets).
Both entity types are evaluated on the On Save trigger, which fires whenever a feature flag or definition is created, updated, deleted, or archived.
For complete documentation on FME policy setup including input payload reference, see Using Harness Policy As Code with FME.
Prerequisites
Policies use the OPA authoring language Rego. For more information, see OPA Policy Authoring.
FME Feature Flag policies
Step 1: Add a policy
In Harness, go to Account Settings → Policies → New Policy.
Enter a Name for your policy and click Apply.
Add your Rego policy in the editor.
You can write your own Rego policy or use a sample from the Library panel. Select the Library tab, choose Entity: FeatureFlag from the dropdown:
Harness ships three sample policies for FME feature flags:
FME Feature Flag – Naming Convention: Ensures that FME feature flag names follow organizational naming conventions.
FME Feature Flag – Required Tags: Ensures that FME feature flags have required tags for categorization and tracking.
FME Feature Flag – Team Ownership Required: Ensures that FME feature flags have at least one owner and all owners are teams, not individual users.
Below are the Rego policies for all three samples.
Enforce naming conventions
This policy ensures feature flag names start with ff_, contain only lowercase letters, numbers, and underscores, and are between 5 and 100 characters.
Require tags for categorization
This policy ensures every feature flag has at least one tag and includes required tags for owner, team, service, and component.
Enforce team ownership
This policy ensures every feature flag has at least one owner and that all owners are teams rather than individual users.
Click Save.
Step 2: Add the policy to a policy set
Go to Policies → Policy Sets → New Policy Set.
Enter a Name and optional Description for the Policy Set.
In Entity type, select FME Feature Flag.
In On what event should the Policy Set be evaluated, select On Save.
Click Continue.
In Policy evaluation criteria, click Add Policy.
In the Select Policy dialog, choose the scope (Project, Org, or Account) and select the policy you created.
Select the severity and action for policy violations:
Warn & continue — a warning is displayed if the policy is not met, but the feature flag is saved and you can proceed.
Error and exit — an error is displayed and the feature flag is not saved if the policy is not met.
Click Apply, then click Finish.
The Policy Set is automatically set to Enforced. To disable enforcement, toggle off the Enforced button.
FME Feature Flag Definition policies
FME Feature Flag Definition policies govern the per-environment configuration of feature flags — treatments, targeting rules, and flag sets.
When creating a Policy Set for definitions, select FME Feature Flag Definition as the entity type. The evaluation trigger is On Save.
For FME Feature Flag Definition policy samples (require default treatment to be off, require flag sets for production), see FME Feature Flag Definition policies.
See also
Last updated
Was this helpful?