[01:16] <mup> PR operator#478 opened: Add basic workload hook support <Created by hpidcock> <https://github.com/canonical/operator/pull/478>
[14:44] <tomwardill> hi, is it known that none of the links work on https://discourse.charmhub.io/t/documentation-operator-framework/3394 ? Particuarly the 'Add configuration', etc
[15:08] <JohnMeinel[m]> <tomwardill "hi, is it known that none of the"> I was not specifically aware, though looking at the source these are explicitly done [link]() is creating a spot where you want a link but giving it no target.
[15:09] <tomwardill> yes, it doesn't look like those documents actually exist. Or I can't find them (which is entirely possible!)
[15:09] <JohnMeinel[m]> I'm pretty sure it is plans for future docs
[15:11] <tomwardill> ah, because at the moment, I can't deploy my charm created by `charmcraft init` because juju says my config is empty
[15:11] <tomwardill> and I can't find any documentation on what the config should look like
[15:12] <JohnMeinel[m]> hm, something else seems broken. Search finds: <https://juju.is/docs/search?q=config+yaml>
 and <https://juju.is/docs/creating-config-yaml-and-configuring-charms>
[15:12] <JohnMeinel[m]> that seems much more serious
[15:12] <JohnMeinel[m]> (both of those 404 but exist in indexes and in my browser history)
[15:13] <tomwardill> ah! That would explain it :)
[15:16] <JohnMeinel[m]> Can you see: <https://discourse.charmhub.io/t/creating-config-yaml-and-configuring-charms/1039>

[15:17] <tomwardill> I can, yes
[15:18] <JohnMeinel[m]> ok, that is the source post that should be building the other docs, I'll dig and see why they aren't getting HTML pages
[15:27] <tomwardill> thanks :)
[18:43] <knkski[m]> jam: do we have an equivalent operator framework relation for this? https://git.launchpad.net/generic-ip-port-user-pass-charm-interface
[18:44] <knkski[m]> The context is that I'm taking a look at converting this charm to use the operator framework: https://github.com/juju-solutions/charm-minio
[18:45] <jam> @knkski[m], I'm not aware of one, though it would be pretty trivial to implement. JoseMasson: do you or one of the observability team know of one? I know you were talking about some common base classes
[18:56] <JoseMasson> Hi /jam at the moment we don't have one.
[19:10] <knkski[m]> JoseMasson: what existing relations are there for the operator framework that i can take a look at?
[19:22] <JoseMasson> knkski[m]: If I understand ok what you are looking for, you can take a look at this (work in progress) charm: https://github.com/canonical/graylog-operator
[19:23] <JoseMasson> Please let me know if that example is useful
[19:24] <knkski[m]> JoseMasson: Thanks, that looks interesting. I see that there's a few relations defined in metadata.yaml, where are `graylog-peers`, `elasticsearch-datastore`, and `mongodb` defined?
[19:51] <JoseMasson> knkski[m]: I'm sure bthomas can help you better than I can, but I think you might want to see: https://github.com/canonical/graylog-operator/blob/main/src/charm.py#L115
[19:59] <knkski[m]> JoseMasson: is there documentation around `event.relation.data` somewhere?
[19:59] <knkski[m]> it looks like i don't actually need an intermediate layer codebase such as https://git.launchpad.net/generic-ip-port-user-pass-charm-interface, i just set stuff and retrieve from `event.relation.data`?
[20:03] <jam> knkski[m], correct
[20:09] <knkski[m]> jam: so what exactly does `mongodb` mean then here? https://github.com/canonical/mongodb-operator/blob/master/metadata.yaml#L26
[20:10] <jam> knkski[m], if another charm has "requires: <name>: interface: mongodb" then we allow them to relate to each other
[20:11] <knkski[m]> jam: why not just `requires: [name1, name2]`?
[20:11] <jam> knkski[m], because you might provide different types of data with the same protocol
[20:12] <jam> eg an http endpoint that provides admin on one relation and website on the other
[20:12] <jam> they are both coordinated as 'http' but the content is different
[20:13] <knkski[m]> jam: so you'd have `requires: http: interface: admin`?
[20:13] <jam> knkski[m], wrong way around. provides: admin: interface: http
[20:14] <jam> the interface needs to match between provides and requires, the other name is the word that is meant to convey to humans the purpose of the relation
[20:14] <knkski[m]> jam: so the requirer just says that it requires `http`, and doesn't know if it's been connected to `admin: interface: http` or `website: interface: http`?
[20:15] <jam> correct. you might connect http to haproxy, which doesnt care about the content, and could proxy either
[21:20] <JoseMasson> knkski[m]: sorry for the delay, i was away from keyboard, the documentation we have now is here: https://ops.readthedocs.io/en/latest/