Simple relations for simple people


Myself and @timClicks were discussing various aspects of Juju on the IRC channel tonight and I had a bit of a thought/question about relations that I’d like to run past people who know better than me…

90% of all the few relations I’ve ever written involve taking an interface on side a and passing it to b and an interface on side b and passing it to a.

So, I could define that in YAML, for example a JDBC interface:

App end would be:


and database side would be:


Instead of relation styling that changes all the time and does crazy things most of which the majority of us don’t know (see here) why can’t we have a simple

charm interface build

that takes our metadata YAML code and builds it out into something that knows how to pass the data from a to b? Which is 90% of the time, all we developers want it to do.


All thoughts on lowering entry-point to advanced development of juju charms are good for the juju community.



Thanks @erik-lonroth

The other thing about a compiled, yaml driven interface is that for a moron like me, it becomes pretty much self documenting… which, when you’re trying to figure out what’s going through an interface and what that object might look like without trying to debug a running charm, it would be an absolute godsend.

An interface tutorial?