Skip to content

Conversation

percona-ysorokin
Copy link
Collaborator

https://perconadev.atlassian.net/browse/PS-10012

Added two new optional subsections to the 'connection' section of the main configuration file:

  • 'ssl' (with 'mode', 'ca', 'capath', 'crl', 'crlpath', 'cert', 'key', and 'cipher' parameters)
  • 'tls' (with 'ciphersuites' and 'version' parameters)

As the configuration file now includes optional parameters / sections, providing them as a plain list as command line arguments is no longer possible. So, this functionality was removed. The only possible option to run the program is "binlog_server (fetch|pull)) <json_config_file>".
As the result of this change the 'nv_tuple_from_command_line.hpp' header with helper functions was deleted.

Reworked helper function in the 'nv_tuple_from_json.hpp' header file to support optional JSON parameters (those that are represented with 'std::optional<>').

Main application now prints more info from the configuration file to the log.

'main_config.json' example configuration file extended with new 'ssl' and 'tls' subsections.

Refactored MTR test cases:

  • Extracted 'have_binsrv.inc' MTR include file that ensures that test cases are run with the '$BINSRV' environment variable pointing to the binlog utility binary is properly set.
  • Extracted 'detect_connection_user_and_host.inc' MTR include file that extracts 'user' and 'host' components from the value returned by the 'USER()' function.
  • it is now possible to specify custom 'user' and 'host' parameters that will be put into the JSON configuration file in 'set_up_binsrv_environment.inc' MTR include file.
  • 'set_up_binsrv_environment.inc' MTR include file is now capable of generation 'ssl' and 'tls' section in the JSON configuration file.

Added new 'binlog_streaming.ssl_connection' MTR test case that runs binlog server utility in variety of SSL connection modes.

Updated 'README.md' with SSL/ TLS connection parameter description.

… with SSL parameters

https://perconadev.atlassian.net/browse/PS-10012

Added two new optional subsections to the 'connection' section of the main configuration
file:
- 'ssl' (with 'mode', 'ca', 'capath', 'crl', 'crlpath', 'cert', 'key', and 'cipher' parameters)
- 'tls' (with 'ciphersuites' and 'version' parameters)

As the configuration file now includes optional parameters / sections, providing them as a
plain list as command line arguments is no longer possible. So, this functionality was removed.
The only possible option to run the program is
"binlog_server (fetch|pull)) <json_config_file>".
As the result of this change the 'nv_tuple_from_command_line.hpp' header with helper
functions was deleted.

Reworked helper function in the 'nv_tuple_from_json.hpp' header file to support optional
JSON parameters (those that are represented with 'std::optional<>').

Main application now prints more info from the configuration file to the log.

'main_config.json' example configuration file extended with new 'ssl' and 'tls' subsections.

Refactored MTR test cases:
- Extracted 'have_binsrv.inc' MTR include file that ensures that test cases are run with
  the '$BINSRV' environment variable pointing to the binlog utility binary is properly set.
- Extracted 'detect_connection_user_and_host.inc' MTR include file that extracts 'user' and
   'host' components from the value returned by the 'USER()' function.
- it is now possible to specify custom 'user' and 'host' parameters that will be put into the
   JSON configuration file in 'set_up_binsrv_environment.inc' MTR include file.
- 'set_up_binsrv_environment.inc' MTR include file is now capable of generation 'ssl' and 'tls'
   section in the JSON configuration file.

Added new 'binlog_streaming.ssl_connection' MTR test case that runs binlog server utility in
variety of SSL connection modes.

Updated 'README.md' with SSL/ TLS connection parameter description.
@percona-ysorokin percona-ysorokin merged commit 7e40816 into main Aug 29, 2025
7 checks passed
@percona-ysorokin percona-ysorokin deleted the ssl_config branch August 29, 2025 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant