implement developer experience to simulate auto-connection of interfaces on install

Bug #1941658 reported by Ian Johnson
30
This bug affects 7 people
Affects Status Importance Assigned to Milestone
snapd
Triaged
Wishlist
Samuele Pedroni

Bug Description

It is hard to develop complex strict-mode snaps that require interfaces, especially those whose behavior meaningfully differs from devmode such as something like microk8s.

What would be ideal is to have a mechanism where a developer who is working on their snap can install it in such a way that they can test the auto-connection of interfaces the same way that it happens in the store, it's not a great experience to have to upload snaps to edge or a branch every time to see what happens with connect-* hooks, etc. which will run at different points in time depending on if you are installing with --dangerous and connecting interfaces after the snap is installed, or if you are installing via the store with auto-connections in the snap-declaration. In the former, the connect hooks will end up running after the configure and install hooks, while in the latter case, the connect hooks will end up running after the configure and install hooks.

I can see two ideas of how to do this:

1. We can add some sort of option to snap install to indicate interfaces which should be auto-connected, named appropriately like in

snap install --dangerous microk8s.snap --developer-simulate-auto-connection=foo,bar,network-control,kubernetes-support

2. We could make it some sort of system option that you need to turn on out of band from snap install that "appropriately identifies" that the user doing this is a developer developing on their own snap

One thing to be careful of here is that we don't want to enable proliferation of people now instructing their users to install dangerously and have interfaces auto-connect as that kind of defeats the store and the strong security and trust that comes from the centralized information about what interfaces can be auto-connected there.

Changed in snapd:
assignee: nobody → Samuele Pedroni (pedronis)
Changed in snapd:
importance: Undecided → Wishlist
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.