corda-runtime-os icon indicating copy to clipboard operation
corda-runtime-os copied to clipboard

CORE-20426 Persist the local hosted identities

Open williamvigorr3 opened this issue 1 year ago • 2 comments

Change CLI tool to write an SQL to persist the locally hosted identities. This will be used during the 5.2.0 to 5.2.1 platform upgrade process.

Testing

To build, build the CLI plugin and copy the jar into corda-cli-plugin-host:

#!/bin/bash
cd ../corda-runtime-os
./gradlew :tools:plugins:package:build  :tools:plugins:upgrade:build
cd ../corda-cli-plugin-host
cp  ../corda-runtime-os/tools/plugins/upgrade/build/libs/upgrade-cli-plugin-5.2.1.0-SNAPSHOT.jar ./build/plugins

Then you can run it using:

./build/generatedScripts/corda-cli.sh upgrade migrate-data  -t https://localhost:8888 -u admin -p admin --insecure -b localhost:9092 --timeout 10000

It will produce SQL which looks like:

insert into hosted_identity (holding_identity_id, preferred_session_key_id, tls_certificate_alias, use_cluster_level_tls, version) values ('290096CEDCCF', 'F3F23B77E83D', 'p2p-tls-cert', true, 1);
insert into hosted_identity_session_key_info (holding_identity_id, session_certificate_alias, session_key_id) values ('290096CEDCCF', 'p2p-session-cert-290096CEDCCF', 'F3F23B77E83D');
insert into hosted_identity (holding_identity_id, preferred_session_key_id, tls_certificate_alias, use_cluster_level_tls, version) values ('26E1462EDBCA', '7365F8EA0D38', 'p2p-tls-cert', true, 1);
insert into hosted_identity_session_key_info (holding_identity_id, session_certificate_alias, session_key_id) values ('26E1462EDBCA', 'p2p-session-cert-26E1462EDBCA', '7365F8EA0D38');
insert into hosted_identity (holding_identity_id, preferred_session_key_id, tls_certificate_alias, use_cluster_level_tls, version) values ('D5EEAB0DAC7A', '1D77E685A3A1', 'p2p-tls-cert', true, 1);
insert into hosted_identity_session_key_info (holding_identity_id, session_certificate_alias, session_key_id) values ('D5EEAB0DAC7A', 'p2p-session-cert-D5EEAB0DAC7A', '1D77E685A3A1');

To the standard out. This can be run by adding `SET schema 'config'; before the SQL.

williamvigorr3 avatar May 10 '24 15:05 williamvigorr3

Jenkins build for PR 6123 build 9

Build Successful: Jar artifact version produced by this PR: 5.2.1.0-alpha-1715675620188 Helm chart version produced by this PR: 5.2.1-alpha.1715675620188 Helm chart pushed to: oci://corda-os-docker-dev.software.r3.com/helm-charts/pr-6123/corda Helm chart Polaris score: 82

corda-jenkins-ci02[bot] avatar May 10 '24 17:05 corda-jenkins-ci02[bot]