bcgov / aries-vcr

Hyperledger Aries Verifiable Credential Registry (VCR) is a set of application level software components designed to accelerate the adoption of trustworthy entity to entity communications.
Apache License 2.0
78 stars 70 forks source link

Upgrade project to newer ACA-Py version #766

Closed esune closed 2 months ago

esune commented 9 months ago

aries-vcr (and related projects) is still using ACA-Py 0.7.1 and should be updated to use a more recent version of the agent.

This will require some regression testing work to ensure that breaking changes will not be affecting functionality, as well as updating the issuer_registration plugin to be compatible with the newer agent version (and handle gracefully breaking changes).

WadeBarnes commented 9 months ago

Refer to https://github.com/bcgov/DITP-DevOps/issues/18 and https://github.com/bcgov/orgbook-configurations/issues/124 for details and links regarding the issues that have been identified.

WadeBarnes commented 6 months ago

Specific blocking issue can be found starting here; https://github.com/bcgov/orgbook-configurations/issues/124#issuecomment-1887483015

Newer versions of ACA-Py don't work well with Aries-VCR and/or BC Registries Agent.

WadeBarnes commented 6 months ago

Is this something we can look into while there is active development going on? I'd like be able to upgrade OrgBook and BC Reg to ghcr.io/hyperledger/aries-cloudagent-python:py3.9-indy-1.16.0-0.12.1

cc @esune, @ianco

ianco commented 6 months ago

Do we want to update OrgBook to support the V2 endpoints as part of this update? (We need to leave V1 support in place obvs)

WadeBarnes commented 6 months ago

@esune?

ianco commented 6 months ago

FYI did a quick test - with an update to the aca-py version the BC Reg issuer is still able to register on startup (i.e. the issuer registration plug-in is working with an updated aca-py) but credential issuing is failing. Not sure why looking into it ...

WadeBarnes commented 6 months ago

FYI did a quick test - with an update to the aca-py version the BC Reg issuer is still able to register on startup (i.e. the issuer registration plug-in is working with an updated aca-py) but credential issuing is failing. Not sure why looking into it ...

Yes, that's the behavior I was seeing too.

ianco commented 6 months ago

Yes, that's the behavior I was seeing too.

Something on the OrgBook side ...

ianco commented 6 months ago

Hah issue credential 2.0 was already implemented in OrgBook by @amanji

esune commented 6 months ago

Hah issue credential 2.0 was already implemented in OrgBook by @amanji

So the protocol is not the issue we're looking for? 🙂

ianco commented 6 months ago

Well theoretically both the V10 and V20 protocols should work. The BC Reg issuer is issuing using V10 which is breaking with the newer aca-py version. I'll figure that out and then also try testing the issuer using the V20 protocol.

ianco commented 6 months ago

I believe the cause is the "abbreviated webhooks" fix, where we don't send the entire payload with the webhook. There's a --debug-webhook option on aca-py, I think we just need to enable this. Just testing now but it should be a fairly simple fix ...

ianco commented 6 months ago

See PR https://github.com/bcgov/aries-vcr/pull/783

I think this repo needs to be updated? --> https://github.com/bcgov/orgbook-configurations

WadeBarnes commented 6 months ago

Thanks @ianco, I can update the other repo. I'll likely use the env var form of the config to enable that. Does that only need to be enabled on the OrgBook (holder) side?

ianco commented 6 months ago

Does that only need to be enabled on the OrgBook (holder) side?

Yes, just on the OrgBook side. The issuer is fine, no changes required.

PS for my local testing I used the updated aca-py for both issuer and OrgBook (they both use the same image built by the aries-vcr docker scripts). Theoretically it should still work it we update OrgBook but leave the issuer on the older aca-py version, we may want to test that in our test environment ...

WadeBarnes commented 5 months ago

Deployment configuration changes here: