Skip to content

HAProxy Data Plane API v2.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Jun 13:19
· 137 commits to master since this release

Release Notes

HAProxy Data Plane API v2.8.0 b77adc7

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2023-06-15T09:07:18Z

Find more info in the blog post.

Major Changes

  • Added support for all the new keywords added in the HAProxy v2.8:
    • bind options added:
      • client_sigalgs
      • no_alpn
      • ocsp_update
      • quic-cc-algo
      • sigalgs
      • thread
    • global section options added:
      • close_spread_time
      • cluster_secret
      • httpclient_resolvers_disabled
      • httpclient_resolvers_id
      • httpclient_resolvers_prefer
      • httpclient_ssl_ca_file
      • httpclient_ssl_verify
      • no-quic
      • prealloc-fd
      • ssl_default_bind_client_sigalgs
      • ssl_default_bind_sigalgs
      • tune options added:
      • h2_be_initial_window_size
      • h2_be_max_concurrent_streams
      • h2_fe_initial_window_size
      • h2_fe_max_concurrent_streams
      • listener_default_shards
      • lua_burst_timeout
      • memory_hot_size
      • quic_frontend_conn_tc_buffers_limit
      • quic_frontend_max_idle_timeout
      • quic_frontend_max_streams_bidi
      • quic_max_frame_loss
      • quic_retry_threshold
      • quic_socket_owner
      • ssl_ocsp_update_max_delay
      • ssl_ocsp_update_min_delay
      • stick_counters
    • http_request_rules and http_response_rules types added:
      • lua
      • sc-add-gpc
      • sc-inc-gpc
    • http_after_response_rule types added:
      • del-acl
      • del-map
      • sc-add-gpc
      • sc-inc-gpc
      • sc-inc-gpc0
      • sc-inc-gpc1
      • sc-set-gpt0
    • tcp_request_rules and tcp_response_rules types added:
      • sc-add-gpc
      • sc-inc-gpc
  • Consul Service Discovery extended:
    • added the ability to specify the name of the defaults section to be used in the from field for a backend created by a Consul service, this gives you more flexibility in setting different defaults section for different services in Consul
    • added a health_check_policy where you can now set one of none|any|all|min which defines the health check conditions required for each node to be considered valid for the service:
      • none: all nodes are considered valid
      • any: a node is considered valid if any one health check is 'passing'
      • all: a node is considered valid if all health checks are 'passing'
      • min: a node is considered valid if the number of 'passing' checks is greater or equal to the 'health_check_policy_min' value. If the node has less health checks configured then 'health_check_policy_min' it is considered invalid.
    • added a service_name_regexp field which allows you to filter Consul services which you want to configure by their name using regexp
  • Multiple bug-fixes and cleanups
  • Dependency upgrades

Breaking Change

We removed the HCL configuration format to be used to configure the Data Plane API, only supported format for configuring HAProxy Data Plane API for now is YAML. This was done due to conflicting licenses with upstream HCL libraries but also to keep things as simpe as possible. In case you had Data Plane API configured using HCL configuration format you will need to migrate this to YAML configuration format. To ease the transiotion we have a tool that you can download and run: hcl-converter.

Changelog

  • b77adc7 - BUILD/MINOR: github: use proper go version as a string (Marko Juraga)
  • cb61979 - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2 (Gopher Bot)
  • 88d4a2a - BUILD/MINOR: go.mod: upgrade dependencies (Marko Juraga)
  • c346f34 - BUILD/MAJOR: client-native: upgrade client-native to v5 (Marko Juraga)
  • 1f986da - BUILD/MINOR: go: upgrade go to 1.20 (Marko Juraga)
  • 6ae4387 - MAJOR: hcl: remove support (Goran Galinec)
  • 9857cc4 - BUILD/MINOR: go.mod: update golang.org/x packages (Gopher Bot)
  • 482bc7d - MINOR: bind: Add e2e test cases for thread (Pratik Mohanty)
  • 8dc2875 - BUG/MEDIUM: consul: fix health check if policy is not set (Robert Maticevic)
  • c75026a - BUG/MINOR: consul: fix validation for service changed check (Robert Maticevic)
  • efb5f29 - BUILD/MINOR: go.mod: update golang.org/x packages (Gopher Bot)
  • cac59ac - BUILD/MINOR: go.mod: update client-native and config-parser (Goran Galinec)
  • 3504781 - BUILD/MINOR: go.mod: update golang.org/x packages (Gopher Bot)
  • a412d0f - BUG/MINOR: detect when a raw configuration is uploaded incorrectly (Olivier Duclos)
  • 4c14425 - BUILD/MINOR: go.mod: update Go packages (Gopher Bot)
  • 8805d97 - BUILD/MINOR: go.mod: update client-native and specification (Robert Maticevic)
  • 298772f - BUG/MINOR: consuls: fix ns option to be set as query param instead of header (Robert Maticevic)
  • 0bf9805 - MINOR: consul: add support for regexp filtering service names (Robert Maticevic)
  • e5709f9 - MINOR: consul: add support for health check policy (Robert Maticevic)
  • 62dadaa - MINOR: consul: add support for from field for created backends (Robert Maticevic)
  • 8fda41a - BUG/MEDIUM: configuration: fix using backups_dir option (Marko Juraga)
  • 4190d7d - BUILD/MINOR: go.mod: update golang.org/x packages (Gopher Bot)
  • ac5ea55 - BUILD/MINOR: go.mod: update client-native and specification (Marko Juraga)
  • 417ea79 - BUG/MINOR: table: Add support for table in peers section (Pratik Mohanty)
  • ef54422 - BUG/MINOR: reloads: trigger callback in force reload even when next reload exists (Marko Juraga)
  • 4a5c714 - MINOR: update client-native dependency (Olivier Duclos)
  • f33821c - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2/service/ec2 v1.92.1 (Gopher Bot)
  • 44d49e0 - BUILD/MINOR: do not rely on $PWD to be defined (Olivier Duclos)
  • d4475ab - BUG/MINOR: resolve-net, resolve_opt: e2e tests to allow comma separated list of arguments (Pratik Mohanty)
  • 866fa44 - BUILD/MINOR: go.mod: update golang.org/x packages (Gopher Bot)
  • 2f26199 - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2/service/ec2 v1.92.0 (Gopher Bot)
  • 5e0afb7 - MEDIUM : sticky-counter, tune ocsp: Add e2e tests for sticky-counters to http/tcp and global ocsp (Pratik Mohanty)
  • 97e699e - BUILD/MINOR: go.mod: update Go packages (Gopher Bot)
  • 68ab09f - OPTIM/MINOR: go: Update x/net and x/sys to latest versions (Dinko Korunic)
  • 83b7655 - BUG/MEDIUM: configuration: Fix nil pointer dereference (Andreas Mahnke)
  • 2eda323 - OPTIM/MINOR: go: Optimize struct field alignments (Dinko Korunic)
  • 7996549 - TEST/MINOR: fixtures: add scheme to the fixture configuration files (Marko Juraga)
  • eed09d0 - BUG/MINOR: configuration: maintain backward compatibility for scheme (Marko Juraga)
  • 6596800 - BUILD/MINOR: quic: update libraries to enable quic keywords (Marko Juraga)
  • 13ba120 - MINOR: utils: decoding configuration errors to HTTP status code (Dario Tranchitella)
  • cfc7d1a - BUILD/MINOR: add checks if the code is formatted (Zlatko Bratkovic)
  • e0c05d7 - BUILD/MEDIUM: lint: apply stricter rules for linting (Zlatko Bratkovic)
  • 805e0d1 - BUILD/MEDIUM: update linters, use local version (Zlatko Bratkovic)
  • 4ad3136 - MINOR: Remove dependencies on hashicorp (jmontupet)
  • 6758dae - BUILD/MINOR: ci: add newer lint image (Zlatko Bratkovic)
  • 783a763 - BUILD/MINOR: go.mod: update golang packages (Marko Juraga)
  • 723cb5c - BUILD/MINOR: ci: remove only and use rules for running (Marko Juraga)
  • c43512a - MINOR: cluster: removing storage upon cluster removal (Dario Tranchitella)
  • 7b6d352 - TEST/MEDIUM: haproxy.cfg: fix test fixtures to pass reloads (Marko Juraga)
  • 5e8f0c0 - BUILD/MINOR: go.mod: upgrade to latest client-native (Marko Juraga)
  • a3d9943 - TEST/MEDIUM: haproxy: add haproxy 2.7 to tests and set as default (Marko Juraga)
  • 0341077 - BUILD/MINOR: go.mod: upgrade to the latest client-native (Marko Juraga)
  • cf24d66 - BUG/MINOR: fix panic in configuration when setting reload command (Olivier Duclos)