Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RS-2260] Add GatewayAPI field to configure CRD management #3769

Merged
merged 7 commits into from
Feb 14, 2025

Conversation

nelljerram
Copy link
Member

@nelljerram nelljerram commented Feb 7, 2025

The default behaviour - which is used when the new field is not set, or is set to "PreferExisting" - is that the Tigera operator will create the Gateway API CRDs if they do not already exist, but will not overwrite any existing Gateway API CRDs. This setting may be preferable if the customer is using other implementations of the Gateway API concurrently with the Gateway API support in Calico Enterprise. It is then the customer's responsibility to ensure that CRDs are installed that meet the needs of all the Gateway API implementations in their cluster.

Alternatively, if this field is set to "Reconcile", the Tigera operator will keep the cluster's Gateway API CRDs aligned with those that it would install on a cluster that does not yet have any version of those CRDs.

The default behaviour - which is used when the new field is not set, or is set
to "Reconcile" - is to keep the cluster's Gateway API CRDs aligned with those
that the Tigera operator would install on a cluster that does not yet have any
version of those CRDs.

Alternatively, if this field is set to "PreferExisting", the Tigera operator
will create the Gateway API CRDs if they do not already exist, but will not
overwrite any existing Gateway API CRDs.  This setting may be preferable if the
customer is using other implementations of the Gateway API concurrently with
the Gateway API support in Calico Enterprise.  It is then the customer's
responsibility to ensure that CRDs are installed that meet the needs of all the
Gateway API implementations in their cluster.
@nelljerram nelljerram force-pushed the gateway-crd-management branch from a26970b to 135e1be Compare February 7, 2025 11:44
On reflection, it has to be this way, because for a customer with existing CRDs
who upgrades, they will have no opportunity to change the new field to
PreferExisting, before it is too late.
type GatewayCRDManagement string

const (
GatewayCRDManagementReconcile GatewayCRDManagement = "Reconcile"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could probably use this terminology / setting for any third part crd management, i.e. take away the Gateway prefix and put this in a common folder.

@electricjesus
Copy link
Member

/merge-when-ready squash-commits delete-branch

@marvin-tigera
Copy link
Contributor

OK, I will merge the pull request when it's ready, squash the commits when I merge it, and delete the branch after I've merged it.

@marvin-tigera
Copy link
Contributor

Removing "merge-when-ready" label due to new commits

@marvin-tigera marvin-tigera merged commit ed26c42 into tigera:master Feb 14, 2025
5 checks passed
@marvin-tigera
Copy link
Contributor

I'm sorry but I failed delete the branch after merging the pull request.

@nelljerram nelljerram deleted the gateway-crd-management branch February 14, 2025 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants