Skip to content

Archiving, not deleting

Nothing in the console deletes a project. Archiving suspends the program, disables the credentials and freezes the project.

There is no delete route for a project, no way to drop a Flight source, and no way to remove a published program from the console.

A project id, the address it publishes at and the OAuth client ids registered against it stay claimed for good, so nothing that was trusted once, a program a calculator installed or a client id a user consented to, can be quietly released and picked up by somebody else.

What there is instead is archiving.

What archiving does#

It does three things at once, and all three are reversible.

  1. It suspends the program on Roost

    The row keeps everything it had. The registry filters it out of listings, search, category counts, the dependency graph and every download route. A direct link to the address answers 404.

  2. It disables the OAuth applications

    Every application registered against the project is disabled through the accounts client API. Only the ones that were still enabled are touched, and their client ids are recorded on the project.

  3. It freezes the project

    Renaming it, changing the Flight source, publishing a version, editing the listing, starting a build and every credentials write answer 409 project_disabled. A push webhook for it is acknowledged and ignored.

Restoring#

Restoring reverses all three. The program is unsuspended, and exactly the applications that archiving suspended are re-enabled. Any the owner had disabled by hand are left alone, because their client ids were never recorded as suspended.

Nothing is removed from the object store at any point, so a restored project's downloads work immediately.

If part of it fails#

Archiving touches the registry and CEagle accounts as well as the project, so it can fail partway if accounts is unreachable. Nothing is left half-applied: the console reports the failure and you try again.

When to reach for it#

A program you no longer maintain

Archive it. The address stays yours, nobody can install it, and you can bring it back.

A program with a serious bug

Archive it, fix it, restore it. Faster than pushing a build, and it stops downloads immediately.

An address you claimed and did not use

Archive it, or leave it. An unused project with no source publishes nothing either way.

A compromised OAuth application

Disable that credential rather than the whole project, unless the project itself is the problem.

CEagle documentation