Automatically disable an expired instance
Currently sites are manually disabled, then, after a month, deleted. As CiviCRM Spark grows in adoption, it's time to automate this process.
- Implement a hook on civicrm.org to detect an expired Spark membership
- Send an REST API request to disable the site (and implement that in hosting_restapi)
- When a site is deleted in Aegir, delete the DNS entry for the site.
- Cleanup DNS creation, which is currently duct-taped on www-prod-2, and standardize with how provision_symbiotic does it on a per-server basis, as part of the site creation/clone.
This would not automate the actual deletion of the data, which would still be manual. Ideally we would automate that too, 30 days after the expiration, but as far as I know, it would require us to add new membership status rules, which would create confusion with other types of membership, or to hack something on top of scheduled reminders? In either case, it's something we can do later, without major changes to this first iteration.