Varnish Controller


From version 6 of Varnish Controller it is possible to configure components (agent/router) via the API, vcli and the Graphical User Interface (GUI). Config and ConfigSet’s are ways to configure components in run time without having to restart the components.

Not all configuration parameters are possible to configure. A list of configurable parameters can be seen using the GUI or CLI.

Warning: Changes to some of the configuration parameters in run-time can make the system unstable. Make sure to understand the implications of changing parameters in run-time.


Configuration set as config overrides has the highest precedence and will be the value used even if there is a configSet that matches the component.

Order of configuration precedence, where 1 has the highest precedence:

  1. Config overrides
  2. Config-sets
  3. Arguments to binary
  4. Environment variables
  5. Configuration file

Only options part of the ConfigSet will be set if there are no overrides for the individual configuration options. When two or more ConfigSet’s matches the component, the one with the highest weight will be used.


Each component can have individual configuration and this is changed using overridable configuration.

Configuration overrides can only be set on components once they have been added to the system and the controller knows about them. Compared to ConfigSet’s that can be pre-created and will apply the configuration parameters once the components come up with matching tags.

Detected Values

Some of the configuration parameters will have detected values. These values are what the component could identify on the running system. Examples could be varnish host, port and secret file. This should be seen as a guided help to indicate what appropriate settings should be for the agent.


ConfigSet is a way to configure multiple components of a given type with the same configuration parameters based on tags. A ConfigSet is created with type agent or router, then one or more tags are assigned to the ConfigSet. All components matching the given set of tags and the type will then have these configuration parameters applied. If the components have override configuration, these parameters will not be overridden by the ConfigSet. But once these overrides are cleared, the configuration stated in the ConfigSet will be applied automatically.

A ConfigSet can have a weight to indicate which one should be applied if there are multiple matches for a component. However, tags should be used to steer the ConfigSet to the correct components. A ConfigSet can have multiple configuration parameters set.