Varnish Controller

Version 2

Version 2.0.5 (2021-09-15)


  • Bulk insert/update statistics into the database
  • Normalize goto vmod dynamic backend statistic counters

Version 2.0.4 (2021-08-17)


  • Fixes a bug where old snapshots were not deleted from the database that lead to a growing snapshot database table.
  • Fixes a panic that occurred when a VCL was shared between multiple VCLGroups and failed to compile.

Version 2.0.3 (2021-06-30)


  • Bug fix where the /api/v1/vclgroups API endpoint could take a very long time
  • Improved queries when filtering
  • Added automatic cleanup of the API log. By default entries older then a week are removed. You can configure it with the -keep-api-logs and specify a duration.

Version 2.0.2 (2021-05-10)


  • Bug fix where included files triggered multiple compiles on an agent.


  • Bug fix where a locked agent state was not shown.
  • Bug fix when adding tags and created a new tag the previously added tag got removed.
  • Bug fix where you were not able to sort by last heartbeat.
  • Bug fix where multiple session expired modals were shown.

Version 2.0.1 (2021-05-04)

All components are now built using Go 1.16.


  • More detailed APILog entries


  • Promt when performing specific actions (such as delete). Can be circumvented using -y or --yes.
  • Diffing files/VCLs is now working correctly.
  • VCL now supports the discard command.


  • Bug fix for supporting filtering using created and updated.


  • Some styling changes.
  • Graceful redirection to login page on token expiry.
  • Added confirmation modal to remove tags.
  • Now matching servers for deployment configuration can be viewed with the button next to the matching servers info.
  • Pagination and sorting is done by consuming api-gw.
  • Bug on deleteing file in the editor page fixed.

Version 2.0.0 (2021-04-23)

  • Draft and rollbacks of VCL files (VCLGroups)
  • Organization private tags
  • At database reset - prevent undeploys by setting agents in locked state
  • All sources uploaded for files/vcls must be base64 encoded


  • Fixes a rare bug where brainz panic on restart when an agent reports status before it is known to brainz.
  • Soft deletes removed (keep-deleted flag removed).
  • TLS certifictes possible to add for PostgreSQL via arguments.
  • Agent.StaticTags saved to database for agents to keep track of which agent reports which tags.
  • Fixes a bug where organization could not be removed.
  • Support for UID generation to avoid empty database undeployments.
  • On the update of files the Varnish Controller does not automatically re-deploy anymore, with the new draft feature you can prepare your vcls and files and deploy them at once.


  • New state Locked - to avoid undeploy of VCLs when database is reset.
  • Bug fix for starting the agent as normal user with none existing varnish secret, previously caused a panic.


  • New endpoint for ownerships /api/v1/ownerships, only accessible by system admin. The endpoint lists all resources and their respective owners. It is advised to use query filtering to retrieve ownership information.
  • Sorting using query parameter sort=<column>[:asc|desc]
  • Pagination using query parameter take=<limit>[,<offset>]
  • Query parameter can now use comma separated words for filtering (eg. name=test1,test2)
  • The endpoints /api/v1/files and /api/v1/vcls only return the draft and source fields on a single file or VCL. The source field is removed in the get all endpoints.
  • Added vclGroupIds field to /api/v1/files and /api/v1/vcls to indicate in what VCLGroups a file is used.
  • Added hasSnapshots field to the /api/v1/vclgroups endpoints to indicate if a VCLGroup has snapshots or backups available.
  • Fixed response of the SHA field at the files & vcls endpoint. The string is no longer double encoded.
  • Updated Swagger documentation with correct response types and request parameters.
  • Allow alphanumeric domain names


  • Improved/changed JSON (-j) output for commands.
  • Password on command line no longer supported(-p). Use VARNISH_CONTROLLER_CLI_PASSWORD environment variable or interactive input instead.
  • Password no longer stored in configuration file.
  • If session has expired and password exists in ENV variable, automatic login is performed.
  • No longer required to input organization when logging in.
  • Possible to fetch metrics per agent with VCLI.
  • Ownership of resources listed in the VCLI when logged in as system admin.
  • Listing tags as a regular user will list Owner, that is either System or Organization. System tags cannot be modified by the regular user.
  • Allow version and util to be run without being logged in.
  • Filtering (-f) now works for updating org/perm/accounts/IDPs.
  • New --insecure flag to the login command, to not verify TLS certificates.
  • New --ca flag to the login command, to specify root CA certificate for self-signed certificates.
  • Added --draft to the download command, to specify which field you want to download by default it is the source.
  • Added --clear-inc to the vclgroup update command, you can now clear the included files from the CLI.
  • Added diff command to the vcl and file commands, to view the difference between the draft version and the deployed version of a file / vcl.


  • Notification on navbar removed
  • Added Activity logs for resources button to view logs available in list and edit/view pages
  • Editors have switches to switch between draft, deployed and diff between them
  • System administrator can see the owner of the resources
  • Users with rights to create and assign tags can create and assign tags and badge (sysadm and org) indicates the scope of the tag
  • Improved vcls and files attachment in VCLGroup create/edit. Now one can manually add files and detected includes are shown separately
  • System administrator can filter by organization as well
  • In Servers list page you can see the deployed vclgroups as well
  • Version of the Varnish Controller are placed in the login page and user details in the navbar
  • Assigning permissions is improved added assigning rights to tags and servers added
  • Ability to create tags from tag selection modal in VCLGroup create/edit page added
  • Fixed minor highlight and formatting bug in the editor
  • Added link to the technical documentation in the main navigation
  • Fixed bug password reset on user lock
  • Realtime graph calculation improved
  • Agent Version Added in single and list pages
  • Changes introduced in the VCLGroup create/edit page to draft file changes
  • Domain validation loosened up to allow alphanumeric values
  • Introducing new font, dark navbar and some other cosmetic changes