update or remove deployments #180

Open
opened 2025-02-24 09:28:08 +01:00 by kiara · 8 comments
Owner

As a Fediversity user,
I want my configuration changes to automatically remove existing VMs or provision new VMs.

Test:

Given I have an existing deployment,
When I change my configuration and run deployment,
Then, the state of the virtualisation component is updated according (e.g. removing VMs, provisioning VMs, changing VM parameters).

**As** a Fediversity user, **I want** my configuration changes to automatically remove existing VMs or provision new VMs. ### Test: **Given** I have an existing deployment, **When** I change my configuration and run deployment, **Then**, the state of the virtualisation component is updated according (e.g. removing VMs, provisioning VMs, changing VM parameters).
Author
Owner
  • [ ] tweak node parameters
  • removal:

edit: removal of the VM/container we can do, but not beyond yet, see below

- ~~[ ] tweak node parameters~~ - [x] removal: - #886 - #1036 edit: removal of the VM/container we can do, but not beyond yet, see below
Author
Owner

actually, who's to say we need operators to tweak such params, particularly now we went from VMs to containers (#914)

actually, who's to say we need operators to tweak such params, particularly now we went from VMs to containers (#914)
kiara closed this issue 2026-06-06 14:19:48 +02:00
Member

What parameters are you referring to? Regardless of whether an Application is run on a VM or a container, when deploying a new configuration, if the VM/container is no longer necessary it should be cleaned up.

(Usually the declarative approach is to always remove everything and do a fresh deployment but that does cause undesirable downtime.)

What parameters are you referring to? Regardless of whether an Application is run on a VM or a container, when deploying a new configuration, if the VM/container is no longer necessary it should be cleaned up. (Usually the declarative approach is to always remove everything and do a fresh deployment but that does cause undesirable downtime.)
Author
Owner

for VMs one would allocate like RAM/disk, tho i think the LXC containers have been sorta more fungible in that regard

for VMs one would allocate like RAM/disk, tho i think the LXC containers have been sorta more fungible in that regard
Member

I agree that those shouldn't be exposed to Operators (maybe by proxy in the form of hardware tiers for your Applications, but out of scope for us IMO). I don't see this as a motivation to close the issue.

This issue is more about something like an Operator deciding to use a different Matrix server, switching from Synapse to Continuwuity for example. The Operator mostly only cares that the Continuwuity instance is deployed, but the Hosting Provider cares about removing the defunct Synapse VM/container to avoid wasting resources.

I agree that those shouldn't be exposed to Operators (maybe by proxy in the form of hardware tiers for your Applications, but out of scope for us IMO). I don't see this as a motivation to close the issue. This issue is more about something like an Operator deciding to use a different Matrix server, switching from Synapse to Continuwuity for example. The Operator mostly only cares that the Continuwuity instance is deployed, but the Hosting Provider cares about removing the defunct Synapse VM/container to avoid wasting resources.
Author
Owner

I agree that those shouldn't be exposed to Operators (maybe by proxy in the form of hardware tiers for your Applications, but out of scope for us IMO). I don't see this as a motivation to close the issue.

i agree on both counts. i expect for the productized front-end not to expose this, tho for the reference front-end, i do wanna think it makes sense to demonstrate what we can do. that effort i intend to now track in #723.

This issue is more about something like an Operator deciding to use a different Matrix server, switching from Synapse to Continuwuity for example. The Operator mostly only cares that the Continuwuity instance is deployed, but the Hosting Provider cares about removing the defunct Synapse VM/container to avoid wasting resources.

i'm not confident cross-application migrations are low-hanging fruit, but feel free to file a ticket better fleshing out this use-case if you feel more optimistic

> I agree that those shouldn't be exposed to Operators (maybe by proxy in the form of hardware tiers for your Applications, but out of scope for us IMO). I don't see this as a motivation to close the issue. i agree on both counts. i expect for the productized front-end not to expose this, tho for the reference front-end, i do wanna think it makes sense to demonstrate what we can do. that effort i intend to now track in #723. > This issue is more about something like an Operator deciding to use a different Matrix server, switching from Synapse to Continuwuity for example. The Operator mostly only cares that the Continuwuity instance is deployed, but the Hosting Provider cares about removing the defunct Synapse VM/container to avoid wasting resources. i'm not confident cross-application migrations are low-hanging fruit, but feel free to file a ticket better fleshing out this use-case if you feel more optimistic
Member

I'm not even talking about migration. Just that at some point some deployed service will no longer be in use and need to be cleaned up, you can do such cleanup when an Operator deploys a config with the service disabled but what if an Operator simply stops paying bills? You can't count on the cleanup being triggered only by an Operator action.

I'm not even talking about migration. Just that at some point some deployed service will no longer be in use and need to be cleaned up, you can do such cleanup when an Operator deploys a config with the service disabled but what if an Operator simply stops paying bills? You can't count on the cleanup being triggered only by an Operator action.
Author
Owner

what if an Operator simply stops paying bills? You can't count on the cleanup being triggered only by an Operator action.

right - maybe #1068 could cover that?

at some point some deployed service will no longer be in use and need to be cleaned up

you're right - so far tf-incus's delete just prunes the LXC container, but in practice applications touch state across various shared infrastructure as well (db, kv-store, s3, vault, TF back-end, ...). reopening. c.f. #186.

> what if an Operator simply stops paying bills? You can't count on the cleanup being triggered only by an Operator action. right - maybe #1068 could cover that? > at some point some deployed service will no longer be in use and need to be cleaned up you're right - so far `tf-incus`'s delete just prunes the LXC container, but in practice applications touch state across various shared infrastructure as well (db, kv-store, s3, vault, TF back-end, ...). reopening. c.f. #186.
kiara reopened this issue 2026-06-09 14:34:56 +02:00
kiara changed title from update or remove VMs to update or remove deployments 2026-06-09 14:35:07 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
fediversity/fediversity#180
No description provided.