[01:16] PR operator#478 opened: Add basic workload hook support === Spads_ is now known as Spads [14:44] 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] 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] yes, it doesn't look like those documents actually exist. Or I can't find them (which is entirely possible!) [15:09] I'm pretty sure it is plans for future docs [15:11] ah, because at the moment, I can't deploy my charm created by `charmcraft init` because juju says my config is empty [15:11] and I can't find any documentation on what the config should look like [15:12] hm, something else seems broken. Search finds: [15:12] and [15:12] that seems much more serious [15:12] (both of those 404 but exist in indexes and in my browser history) [15:13] ah! That would explain it :) [15:16] Can you see: [15:17] [15:17] I can, yes [15:18] 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] thanks :) [18:43] jam: do we have an equivalent operator framework relation for this? https://git.launchpad.net/generic-ip-port-user-pass-charm-interface [18:44] 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] @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] Hi /jam at the moment we don't have one. [19:10] JoseMasson: what existing relations are there for the operator framework that i can take a look at? [19:22] 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] Please let me know if that example is useful [19:24] 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] 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] JoseMasson: is there documentation around `event.relation.data` somewhere? [19:59] 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] knkski[m], correct [20:09] jam: so what exactly does `mongodb` mean then here? https://github.com/canonical/mongodb-operator/blob/master/metadata.yaml#L26 [20:10] knkski[m], if another charm has "requires: : interface: mongodb" then we allow them to relate to each other [20:11] jam: why not just `requires: [name1, name2]`? [20:11] knkski[m], because you might provide different types of data with the same protocol [20:12] eg an http endpoint that provides admin on one relation and website on the other [20:12] they are both coordinated as 'http' but the content is different [20:13] jam: so you'd have `requires: http: interface: admin`? [20:13] knkski[m], wrong way around. provides: admin: interface: http [20:14] 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] 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] correct. you might connect http to haproxy, which doesnt care about the content, and could proxy either [21:20] knkski[m]: sorry for the delay, i was away from keyboard, the documentation we have now is here: https://ops.readthedocs.io/en/latest/