More verbosity about Snap interfaces

snap interface <interface> command doesn’t provide many details about what the interface allows under the hood. I think for most people, these details are not very interesting, but for who is developing Snaps this information is gold. Could be a sub-command in Snapcraft with details about what is allowed when a connection with an interface is created, something like snapcraft list-interfaces with an option to mention one specific interface and get the details. These details are already available:

image Maybe could be already a way to find this specific part of information, I couldn’t find, so may be I just don’t look in the right place or the option is very hidden. :slight_smile:

if you are developing you should always have the snappy-debug snap installed and run the snappy-debug command aside your snap, that will actually make interface suggestions for the denials it sees passing by.

I agree, but I think this would be part of fixing part of coding the Snap. You find a problem using snappy-debug, fix, try again. I think more details about interfaces could be a little more proactive. Do you know if there is a easy way to check for the detailed description present in the screenshots I posted?

not beyond looking at the code i fear …

Yes, look at the code, but the code of the application you are developing the Snap for, not the code of snapd itself. The documentation via CLI is very incomplete:

And documentation in the website is far more complete, but not always updated (like the new pkcs11 interface) The ideia would be a option in snapcraft with more technical details about the interfaces, so you won’t need to check the snapd source code to look what the interface does (which needs knowledge in Go)

@sergiusens I don’t think the snapd forum is the correct one. The screenshots are, in fact, from snapd, but just to say the documentation is already available. The idea is to implement in snapcraft since is an idea to improve developers lives. But may be, a flag like ‘–verbose’ could be implemented in snap command to show more details. Technically, would be easier to implement.