Open marmol-dev opened 3 months ago
I don't think this is a bug from what I understand...
Crossplane Providers will not update a resource if it requires a re-creation (or at least in my experience upjet ones do not for sure). I think you'd have to create a new resource, then delete this resource (or however TF deals with replacements of this resource assuming you feel that makes sense).
Thanks @blakeromano , I understand the challenge for Crossplane with recreation.
But, what is the purpose of the "triggers" attribute of "deployment.apigateway.aws.upbound.io/v1beta1" ? It will always force recreation when it changes.
I am not an API Gateway expert by assumption is a deployment is essentially "immutable" where once you create a deployment your path forward is to create a new deployment not update existing. Upjet providers use Terraform under the hood with some customizations to make it K8s native so there's other resources which are pretty "immutable" that you can deploy with Crossplane.
This provider repo does not have enough maintainers to address every issue. Since there has been no activity in the last 90 days it is now marked as stale
. It will be closed in 14 days if no further activity occurs. Leaving a comment starting with /fresh
will mark this issue as not stale.
Is there an existing issue for this?
Affected Resource(s)
Resource MRs required to reproduce the bug
Steps to Reproduce
kubectl apply resources.yaml
version: "2"
What happened?
The Deployment MR is expected to reconcile with AWS but a error is obtained:
refuse to update the external resource because the following update requires replacing it: cannot change the value of the argument "triggers.version" from "1" to "2"
I expect that the trigger property of the Deployment MR works exactly doing this: force a replacement of the underlying Terraform and AWS resource.
Relevant Error Output Snippet
Crossplane Version
1.16.0
Provider Version
1.9.0
Kubernetes Version
v1.30.2-eks-db838b0
Kubernetes Distribution
EKS
Additional Info
The reason I use "triggers" is to create a new Deployment on AWS with the changes of the RestAPI resource. I want to simulate the "Deploy" button on the AWS console.