Configuration File
The default way that Flipt is configured is with the use of a configuration file default.yml. This file is read when Flipt starts up and configures several important properties for the server. The server will check in a few different locations for server configuration (in order):--configflag as an override{{ USER_CONFIG_DIR }}/flipt/config.yml(theUSER_CONFIG_DIRvalue is based on your architecture and specified in the Go documentation)/etc/flipt/config/default.yml
We provide both a JSON
schema
and a Cue
schema
that you can use to validate your configuration file and it’s properties.
Remote Configuration
As ofv1.41.0, Flipt supports fetching configuration from a remote source. This is useful for managing configuration across multiple instances of Flipt. The remote configuration source can be a URL to a configuration file stored in one of the following object storage services:
- S3 (eg:
s3://bucket-name/path/to/config.yml) - Azure Blob Storage (eg:
azblob://container-name/path/to/config.yml) - Google Cloud Storage (eg:
googlecloud://bucket-name/path/to/config.yml)
config.yml file with the URL to the remote configuration file in the --config flag when starting Flipt.
AWS_ACCESS_KEY_IDandAWS_SECRETAZURE_STORAGE_ACCOUNTandAZURE_STORAGE_KEYorAZURE_CLIENT_ID,AZURE_TENANT_ID, andAZURE_CLIENT_SECRETGOOGLE_APPLICATION_CREDENTIALS
Environment Variables
All options in the configuration file can be overridden using environment variables using the syntax:FLIPT_ prefix and be in UPPER_SNAKE_CASE format.
Using environment variables to override defaults is especially helpful when
running with Docker as described in the Installation
documentation.
. should be replaced by _. For example,
given these configuration settings:
Multiple Values
Some configuration options can have a list of values. For example, thecors.allowed_origins option can have multiple origins.
In this case, you can use a space separated list of values for the environment variable override: