Skip to content

Releases: haproxytech/dataplaneapi

HAProxy Data Plane API v2.8.0

20 Jun 13:19
Compare
Choose a tag to compare

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)

HAProxy Data Plane API v2.7.5

09 May 19:54
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.5 3370eb2

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2023-05-09T17:36:30Z

Changelog

  • 3370eb2 - BUG/MINOR: detect when a raw configuration is uploaded incorrectly
  • beb7e30 - BUILD/MINOR: go.mod: update golang.org/x packages
  • e756846 - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2/service/ec2 v1.97.0
  • 5403350 - BUG/MEDIUM: configuration: Fix nil pointer dereference

HAProxy Data Plane API v2.7.4

05 May 12:24
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.4 761d9cc

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2023-05-05T11:24:25Z

Changelog

  • 761d9cc - BUILD/MINOR: go.mod: update Go packages
  • 1cf651f - BUG/MEDIUM: configuration: fix using backups_dir option
  • 36bb18b - BUG/MINOR: table: Add support for table in peers section
  • ec35277 - BUG/MINOR: reloads: trigger callback in force reload even when next reload exists
  • 59cd4e0 - BUILD/MINOR: do not rely on $PWD to be defined
  • b39dbbc - BUG/MINOR: resolve-net, resolve_opt: e2e tests to allow comma separated list of arguments
  • 2c32cc9 - BUILD/MINOR: go.mod: update go.mongodb.org/mongo-driver v1.11.6
  • 442f9c9 - BUILD/MINOR: go.mod: update Go packages
  • b1325be - BUILD/MINOR: go.mod: update golang.org/x packages
  • 324a95e - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2/service/ec2 v1.92.1
  • 8752b84 - BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2/service/ec2 v1.92.0
  • 45e2d90 - BUILD/MINOR: go.mod: update Go packages

HAProxy Data Plane API v2.7.3

10 Mar 13:38
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.3 763edd3

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2023-03-10T13:00:43Z

Changelog

  • 763edd3 - MINOR: spec: generate from latest spec
  • ac6eab9 - OPTIM/MINOR: go: Optimize struct field alignments
  • 113daf5 - TEST/MINOR: fixtures: add scheme to the fixture configuration files
  • 3bb2667 - BUG/MINOR: configuration: maintain backward compatibility for scheme
  • 4aac559 - BUILD/MINOR: quic: update libraries to enable quic keywords

HAProxy Data Plane API v2.7.2

03 Feb 14:16
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.2 3d8f41f

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2023-02-03T13:31:57Z

Changelog

  • 3d8f41f BUILD/MEDIUM: go.mod: upgrade client-native and config-parser
  • c50470e MINOR: utils: decoding configuration errors to HTTP status code

HAProxy Data Plane API v2.7.1

07 Dec 17:59
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.1 891e0eb

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2022-12-07T16:59:16Z

Read more information in the blog post.

Changelog

  • 891e0eb MINOR: spec: upgrade spec to latest client-native
  • 512024e BUILD/MINOR: go.mod: upgrade to latest client-native
  • 5cede2e TEST/MEDIUM: haproxy.cfg: fix test fixtures to pass reloads
  • 9271c88 TEST/MEDIUM: haproxy: add haproxy 2.7 to tests and set as default
  • 411d77a BUG/MINOR: fix panic in configuration when setting reload command

HAProxy Data Plane API v2.7.0

01 Dec 10:32
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.7.0 97c2e28

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2022-12-01T09:53:57Z

Major changes:

  • Added support for program section as a /v2/services/haproxy/configuration/programs resource
  • Added support for fcgi-app section as a /v2/services/haproxy/configuration/fcgi_apps resource
  • Added support for mailers section as a /v2/services/haproxy/configuration/mailers_section resource
  • Added support for http-errors section as a /v2/services/haproxy/configuration/http_errors_sections resource
  • Full support for all configuration keywords in defaults, frontend and backend sections
  • Full support for all configuration keywords in peers and rings
  • Added support for multiple defaults sections distinguished by name:
    • All defaults sections without a name will now get a default name unnamed_defaults_<idx> as this new name field is mandatory on v2/services/haproxy/configuration/named_defaults
    • Added support for from keyword on defaults, frontend and backend sections. From HAProxy 2.4 you can specify which defaults section do you want to use in your section by specifing something like frontend <name> from <defaults_name.
    • If you are running HAProxy 2.4 or later, this will be added by default to your frontend, backend and defaults sections even if you don't specify it. Default will point to the latest defaults section in the configuration file as this is implicitly done by HAProxy.
    • For more info read: http://docs.haproxy.org/dev/configuration.html#4
  • Added support for add server and del server on v2/services/haproxy/runtime/servers as POST and DELETE methods
  • Added reload_strategy
    • Now you can set in your dataplaneapi .yaml or .hcl configuration files a reload strategy you want to use
    • Currently supported reload strategies are: s6, systemd and custom
    • With s6 and systemd you can set the service_name to override default service name and no need to set reload_cmd, restart_cmd, status_cmd, start_cmd and stop_cmd
    • Your existing configurations will migrate to a custom strategy with all the commands set as before
    • If you are using HAProxy 2.7 and have master-worker set with master stats socket, the Data Plane API will by default use the reload command in the stats socket as this is the most reliable way to determine whether reload passed or failed synchronously
  • Multiple dependency upgrades
  • Bug fixes

Read more information in the blog post.

Changelog

  • 97c2e28 DOC/MINOR: configuration: fix configuration examples for reload strategy
  • 20626b6 MINOR: go: Use net.JoinHostPort() instead of generic fmt.Sprintf()
  • 92ec833 MINOR: go: Remove unnecessary nil err checks on return
  • 6cc5f9a BUILD/MINOR: github: run the CI only on PRs
  • 88aad5e MINOR: go: Use errors.Is() and fs.ErrNotExist instead of os.IsNotExist()
  • bd8065e BUILD/MINOR: go: upgrade go version in our CIs
  • 11a52f2 BUILD/MINOR: goreleaser: fix github action arguments
  • d89cb68 BUILD/MINOR: goreleaser: add goreleaser github action to ci
  • 7b8ebaf BUILD/MINOR: deps: update dependencies
  • e267b5e BUG/MEDIUM: tcp: fix wrong types for tcp_request_rules
  • d996702 BUG/MINOR: version: make config version middleware to write after request
  • 04f7b83 BUG/MINOR: userlists: fix error handling for users and groups
  • af0b4f3 BUILD/MEDIUM: go: update go version
  • 706def3 BUG/MEDIUM: version: fix config version header adapter
  • 402e88e BUILD/MEDIUM: dependencies: upgrade depencencies
  • 2bf1786 MINOR: add backwards-compatible bootstrap key expiry check
  • 338f5ec MEDIUM: users: in cluster mode allow only cluster users
  • bb01c28 MEDIUM: client-native: upgrade client-native and spec
  • 5aaf99b MAJOR: Use the master socket to reload configuration and add reload strategies
  • 1af5edb TEST/MEDIUM: defaults: add tests for defaults
  • ddad862 TEST/MINOR: e2e: fetch hapropxy version from env variable, more reliable
  • 26101b1 MAJOR: named_defaults: add support for named defaults
  • 44eb2b5 MINOR: Update to latest client-native
  • 11d678c BUG/MINOR: handlers: fix reload agent with interface
  • dfa052f TEST/MINOR: transactions: fix flaky transaction tests
  • 0c0c4ef TEST/MINOR: server: remove now omitted arrays from tests
  • 0cf8eec MINOR: add support for http-errors section
  • 158b80d MINOR: runtime: support for setting a server's healthcheck address
  • b8575bb BUG/MINOR: runtime: return 404 when a server or backend is not found
  • 7751e0c MINOR: process manager for programs handling
  • cc21335 FEATURE/MINOR: add support for http-error keyword
  • 99d7254 MINOR: runtime: fix the POST request to create a sever
  • 9534882 MINOR: peers: add missing peers options
  • 6c89800 BUG/MINOR: reload: don't revert backup file when not valid
  • e61378b BUG/MINOR: runtime: fix avoiding reloads with server_params
  • e28583a BUG/MINOR: transactions: return code 404 when transaction not found
  • e7a3a04 TEST/MINOR: fcgi-app: e2e coverage for CRUD operations
  • d64a0fc MINOR: fcgi-app: implementing CRUD handlers
  • 23690dc MINOR: spec: support for FCGI application
  • 626f736 MEDIUM: add and delete servers using the runtime API
  • e50c242 BUG/MINOR: consul: use allow/deny list instead of white/black list when initiating instance
  • 79a83a3 MINOR: configuration: use hostname as a default name in the config
  • 2a95517 MEDIUM: spec: add template to skip validating readOnly
  • 90bb488 MINOR: client-native: update client native, add errorfiles
  • ba6a73d BUILD/MINOR: swagger: generate using latest client-native and go-swagger
  • 10d3288 MEDIUM: add mailers section support
  • ab0b626 TEST/MEDIUM: e2e: bump the default HAProxy version to 2.6
  • 0c33f73 BUG/MEDIUM: reload_agent: create backups dir if it does not exist

HAProxy Data Plane API v2.6.2

01 Dec 07:26
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.6.2 3a2dc97

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2022-11-30T19:54:13Z

Changelog

  • 3a2dc97 BUILD/MINOR: spec: update spec to latest cn
  • 0a01141 BUG/MINOR: runtime_server: fix missing function
  • cd941eb BUILD/MINOR: goreleaser: fix github action arguments
  • c7c7345 BUILD/MINOR: goreleaser: add goreleaser github action to ci
  • c1b617c BUILD/MINOR: deps: update dependencies
  • c5a718f BUG/MINOR: version: make config version middleware to write after request
  • 88c5c2c BUG/MINOR: userlists: fix error handling for users and groups
  • ecbd160 BUILD/MEDIUM: go: update go version
  • e1692ba BUG/MEDIUM: version: fix config version header adapter
  • 53365f6 BUILD/MEDIUM: dependencies: upgrade depencencies
  • 544c73a TEST/MINOR: transactions: fix flaky transaction tests
  • cf7631f BUG/MINOR: runtime: return 404 when a server or backend is not found
  • 0c0b2d8 BUG/MINOR: reload: don't revert backup file when not valid
  • cc3dae8 BUG/MINOR: runtime: fix avoiding reloads with server_params
  • 5a5c9f9 BUG/MINOR: transactions: return code 404 when transaction not found
  • 4b2290c BUG/MINOR: consul: use allow/deny list instead of white/black list when initiating instance

HAProxy Data Plane API v2.5.5

30 Nov 16:15
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.5.5 3d78877

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2022-11-30T15:38:18Z

Changelog

  • 3d78877 BUILD/MINOR: goreleaser: fix github action arguments
  • 1744787 BUILD/MINOR: cn: upgrade to latest cn
  • 2b98794 TEST/MINOR: runtime_server: fix read only fields
  • feadc02 BUILD/MINOR: go: upgrade go versions everywhere
  • f9be988 BUILD/MEDIUM: swagger: upgrade to swagger 0.30.2
  • 66b9070 BUILD/MINOR: goreleaser: add goreleaser github action to ci
  • 68ee3ba BUILD/MINOR: deps: update dependencies
  • f413b15 BUILD/MEDIUM: go: update go version
  • 5dac2d2 BUG/MINOR: version: make config version middleware to write after request
  • 5514c1d BUG/MEDIUM: version: fix config version header adapter
  • 7714f33 BUG/MINOR: runtime: return 404 when a server or backend is not found
  • 44d0aed BUG/MINOR: reload: don't revert backup file when not valid
  • 7bf7ac7 BUG/MINOR: runtime: fix avoiding reloads with server_params
  • f2d072e BUG/MINOR: consul: use allow/deny list instead of white/black list when initiating instance
  • 2209dd5 TEST/MEDIUM: e2e: bump the default HAProxy version to 2.6
  • 35c6df4 BUG/MEDIUM: reload_agent: create backups dir if it does not exist

HAProxy Data Plane API v2.6.1

08 Sep 09:14
Compare
Choose a tag to compare

Release Notes

HAProxy Data Plane API v2.6.1 5c2258b

Build from: [email protected]:haproxytech/dataplaneapi.git
Build date: 2022-09-08T09:07:27Z

Changelog

  • 5c2258b MEDIUM: spec: add template to skip validating readOnly
  • 3b2ab7c BUILD/MINOR: swagger: generate using latest client-native and go-swagger
  • ff62e50 TEST/MEDIUM: e2e: bump the default HAProxy version to 2.6
  • 30a289b BUG/MEDIUM: reload_agent: create backups dir if it does not exist