When a STACKIT VM that belongs to an already provisioned StackitMachine is deleted out-of-band (outside of CAPSTK), the controller correctly avoids creating a replacement VM. Creating one would replay old bootstrap data and can leave Kubernetes node records pointing at the deleted server.
However, CAPSTK currently returns an error without persisting a terminal failure state. The reconciliation is retried, but users and Cluster API do not get a clear failure reason or message for the missing VM.
The state should be set to not ready and a failure reason like InstanceNotFound should become active.
When a STACKIT VM that belongs to an already provisioned
StackitMachineis deleted out-of-band (outside of CAPSTK), the controller correctly avoids creating a replacement VM. Creating one would replay old bootstrap data and can leave Kubernetes node records pointing at the deleted server.However, CAPSTK currently returns an error without persisting a terminal failure state. The reconciliation is retried, but users and Cluster API do not get a clear failure reason or message for the missing VM.
The state should be set to not ready and a failure reason like
InstanceNotFoundshould become active.