As we’re transitioning away from reactive to the operators framework, we’re having to rewrite a few relations libraries. Ideally we’d like that work to be useful to other people writing charms but it’s a bit unclear what the best way to share those libraries is. Is there a list similar to the layer index for operators ? Or do we just publish those libs under some github account and publish them via pip or some other package manager ? What would best practices be for this ?
The relations we are adapting to the operators framework are the tls-certificate and nrpe but more could follow in a near future.
The best practices for the Operator framework are the same as the best practices for Python libraries, I believe. Publishing source to github, and pushing packages to pip definitely counts!
Making a post here with links to the above would also be appropriate.
Thank you for the work, and the plans to share it!
Fwiw the operator framework charm interface for PostgreSQL relations is published at https://github.com/canonical/ops-lib-pgsql and available via pip as ops-lib-pgsql. Perhaps following the ops-lib-$blah convention would be good.