openwallet-foundation / acapy

ACA-Py is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://aca-py.org
Apache License 2.0
412 stars 512 forks source link

Update use of ".indy_client" when using Askar #2314

Closed swcurran closed 10 months ago

swcurran commented 1 year ago

ACA-Py has historically used the .indy_client folder for storage related to the use of the Indy SDK and AnonCreds. We recently found that even with the move to Askar, some things are still being created in the .indy_client folder -- notably generated tails files, before they are published to a tails server. This triggered a fix to the dockerfile to create the folder so as to avoid permission issues when ACA-Py goes to use the folder (PR #2308 ).

The directory creation/use is defined in ACA-Py (here) and does not care of the Indy SDK or Askar is being used. It is just creating the folder that will be used for the temp location of tails files. It is old code and could be improved based on what we know now.

Notably -- there is an undocumented environment variable in that code that if retained, should be a startup parameter -- although do we need it at all? As well, calls to that code could/should be changed to use the .aries_cloudagent folder that was added when Askar was added to ACA-Py.

Documentation should be added that references the folder and what it is used for.

Consideration needs to be given to existing deployments to see if they would be impacted. For example, I suspect that if the only use of this is for tails file, moving the location where those files are created may not create a backwards compatibility issue -- although care should be taken in a cloud native environment, where there is a rolling upgrade.

swcurran commented 10 months ago

2443 #2308 PRs addressed this issue.