Search
Varnish Controller

Version 4

Version 4.1.1 (2022-05-17)

Brainz

  • Fixed a bug where deploying a VCLGroup could leave it in a compiling state when having multiple deployment configurations for the same VCLGroup.

Router

  • Minor bug fixes.

API-GW

  • Swagger docs are now compatible with Swagger 2.0.
  • Added deprecation warnings in Swagger.

UI

  • Fixed a bug where the user couldn’t deploy a root-VCLGroup without a specified domain.
  • Fixed a bug that didn’t allow the user to add tags to an invalidation sequence.
  • Fixed a bug where the user couldn’t remove a tag after selecting it, in the staging of a VCLGroup.
  • Fixed a bug within VCLGroups where the include files could not be resolved when uploading a file from disk, resulting in continuos requests.
  • Improvements and minor bug fixes in the editor.

Version 4.1.0 (2022-04-19)

General

  • Brainz, agent, router and api-gw now adds timestamps to log outputs by default. This can be turned off via -log-timestamps flag.
  • Store 300 chars of log messages instead of 200 for warning/errors in system debug logs.
  • Improved error message when NATS fails to connect.

Brainz

  • Improved log outputs for agent and routers where each log message now starts with Agent <agent_name>:<agent_id> for agent related logging and Router <router_name>:<router_id> for router related logging.
  • More stable deployments for large VCL’s that takes longer time to compile.
  • Existing users with account permissions will get new router related permissions added automatically to their account.
  • Fixes a bug where statistic description updates could in certain conditions cause a deadlock in psql.
  • Added draft for the name of files and VCLs, so automatic deployments will not break Varnish.
  • Fix a bug where related VCLGroups were not deployed if they share an include.
  • Fix a bug where a VCLGroup could stay in a compiling state due to a deadlock.

Router

  • Tags for routers now support dashes.
  • Support for custom routing decisions via gRPC plugins (see Routing Plugins)
  • RoutingRules can now have plugins in lookup-order such as plugin:1.
  • Support for running both HTTPS and HTTP routing at the same time on different ports.
  • http-tls replaced by https-routing.
  • https-port and https-host added for HTTPS routing.

CLI

  • Support for proxy via -proxy flag.
  • New commands for gRPC and RoutingPlugins (plugingrpc, routingplugin).
  • Link to documentation updated to correct URL.
  • Improve revoke tokens when changing perms, instead of a question it is now a flag that can be set --revoke.

Agent

  • Support for wildcard in Varnish statistics counters (e.g. *client_*).

API-GW

  • REST API support for gRPC plugin and routing plugins.
  • Fix a bug where you could not use the ?file_type=1 filter on the files and vcls endpoints.
  • Fix a bug where there was no filter on organization level on some endpoints.
  • Deprecation warning! The operator=and filter sometimes does not give the desired result. To be more flexible we implemented [all] if you want to filter on entities that have for example all of the tags use ?tags.id[all]=1,2. The operator=and will be removed in the next major release (5.0.0).

UI

  • Major redesign of the Editor.
  • Added new section for support, including debug feature for sysadmins.
  • Added login modal when token expires, less interruptive workflow.
  • Added support for routingplugins, and grpc.
  • Changed the layout of ’Staged VCLGroups’ in tables, modal and various stability fixes.
  • Changed dashboard-widget to make it possible to use multiple custom-equations in the same widget.
  • Changed ordering of tags in tables to be ordered by A-Z.
  • Fixed a bug that made the drag’ n drop function in routing rules behave inconsistent.
  • Fixed a bug where some form-fields broke on specific window widths.
  • Adjusted dashboard-widgets due to a backend issue where AND didn’t work as expected when selecting multiple counters.
  • Fixed a bug where duplicating a dashboards reseted the values on the default dashboard.

Version 4.0.0 (2022-02-17)

General

  • Debug information now includes last 50 (Warning/Error) stdout messages.

Brainz

  • Automatic deployment retries to previously failed agents.
  • Statistics for the router.
  • RouterDebug included in system debug for routers.
  • New permission types:
    • Router
    • RoutingRules
    • ExternalRoute
  • VarnishStats now includes traffic routing statistics with additional information:
    • RouterID
    • DomainID
  • VCLGroup now have a RoutingRules
  • Normalization has been added to domain names(FQDN). all new domain names added will be lowercased.
  • Tags can now include dashes and underscores.
  • An issue where configuration values wasn’t overridden properly for values: true/false when using multiple types of configurations such as configuration file and environment variable for the same value has been fixed.
  • Fixed a bug where duplicate tags could be created when agents would report them in at the same time.
  • Added the option to revoke logged in sessions for the UI when changing permissions.
  • Improved deployment and undeployment.
  • Fixed a bug where intermittent deployment failures after restart were happening.
  • Added a deployment retry backoff algorithm if a deployment previously failed on an agent, the Varnish Controller will check the last failure date and time and wait a little before trying to deploy again to avoid spamming the agent.
  • Fixed a bug where you could deploy the same domain on the same agent multiple times by changing the domain or deployment configuration of the VCLGroup.
  • Fixed a bug where the JWT token after login became too big to store in a cookie for the UI, therefore the user could not login into the UI.
  • Fixed a bug where the pagination did not work.

Agent

  • Breaking Removed varnish-port configuration option. The port is now defined in the varnish-host, by default 127.0.01:6081 is used. The following formats should be used example.com:8080.
  • Breaking Removed varnish-invalidation-port configuration option. The port is now defined in the varnish-invalidation-host, by default the varnish-host is used. The following formats can be used example.com, example.com:8080, :8080.
  • Agent now have a Agent.Config which contains the configuration related to traffic routing.
    • BreakingVarnishExternalIP replaced by IPv4 and IPv6 in Agent.Config.
  • New configuration options (see varnish-controller-agent -h for more information)
    • base-url
    • latitude
    • longitude
    • ipv4
    • ipv6
    • max-mbps-hard
    • util-nics
  • Updated root.vcl for shared deployments to handle traffic routing.
  • Varnishadm CLI commands file generated by agent (varnishd ... -I <file> to load previously deployed files to Varnish on start).

API-GW

  • New API calls for the traffic router (see Swagger documentation).
  • The Agent data structure now returns config that includes agent configuration specific parameters, such as varnishhost and varnishport.
  • New API call for organizational user to be able to change their own password (See Swagger documentation).
  • Added the option to set a label for your login session to the login endpoint (See Swagger documentation).
  • Fixed a bug where using a filter with operator=and you would return different results.
  • Added new API call to compile a VCL file without saving the VCL file (See Swagger documentation).
  • Changed the TTL of the JWT tokens where we now allow for a clock skew of 5 seconds.
  • An intentional delay has been added to the response of failed login attempts.

Router

  • First release of the traffic router.

CLI

  • Varnish stats command for: tags, VCLGroups, agents will display stats based on argument or will display all stats when no argument is present.
  • New commands to manage traffic routing (router, ers (external routing rules), rr (routingrules))
  • The command vg ls now lists the assigned routing rule.

UI

  • Traffic router related interface only enabled when router addon is enabled.
  • Improved encryption which fixes inconsistencies between backend and frontend (Related: Issue not able to use password longer than 40 letters).
  • Improved dashboard widget management.
  • Dependency licenses included with the package.
  • VCL Compile feature added in the editor.
  • Drag and drop sorting added for dashboard and invalidation sequence.
  • Bug not able to input alphanumberic value for tag name fixed.
  • Feature to revoke token on permission change added.
  • Main Navigation minor changes: (1) Documentation renamed to Help and support (2) Configuration has child menu with VCLgroup (3) Servers renamed to Varnish Servers
  • Other minor style and bug fixes.