Search
Varnish Controller

Version 5

Version 5.0.2 (2022-11-08)

General

  • NATS updated to latest version, v2.9.6.
  • All components built with Go 1.19.3
  • Improved logging for NATS connection/disconnection for api-gw/brainz/agent/router.

Router

  • The router now strips port from requested domain, to allow the router to run on none default ports.

Agent

  • Improved logging for Varnish-admin interface, logging of connection/disconnection towards Varnish.

API-GW

  • Fixed a a bug where the /stats/cpu, /stats/mem and /stats/net returned a 500 error.

VCLI

  • Improved error logging for the VCLI.

Version 5.0.1 (2022-10-25)

General

  • Dependencies has been upgraded to newer versions.

Brainz

  • Fixes a bug where brainz could panic during a StatusUpdate from the router.
  • Fixes a bug where invalidations got stuck when a VCLGroup was removed that had running invalidations.
  • Fixes a bug where invalidations could get stuck in Retrying state.
  • Fixes a bug where invalidations in Retrying state could not be deleted.

UI

  • Fixes a bug where domains always was shown as required when creating/editing a VCLGroup.

Version 5.0.0 (2022-10-18)

General

  • All components have NATS names with the format <type>-<name if exists(router/agent)>-<hostname>-<pid>.
  • System debug now collects information from the database in terms of configuration to ease debugging.
  • Dependencies has been updated to latest versions.
  • All components built with Go 1.19.2.
  • Nats-server updated to 2.8.4.
  • Debug call for agents/routers are now only available for system admin or owner of a router/agent (private).
  • All timestamps in the database will be in UTC timezone.
  • All components has been statically built (in previous versions they where dynamically linked)

Brainz

  • VCLGroup now has a state called DeployState that can take 3 states and the previous Deploy has been removed.
    • (1) Deployed
    • (2) Deploying
    • (3) Undeployed
  • New UUID format for Trace IDs
  • Fix for a bug where updating multiple domains on a VCLGroup could make brainz panic.
  • Improved metrics (CPU/Memory/Network) fetching for agents.
  • Improved deployment of VCLGroups

Agent

  • Support for private-token for starting as a private agent.
  • Support for custom keys for vmod accounting.
  • Support for multiple IPv4/IPv6 configuration via comma separated strings.
  • Use VTC to test compile VCLs to find issues earlier than before.
  • HeaderPlus VMOD is used in the shared root VCL to handle router redirect requests so that receiving VCL (via label) get the correct Host and URL for the redirected client requests.
  • Agent now uses its base-dir for temporary directory when testing and compiling VCL files.
  • Invalidation now supports TLS towards Varnish.
  • New varnish-invalidation-tls-verify flag for verification of TLS cert in validation.
  • The flag varnish-invalidation-tls now specifies if varnish is running with TLS or not.

Router

  • Support for private-token for starting as a private router.
  • Support for ASN/CIDR/Gelocation routing to tags.
  • Support for DNS routing with multiple A/AAAA records in responses.
  • Randomize selection of endpoints for external routes that has the same weight.

API-GW

  • The /api/v1/vcls endpoints have been removed and replaced with the existing /api/v1/files endpoints.
  • The /api/v1/agents/1/vclgroups endpoint has been removed, use /api/v1/vclgroups?agents.id=1&vg_states.deployed=true instead.
  • The /api/v1/tags/1/agents endpoint has been removed, use /api/v1/agents?tags.id=1 instead.
  • The /api/v1/vclgroups/1/agents endpoint has been removed, use /api/v1/agents?vcl_groups.id=1&vg_states.deployed=true instead.
  • The operator=and has been removed from the filters, instead of ?tags.id=1,2&operator=and use ?tags.id[all]=1,2.
  • UptimeSeconds has been added to Router and Agents data structures. Showing seconds since they were last started.
  • Added support for an oAuth token request to retrieve access tokens for Prometheus & Grafana, more info here.
  • /api/v1/asnroutes Supports ASN routing rule configuration.
  • /api/v1/cidrroutes Supports CIDR routing rule configuration.
  • /api/v1/geolocationroutes Supports Geolocation routing rule configuration.
  • /api/v1/geolocationroutes/location/suggestions/ Finds locations based on fuzzying.
  • /api/v1/geolocationroutes/location/lookup/ Finds a specific location based on geoname ID.
  • Added support for filtering on agents, routers and vclgroups at the statistics endpoints
  • Swagger docs improvements.

CLI

  • Added whoami command to see which user is logged in.
  • The vcls commands are removed, use files instead.
  • New command for states of VCLGroups, vcli vg state (shows errors of deployments).
  • New command vcli license inspect to get full API JSON output of the license.
  • Flags --csv and --json removed from all inspect commands, as it’s always JSON (raw API output).
  • Improved table as JSON formatting (when using --json).
  • vcli inspect <command> now always outputs an array, even for results with one object.
  • vcli account update now outputs updated elements only.
  • vcli ers update now supports -f filter flag.
  • vcli ipd update now outputs updated elements only.
  • vcli org update now outputs updated elements only.
  • vcli perm update now outputs updated elements only.
  • vcli pgrpc update now supports -f filter flag.
  • vcli rps update now supports -f filter flag.
  • vcli vg update now outputs updated elements and will no longer fail when updating names.
  • Commands perm, account, idp and org now lists all entries after delete.
  • Delete no longer fails if there are no elements left to list.
  • Confirmation added for org update, tag update and perm add to avoid mistakes.
  • vcli org update now supports -y to avoid interactive confirmation.
  • Flag -name added for update of routingplugins and grpc.
  • Removed -idp flag from org add as the org needs to be created before adding an IDP to an org.
  • Removed -v from session (was showing same output).
  • perm now skips created/updated without -v flag.
  • externalroutes skips created/updated without the -v flag.
  • idps skips created/updated without -v flag.
  • org now have -v (shows created/updated).
  • asnroutes Supports ASN routing rule configuration.
  • cidrroutes Supports CIDR routing rule configuration.
  • geolocationroutes Supports Geolocation routing rule configuration.
  • Fixed a bug where you could not update files / VCLs with a filter -fid=1.
  • Improved error handling when requesting json output, all errors are now shown in JSON format.
  • Fixed a bug where the CLI showed a draft state when there was no draft state due to a different order of included VCLs.

UI

  • Added a new feature (CDN map) to show agents and routers on a worldmap with some useful information.
  • Added darkmode.
  • Added pages for routing decisions.
  • Added pages for private and shared tokens.
  • Overhauled the workflow and UI design of the whole app.
  • Added more information when VCL compilation fails in a VCLGroup.
  • Fixed a bug in dashboard with custom equation.
  • Various improvements and bug fixes in the dashboard.