Description
When we try to specify a backend for a configuration resource, due to the controller not performing duplicate validation, suppose we have configuration resources A
and B
that both configure the same backend. After apply A
, the infrastructure is provisioned successfully, and the tfstate
is generated. When apply B
, it will not request new infrastructure resources, and the tfstate
is shared. However, if either A
or B
is deleted, it will lead to the removal of the underlying infrastructure resources, and the other configuration resource will not be aware of this.
We use the same backend for the following reason: Since kubevela does not support a shared-resources
-like strategy for infrastructure components sharing, we use specifying the same backend for components to achieve infrastructure sharing among applications.
The expected result is: If the terraform-controller does not perform uniqueness validation on the backend, we expect that when configuration resource A
is deleted, if there are other configuration resources like B
referencing this backend, the terraformDestroy
method should not be executed.