Type object
File match *.goff.yml *.goff.yaml *.goff.json *.goff.toml
Schema URL https://catalog.lintel.tools/schemas/schemastore/go-feature-flag-flag-configuration/latest.json
Source https://raw.githubusercontent.com/thomaspoignant/go-feature-flag/main/.schema/flag-schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Definitions

DTO object
variations object required

All the variations available for this flag. You need at least 2 variations and it is a key value pair. All the variations should have the same type.

defaultRule object required
6 nested properties
name string

Name is the name of the rule. This field is mandatory if you want to update the rule during scheduled rollout.

query string

The query that allow to check in the evaluation context match. Note: in the defaultRule field query is ignored.

variation string

The variation name to use if the rule apply for the user. In case we have a percentage field in the config this field is ignored

percentage Record<string, number>

Represents the percentage we should give to each variation.

progressiveRollout object
2 nested properties
initial object
end object
disable boolean

Indicates that this rule is disabled.

trackEvents boolean
disable boolean
version string
converter string
targeting Rule[]

List of rule to target a subset of the users based on the evaluation context.

bucketingKey string
scheduledRollout ScheduledStep[]

Configure an update on some fields of your flag over time.

experimentation object
2 nested properties
start string required

Time of the start of the experimentation.

format=date-time
end string required

Time of the end of the experimentation.

format=date-time
metadata object

A field containing information about your flag such as an issue tracker link a description etc...

ExperimentationDto object
start string required

Time of the start of the experimentation.

format=date-time
end string required

Time of the end of the experimentation.

format=date-time
ExperimentationRollout object
start string
format=date-time
end string
format=date-time
ProgressiveRollout object
initial object
3 nested properties
variation string required

Name of the variation to apply.

percentage number required

The percentage (initial or end) for the progressive rollout.

date string required

Date is the time it starts or ends.

format=date-time
end object
3 nested properties
variation string required

Name of the variation to apply.

percentage number required

The percentage (initial or end) for the progressive rollout.

date string required

Date is the time it starts or ends.

format=date-time
ProgressiveRolloutStep object
variation string required

Name of the variation to apply.

percentage number required

The percentage (initial or end) for the progressive rollout.

date string required

Date is the time it starts or ends.

format=date-time
Rule object
name string

Name is the name of the rule. This field is mandatory if you want to update the rule during scheduled rollout.

query string

The query that allow to check in the evaluation context match. Note: in the defaultRule field query is ignored.

variation string

The variation name to use if the rule apply for the user. In case we have a percentage field in the config this field is ignored

percentage Record<string, number>

Represents the percentage we should give to each variation.

progressiveRollout object
2 nested properties
initial object
3 nested properties
variation string required

Name of the variation to apply.

percentage number required

The percentage (initial or end) for the progressive rollout.

date string required

Date is the time it starts or ends.

format=date-time
end object
3 nested properties
variation string required

Name of the variation to apply.

percentage number required

The percentage (initial or end) for the progressive rollout.

date string required

Date is the time it starts or ends.

format=date-time
disable boolean

Indicates that this rule is disabled.

ScheduledStep object
variations object
targeting Rule[]
bucketingKey string
defaultRule object
6 nested properties
name string

Name is the name of the rule. This field is mandatory if you want to update the rule during scheduled rollout.

query string

The query that allow to check in the evaluation context match. Note: in the defaultRule field query is ignored.

variation string

The variation name to use if the rule apply for the user. In case we have a percentage field in the config this field is ignored

percentage Record<string, number>

Represents the percentage we should give to each variation.

progressiveRollout object
2 nested properties
initial object
end object
disable boolean

Indicates that this rule is disabled.

experimentation object
2 nested properties
start string
format=date-time
end string
format=date-time
scheduledRollout ScheduledStep[]
trackEvents boolean
disable boolean
version string
metadata object
date string
format=date-time