-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for :ssl connections #74
base: v1.0.0
Are you sure you want to change the base?
Conversation
use run instead of args use docker run instead of uses-run use bash -c in generation step add some logging don't rely on unpublished es-gencert version set entrypoint as bash create crt dirs ahead of time add all read/write priviledges on certs dir fix backslashes in esdb run move ./certs dir to /certs add sudo to directory creation commands fix formatting fix transport-opts config use verify_peer config and fix cert path point at cacertfile env var show docker logs fix backslash in docker run point esdb at cacerts directory fix trusted cert cli switch name fix path for ca cert file remove logging
ok I think this is ready now: I ended up switching the ES 21.6.0 test to use SSL, and that also allows us to test There was a little extra work I didn't catch on the first pass updating the call to I left the gossip test out since ex_vcr was unhappy with https and I'm not too familiar with ex_vcr. The v21.10.0 LTS release is published to docker hub now so I'll be sure to follow up with a PR bumping the testing container to that version. (afaik there are no breaking changes that would affect extreme in 21.10.0.) |
Hey @the-mikedavis , thanks a lot for this PR. I'll take a look at this one this week and I hope we'll have new version on hex next week. And thanks for hint for authentication and |
closes #67
I thought this would be a more scary refactor but recently I was looking under the hood of mint and realized that
:gen_tcp
/:ssl
/:inet
are actually pretty friendly!The basic idea is to do
(or
:inet
for tcp when setting theactive: :once
option)and then you can use those modules are compatible for functions like
send/2
andconnect/4
. I also removed theExtreme.Tcp
module and moved thatconnect
function over toExtreme.Connection
since I think it fits better there now with ssl.This is WIP as I try to figure out a good way to test it. One option is to do what we do in spear and use docker-compose to spin up some containers in CI (like so), but that can be a bit annoying because then you need docker-compose installed locally to test extreme. Maybe it makes sense to tag tests as
@tag :ssl
, exclude them by default, and have a separate Actions workflow for ssl tests? I'll think about it!