How to delete snap

Does the public ubuntu snap store provide a way for a developer to delete her/his app?

Hello!

You can delete a snap through the Store’s dashboard (only if the snap was never downloaded).

To do it, get into the Store, select your package, and you will see a “trash bin” icon just by the title.

However, if the snap was ever downloaded, you would not find that icon, as you can not delete the package manually.

You can always close all the channels (effectively unpublishing the software), so nobody can install it anymore. But if you still want/need to really delete it, the last option is to file a bug here so an Admin takes care of it (you can set the bug as private if security concerns are involved).

Thanks!

3 Likes

Is this still accurate? I have a test snap with no revisions uploaded, yet I see no clear way to delete it.

Hello:

You can still close channels as Facundo mentioned above, this unpublishes the snap, but the name itself will still exist and be registered to you.

However, the trashcan Facundo mentioned is, indeed, no longer there. The reason was that its behavior was not clearly explained, and people assumed it meant “just delete all uploaded snaps and start anew”, where the meaning really was “please revoke this snap name forever and ever and you won’t ever be able to use it again” - a process which was difficult to revert.

If you really want some snap names you registered to be revoked (within the meaning I just explained above), the way to proceed for now is to file a bug as Facundo described, and make it private if for some reason you don’t want your request to be visible publicly. This will be processed manually, prior to which someone will explain in detail the consequences of revoking a name.

Note that as Gustavo mentioned, someone else can then register the same name again. The revocation is tracked on a per-developer basis which means just you will be unable to use that snap name again.

  • Daniel

As a minor note, we make no promises that the name won’t be used again.

I’d like see an improvement in feature to delete a snap, i have examples snaps i built to test snapcraft building process and actually i’m receiving security email about old packages used even if the snap is not downloaded or used by anyone …

Same… It is weird, that this doesn’t even work for purely private snaps. Or snaps which never ever even had any release.

Any updates here ?

Even I need the feature, to delete private snaps which has never been published.

One alternative to deleting snaps would be for Canonical to host a ‘staging’ server which gets wiped periodically. If snapd could be coerced to use that staging server, so developers could test-publish their snaps and see if they work well, and not worry about owning it forever, that might help.

Or, y’know, open source the server code so people could run their own :wink:

Hi @popey

There is a staging server, and ways to build a snapd to use it. This is something that should be done only in ephemeral containers/VMs.

After looking in the interwebs I found this reference in the snapd code, which lead me to these search results and also the snapcraft side of things

No idea if those still work, as I haven’t tested it myself (yet) Hope it helps

Cheers,

Hey @verterok

Yeah, secretly, I kinda knew there was a staging server, and I was hoping my comment might out someone to talk about it :D.

It’s even possible to visit the staging server at https://staging.snapcraft.io/ and login to manage snaps there too. I don’t know how often the staging server is refreshed, or if the database is in sync somehow. Because a snap I released an hour ago can be seen in the staging instance.

There’s also a staging launchpad instance at https://staging.launchpad.net/ but I’m unable to logon to that because my 2fa seems broken there.

There’s also code-paths in snapcraft which can use the environment variables to use the launchpad and store staging instances. But I don’t know how well that’s tested, or wether it’s a supported way to test snap deployments.

It would be good if someone could confirm that, and document it, if so.

Hey,

https://staging.snapcraft.io/ is the web frontend staging, but the API used is the production one (that is the reason you can see recently released snaps there). The staging API: api.staging.snapcraft.io is not in sync with production in any way, uses staging U1SSO for authentication.

Regarding https://staging.launchpad.net/ login issues, staging 2fa is different from the production one. If you lost access to the staging 2fa device and have no backup codes please reach out to the U1 SSO crew via the support email and they might be able to sort it out for you.

AFAIK, snapcraft @ staging is well tested and used daily, but that will only allow you to publish to staging. In order to test snap deployments one would need to build a custom snapd as linked above.

Documenting all this and more sounds like a great idea! Given is a cross teams effort, will raise the issue in our next sync.

Cheers

1 Like