How to publish operator relation libs

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!

~ PeteVG

2 Likes

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.