Discussion with Patroni explains the issue and workaround of patroni/dcs/etcd3.py
patroni/patroni#3385
Summary:
curl --cacert /etc/pki/tls/certs/ca.crt --cert /etc/pki/tls/certs/host.crt --key /etc/pki/tls/private/host.key https://my-host-psqldb03.mydomain.com:2379/version -X GET -d '{}'
Curl returns {"etcdserver":"3.5.21","etcdcluster":"3.0.0"}
Patroni uses 3.0.0 to formulate the URL to get the cluster state. The URL returns 404 because etcd deprecated the API endpoint assuming it's a very old version of etcd API.
Curl needs to return something like {"etcdserver":"3.5.21","etcdcluster":"3.5.0"}