Some tools were experiments that are done, others were made obsolete by other tools, some are just things that the original maintainer is tired of caring for. There is no UI with a big red "Delete this tool" button, so how can you responsibly request that a tool be deleted?
== Request deletion of a tool you maintain ==
* Shutdown the tool's webservice using `webservice stop` (if it exists)
* Delete the tool's crontab using `crontab -r` (if it exists)
* Cleanup any junk files like //access.log//, //error.log//, //service.log//, //*.{out,err}// from old cron jobs in the tool's //$HOME//
* Archive anything you want to keep somewhere outside the tool's //$HOME//
* Make "[[https://wikitech.wikimedia.org/wiki/User:Owner_of_abandoned_tools|Owner of abandoned tools]]" the maintainer of the tool using the page at https://toolsadmin.wikimedia.org/tools/id/<name_of_your_tool>/maintainers/
* Create a child ticket of {T133777} asking the Toolforge admin team to delete the tool [[https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?title=Archive%2Fdelete%20tool%20%3Cname%20of%20your%20tool%3E&description=%3Cexplain%20why%20you%20are%20nominating%20this%20tool%20for%20deletion%3E&projects=toolforge%2C%20tools%2C%20cleanup&priority=low&parent=133777|using this phabricator task template]].
---
We have a growing list of tools that have been volunteered for deleting by their maintainers. We probably also have quite a large number of tools that are being "name squatted" and could be reclaimed with gentle prodding of their maintainers. But, we don't have a well defined process for what steps are actually necessary to delete a tool. We should make that checklist and then figure out if automating it is worthwhile or not.
== Deletion checklist ==
[] Remove all maintainers from tool group
[] Remove tool from maintainers list for all other tools
[] Archive tool's crontab
[] Stop all running jobs owned by tool on job grid
[] Delete all deployments owned by the tool on Kubernetes
[] Revoke Kubernetes credentials for tool
[] Remove Kubernetes namespace for tool
[] Archive any ToolsDB databases owned by the tool
[] Revoke database credentials for tool
[] Revoke elasticsearch credentials for tool
[] Archive tool homedir
[] Archive any Diffusion repositories owned by the tool
[] Delete tool account and group from LDAP