Skip to content
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

Implement ssl across NATS clients in an LFH network #98

Closed
ccorley opened this issue Mar 31, 2021 · 2 comments · Fixed by #104
Closed

Implement ssl across NATS clients in an LFH network #98

ccorley opened this issue Mar 31, 2021 · 2 comments · Fixed by #104
Assignees

Comments

@ccorley
Copy link

ccorley commented Mar 31, 2021

For synchronization, a NATS client in one LFH instance needs to be able to connect to a NATS server in another LFH instance. Implement a certificate strategy that will work across LFH instances.

@ccorley ccorley self-assigned this Mar 31, 2021
@ccorley
Copy link
Author

ccorley commented Apr 1, 2021

We wound up being able to forego the NATS client cert definition in the NATS client SSL context. However, we do need the CA cert of the remote LFH instance we want to connect to in the local rootCA.pem file on NATS client startup.

So, even without a process around registering a listener and creating a JetStream consumer, we still need a step to add the rootCA cert of any other LFH instances from which we need to receive NATS messages.

It's possible that we can do this programmatically. If we get the remote CA cert before starting the NATS client, we should be able to avoid a pyconnect restart.

@ccorley
Copy link
Author

ccorley commented Apr 1, 2021

Also, sync does work across LFH instances, once NATS client connections are working. Except there is an unintended consequence of replaying a transaction - pyconnect does not know that it is a replay and will send a NATS message, an "echo", which the originator of the transaction receives, resulting in an infinite replay.

@ccorley ccorley linked a pull request Apr 5, 2021 that will close this issue
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 a pull request may close this issue.

1 participant