Documentation needs to be improved. (re. SSL/TLS cert connection args)

Description

Hi,

I'm evaluating the tool for the first time and hit several issues in the documentation that are preventing me from using the tool.

*The documentation mentions under the feature list that it supports SSL/TLS, yet no instruction is provided on flags/arguments needed to specify cert files so e.g. `pbm-agent` can connect to a replSet that requires SSL/TLS.

 

When running mongo, parameters like this can be used:

--ssl --sslCAFile /home/msamoylov/certs/ca.crt --sslPEMKeyFile /home/msamoylov/certs/client.pem
But I see no such guidance in the documentation for the pbm-agent.

 

Also, running `pbm-agent help` isn't very helpful as it just says:

`help [<command>...]`

 

yet doesn't enumerate valid commands.

*The architecture section indicates that pbm-agents are run 1:1 for each deployment, and that pbm is used as a one-off command that is run manually for backup, restore, etc. But then at the beginning of Part III "Running Percona Backup for MongoDB" it talks about running one pbm per deployment so that it listens for agents. It doesn't show what parameters it needs. So which is it? Does it need to be run as a service, or is it for manual commands, or is the same executable used for both? It's confusing.

Environment

None

relates to

Smart Checklist

Activity

Show:

Akira Kurogane November 18, 2019 at 12:50 AM

Documentation has been updated in development branch.

Will close this ticket when that documentation released with v1.1 release of PBM.

Daniel Petersen November 14, 2019 at 6:54 PM

Thanks Akira.

Akira Kurogane November 8, 2019 at 8:25 AM
Edited

Hi Daniel.

Rather than use the mongo shell-only argument names we opted from v1.0 to support only the MongoDB connection string URI, which all the drivers and tools starting supporting from roughly the time of v3.6 server.

The tlsCertificateKeyFile and tlsCAFile file path parameters were missing at v3.6 times, but they are supported now in v4.2-compatible drivers. PBM is using v1.1 golang mongo-driver which is one of the v4.2 compatible drivers.

Please use a mongodb://.... URI like the below.

pbm XXXX --mongodb-uri "mongodb://user:passwd@host:port/?<other_parms_eg_replset>&tls=true&tlsCertificateKeyFile=/home/msamoylov/certs/client.pem&tlsCAFile=/home/msamoylov/certs/ca.crt"

I haven't got a test cluster using SSL certs set up that I can do a test connection with right now. If it doesn't succeed try connecting with the same "mongodb://..." URI using the v4.2 mongo shell - like the drivers accept the URI it will too, as plain command line argument. (Is also accepted as the --host arg value, in my experience.)

mongo "mongodb://user:passwd@host:port/?<other_parms_eg_replset>&tls=true&tlsCertificateKeyFile=/home/msamoylov/certs/client.pem&tlsCAFile=/home/msamoylov/certs/ca.crt"

N.b. you can also set this "mongodb://..." URI string in the PBM_MONGODB_URI environment variable if you want to skip specifying the --mongodb-uri argument on the command line when running "pbm" or "pbm-agent".

Done

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Smart Checklist

Created November 8, 2019 at 12:11 AM
Updated March 5, 2024 at 7:20 PM
Resolved December 2, 2019 at 6:38 AM

Flag notifications