Varnish Controller 2.0.0 Release

Published April 23, 2021.

This release is NOT backward compatible with 1.0.4. All Varnish Controller components requires an upgrade.

The release includes bug fixes, new features and improvements.

In most cases, no configuration changes is required after upgrade. It will be enough to upgrade packages and make sure that the component services gets restarted.

New Features

  • Draft and rollbacks of VCL files (VCLGroups)
  • Organization private tags
  • New endpoint /api/v1/ownerships (only accessible as system admin)
  • Ownership of resources in the VCLI
  • Agent locking if database has been reset/removed (see agents chapter)
  • Sorting using query parameter sort=<column>[:asc|desc] (VCLI and API)
  • Pagination using query parameter take=<limit>[,<offset>] (VCLI and API)
  • Self-signed TLS support in VCLI


  • Possible to fetch metrics per agent with VCLI
  • VCLI no longer support -p for password (support for ENV variables instead)
  • No longer required to input organization when logging in with VCLI
  • Brainz arguments to specify TLS certs for the database
  • VCLI JSON output improved
  • Agents include what static tags they are configured with
  • Assign an account to multiple organizations using filters in VCLI.

Changes That Requires Action

Since this is a major release, there are several things that breaks the interface in terms of output from VCLI. However, the REST API has not been changed in a breaking way, only appended to.

Deleted objects are no longer stored in database and the -keep-deleted flag for Brainz has been removed.

Since -p has been removed for specifying password to VCLI, the VCLI will either ask interactively for password OR use the password specified in VARNISH_CONTROLLER_CLI_PASSWORD.

The JSON output has been changed for VCLI (-j). The -j will print the ASCII table for commands in a more “JSON” fashion way with keys matching the table headers.

When updating a file or VCL that is linked to a deployed VCLGroup, the VCLGroup is no longer automatically deployed. You will need to manually trigger the deployment on the VCLGroup. This has been changed for preparing VCLGroups with the draft feature.

Sources for vcl/files must be base64 encoded when uploaded.

Note: No more releases will be available for version 1 of Varnish Controller.

See Varnish Controller Changelog for more details.

This update is recommended for all users.