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

feat(corda-connector): scp jars to nodes #621 #666

Merged
merged 2 commits into from
Mar 26, 2021

Conversation

petermetz
Copy link
Contributor

@petermetz petermetz commented Mar 15, 2021

Dependencies (need to be reviewed and merged first)

Depends on #657
Depends on #687
Depends on #688
Depends on #689
Depends on #690
Depends on #691
Depends on #692
Depends on #693
Depends on #656

Commit to be reviewed

Fixes #621

feat(corda-connector): scp jars to nodes #621

Implements transferring the cordapp jar files onto
Corda nodes via SSH+SCP.
It supports deploying to multiple nodes in a single request
via an array of deployment configuration parameters that
the caller can specify.
Credentials are travelling on the wire in plain text right
now which is of course unacceptable and a follow-up
issue has been created to rectify this by adding keychain
support or some other type of solution that does not
make it necessary for the caller to send up SSH and RPC
credentials with their deployment request.

Another thing that we'll have to fix prior to GA is that
right now there is no SSH host key verification.

For development mode Corda nodes:
There's possibility to declare which cordapp jar contains
database migrations for H2 and the deployment endpoint
can run these as well.

The graceful shutdown method is implemented on our
RPC connection class because this is not yet supported
on the version of Corda that we are targeting with the
connector (v4.5).

The new test that verifies that all is working well is
called deploy-cordapp-jars-to-nodes.test.ts and
what it does is very similar to the older test
called jvm-kotlin-spring-server.test.ts but this one
does its invocations with a contract that has been
built and deployed from scratch not like the old
test which relied on the jars already being present in the
AIO Corda container by default.

The current commit is also tagged in the container registry as:
hyperledger/cactus-connector-corda-server:2021-03-16-feat-621

Fixes #621

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>

@petermetz petermetz force-pushed the feat-621 branch 4 times, most recently from 51e5421 to b73192d Compare March 19, 2021 21:25
@petermetz petermetz changed the title Feat 621 feat(corda-connector): scp jars to nodes #621 Mar 19, 2021
@petermetz petermetz marked this pull request as ready for review March 19, 2021 22:25
@petermetz petermetz force-pushed the feat-621 branch 3 times, most recently from d40a67d to 3431d8e Compare March 22, 2021 03:17
takeutak
takeutak previously approved these changes Mar 23, 2021
@petermetz petermetz force-pushed the feat-621 branch 2 times, most recently from a589002 to 531bfae Compare March 25, 2021 16:58
With this change the users of the Corda AIO image
can decide which nodes to launch (A,B,C,Notary)
exactly.

Adds scripts to launch individual nodes as needed.
Before this we could only launch all the nodes at
once which did not work out well because it caused
race conditions in the cordapp jar deployment code.

This revision is tagged in the container registry
as:
hyperledger/cactus-corda-4-6-all-in-one-obligation:2021-03-19-feat-686

Fixes hyperledger-cacti#686

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
Implements transferring the cordapp jar files onto
Corda nodes via SSH+SCP.
It supports deploying to multiple nodes in a single request
via an array of deployment configuration parameters that
the caller can specify.
Credentials are travelling on the wire in plain text right
now which is of course unacceptable and a follow-up
issue has been created to rectify this by adding keychain
support or some other type of solution that does not
make it necessary for the caller to send up SSH and RPC
credentials with their deployment request.

Another thing that we'll have to fix prior to GA is that
right now there is no SSH host key verification.

For development mode Corda nodes:
There's possibility to declare which cordapp jar contains
database migrations for H2 and the deployment endpoint
can run these as well.

The graceful shutdown method is implemented on our
RPC connection class because this is not yet supported
on the version of Corda that we are targeting with the
connector (v4.5).

The new test that verifies that all is working well is
called deploy-cordapp-jars-to-nodes.test.ts and
what it does is very similar to the older test
called jvm-kotlin-spring-server.test.ts but this one
does its invocations with a contract that has been
built and deployed from scratch not like the old
test which relied on the jars already being present in the
AIO Corda container by default.

The current commit is also tagged in the container registry as:
hyperledger/cactus-connector-corda-server:2021-03-16-feat-621

Fixes hyperledger-cacti#621

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
@petermetz petermetz merged commit c966769 into hyperledger-cacti:main Mar 26, 2021
@petermetz petermetz deleted the feat-621 branch March 26, 2021 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(corda-connector): scp jars to nodes
3 participants