@the-real-kenna thank you for all the information - it is very helpful as we continue to develop open-balena-admin
. Can you (or your engineers) provide some additional details on the following:
Pine assumes it has direct and exclusive control of the database so in theory it can change the layout of the database in completely arbitrary ways at any time.
- Does this mean that it can actually change the table structure while running? Or are you referring to changes occurring from one release to the next? If the former, thatâs an issue. If the latter, we have a version management system within
open-balena-admin
which based on the version ofopen-balena-api
that is running (specified during the install process) it will modify the underlying table structure.
- the
release.semver
(which is also a computed term) +release.revision
pair- the
image
location
(which is the basis for our registry to work & devices to download updates)
- Are these items referring to deployment of apps / creation of new images and releases? If so, we only interface with images / releases on a read only basis.
Other than the above items, it sounds like itâs essentially pre-commit âsoftâ validation (as âhardâ rules are enforced by the database, i.e. text field length limits, numbers vs text, foreign keys, etc.), computed fields and permissions that would need to be replicated if bypassing pine. We have some basic soft validation implemented in the front end now, but not much in terms of computed fields. Is there a full list of computed fields available anywhere?
Separately, I am happy to explore ways to integrate Pine (or any other balena best practices for that matter) into open-balena-admin
- I donât suppose this is something that balena would be willing to help with? I believe there is a community of users who are either using openbalena in production (and muddling through the limitations) or looking to do so but not able to get over the limitations - and I believe a tool such as this could bridge the gap. Either way, we will continue to develop it, and provide the latest updates to the community in the hopes that at least some members are finding it helpful despite its flaws.