Hello All,
I’m Felipe, from the OpenStack team, we have been asking ourselves the question of how to build reproducible charms with the Ops framework, and we haven’t been able to reach to an answer, and I’m reaching out for feedback
I was reading the charm_builder.py script, where the CharmBuilder._install_dependencies()
suggests there is no option to pass a constraints file, or maybe generate (and use) a lock file from the installed dependencies.
The charm-tools program used to build reactive charms can use a build.lock that describes layers, interfaces and python packages that will be used (if present) to build it, this is an example of it from the ocatavia charm https://opendev.org/openstack/charm-octavia/src/branch/stable/zed/src/build.lock
Is there any best practice or guideline that we could adhere to?
Thanks,