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.
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.