Service Instance Deletion #30

Closed
opened 2025-03-26 08:29:41 +00:00 by tobru · 2 comments
Owner

Stories

As a user, I want to delete service instances when they’re no longer needed so that I don’t incur unnecessary costs

Implementation Notes

  • Deletion is asynchronous, it will only vanish from the Kubernetes API server when it's really gone
  • Don't directly delete it in the database, mark it deleted and record the date/time and user who deleted the instance
  • Some services do not allow being directly deleted, they need to be reconfigured first to remove the deletion protection (for example https://docs.appcat.ch/vshn-managed/postgresql/delete.html)
  • Consider that a service instance could have been deleted directly on the control-plane. While this should not happen in production, it can very well happen in dev / test / staging.
## Stories _As a user, I want to delete service instances when they’re no longer needed so that I don’t incur unnecessary costs_ ## Implementation Notes - Deletion is asynchronous, it will only vanish from the Kubernetes API server when it's really gone - Don't directly delete it in the database, mark it deleted and record the date/time and user who deleted the instance - Some services do not allow being directly deleted, they need to be reconfigured first to remove the deletion protection (for example https://docs.appcat.ch/vshn-managed/postgresql/delete.html) - Consider that a service instance could have been deleted directly on the control-plane. While this should not happen in production, it can very well happen in dev / test / staging.
tobru added this to the Servala Portal MVP milestone 2025-03-26 08:29:41 +00:00
tobru added the
enhancement
label 2025-03-26 08:29:41 +00:00
tobru added this to the Servala Portal project 2025-03-26 08:29:41 +00:00
Author
Owner

As for the deletion protection handling, there are two ways we can do that:

  1. On deletion, ask the user for confirmation: "do you really want to delete this service instance? this cannot be undone. please enter the name of the instance to confirm". Then remove the deletion protection first and delete the instance aftwards.
  2. Add a button "enable / disable" deletion protection. On disabling, remove the deletion protection and only then allow deleting (also with confirmation) - deletion protection enabled would be the default. This is similar to how Hetzner Cloud does it.
As for the deletion protection handling, there are two ways we can do that: 1. On deletion, ask the user for confirmation: "do you really want to delete this service instance? this cannot be undone. please enter the name of the instance to confirm". Then remove the deletion protection first and delete the instance aftwards. 2. Add a button "enable / disable" deletion protection. On disabling, remove the deletion protection and only then allow deleting (also with confirmation) - deletion protection enabled would be the default. This is similar to how Hetzner Cloud does it.
Author
Owner

We go for variant 1 for now. And to clarify: the deletion confirmation should be shown independent whether deletion protection is enabled or not.

We go for variant 1 for now. And to clarify: the deletion confirmation should be shown independent whether deletion protection is enabled or not.
rixx closed this issue 2025-05-26 09:46:12 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: servala/servala-portal#30
No description provided.