Couper Documentation

edge

Environment

The environment block lets you refine the Couper configuration based on the set environment.

Block nameContextLabelNested block(s)
environmentOverall.⚠ required, multiple labels are supported.All configuration blocks of Couper.

The environment block works like a preprocessor. If the label of an environment block does not match the set COUPER_ENVIRONMENT value, the preprocessor removes this block and its content. Otherwise, the content of the block is added to the configuration.

Starting Couper with a configuration containing environment blocks will fail, if COUPER_ENVIRONMENT is missing or empty. A default value can be set using the settings block.

Example

Considering the following configuration with the COUPER_ENVIRONMENT value set to prod

server {  api "protected" {    endpoint "/secure" {      environment "prod" {        access_control = ["jwt"]      }      proxy {        environment "prod" {          url = "https://protected-resource.org"        }        environment "stage" {          url = "https://test-resource.org"        }      }    }  }}

the result will be:

server {  api "protected" {    endpoint "/secure" {      access_control = ["jwt"]      proxy {        url = "https://protected-resource.org"      }    }  }}