tv2-oss / bifrost-gateway-controller

Gateway API-driven management of network infrastructure across Kubernetes and cloud infrastructures
Other
20 stars 2 forks source link

Support immutable resources in template #164

Open michaelvl opened 1 year ago

michaelvl commented 1 year ago

Summary

Immutable resources means that the current patch approach cannot work, because these resource either cannot be updated or they will never sync and become ready.

Motivation

This feature is essential since many cloud resources are immutable

Proposal

The template definitions could be augmented with a updateType, which could be either patch or recreate

It needs to be considered how to handle dependent resources, e.g.:

SG --used by--> ALB

if the SG is immutable (need to investigate why Crossplane set lifecycle.prevent_destroy on SGs) and needs to be recreated, then we also need to recreate the ALB.

michaelvl commented 1 year ago

Example:

"error": "admission webhook \"vtargetgroupbinding.elbv2.k8s.aws\" denied the request: TargetGroupBinding update may not change these fields: spec.targetGroupARN"}