Request for greedy plug: certbot:plugin interface

So sorry for the delay!

Since the request only changes the greediness of the auto-connection, and not cross-publisher connections, in the interest of time I simply granted this (@reviewers - please speak up if you feel this is in error).

I chose to use this for the plugs of the snap declaration:

{
  "content": {
    "allow-auto-connection": [
      {
        "plug-attributes": {
          "content": "certbot-1"
        },
        "slot-attributes": {
          "content": "$PLUG(content)"
        },
        "slots-per-plug": "*",
        "slot-publisher-id": [
          "$PLUG_PUBLISHER_ID"
        ]
      },
      {
        "plug-attributes": {
          "content": "$SLOT(content)"
        },
        "slot-publisher-id": [
          "$PLUG_PUBLISHER_ID"
        ]
      }
    ]
  }
}

This limits the greediness to the certbot snap’s content plug that uses content: certbot-1 with the idea that if you add another content plug, it will behave normally (ie, auto-connect if same publisher without greediness).

I tested this and after following the instructions in the other topic, everything seems to work:

Interface                 Plug                                       Slot                              Notes
content[metadata-1]       certbot-dns-digitalocean:certbot-metadata  certbot:certbot-metadata          -
content[metadata-1]       certbot-dns-luadns:certbot-metadata        certbot:certbot-metadata          -
content[certbot-1]        certbot:plugin                             certbot-dns-digitalocean:certbot  -
content[certbot-1]        certbot:plugin                             certbot-dns-luadns:certbot        -

Please test and let us know how it goes.

4 Likes