-
Notifications
You must be signed in to change notification settings - Fork 451
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
Update GEP-1762 with Gateway name limit recommendations #3070
base: main
Are you sure you want to change the base?
Update GEP-1762 with Gateway name limit recommendations #3070
Conversation
Also updates Gateway resource to recommend users create Gateways with <= 63 character names. Signed-off-by: Sunjay Bhatia <sunjayb@vmware.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
thanks !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sunjayBhatia!
@@ -32,6 +32,10 @@ import ( | |||
|
|||
// Gateway represents an instance of a service-traffic handling infrastructure | |||
// by binding Listeners to a set of IP addresses. | |||
// | |||
// It is recommended that the Gateway name field be limited to a maximum length | |||
// of 63 characters. Gateway names may be used in label values on generated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems like 63 is too long if 63 is the max length of some of the values we're trying to populate. Ideally wouldn't you want to translate foo-gateway
to a generated contour-foo-gateway
or similar? I'm also not sure if this belongs in the API spec or should just be in more user-facing guidelines documentation for using the API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
63 is the max label value length, this shouldn't have any immediate bearing on generated resource names
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can move this to another guide instead though if that is preferred, maybe better here: https://gateway-api.sigs.k8s.io/api-types/gateway/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
63 is the max label value length, this shouldn't have any immediate bearing on generated resource names
🤦 did not read this closely enough, nevermind.
I can move this to another guide instead
We don't really have any strong guidance here as far as where user-facing tips like this belongs. Generally we reserve RFC language like SHOULD and MUST in the API Spec for implementation guidance, but it also feels weird to have "It is recommended" instead of "SHOULD" here. I can't really think of better solutions here, but interested in what @youngnick thinks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, this is a good use case for SHOULD - in that we would prefer implementations be aware of the complexities here as well.
Let's change "It is recommended..." to "The Gateway name field SHOULD be no longer than 63 characters."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sunjayBhatia! Let's give a few days for @youngnick to look at this in case he has better ideas for where this guidance could go. If not, I'm fine with some lazy consensus where we can just remove the hold sometime next week if no strong opinions emerge.
/lgtm
/approve
/hold for second opinion
@@ -32,6 +32,10 @@ import ( | |||
|
|||
// Gateway represents an instance of a service-traffic handling infrastructure | |||
// by binding Listeners to a set of IP addresses. | |||
// | |||
// It is recommended that the Gateway name field be limited to a maximum length | |||
// of 63 characters. Gateway names may be used in label values on generated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
63 is the max label value length, this shouldn't have any immediate bearing on generated resource names
🤦 did not read this closely enough, nevermind.
I can move this to another guide instead
We don't really have any strong guidance here as far as where user-facing tips like this belongs. Generally we reserve RFC language like SHOULD and MUST in the API Spec for implementation guidance, but it also feels weird to have "It is recommended" instead of "SHOULD" here. I can't really think of better solutions here, but interested in what @youngnick thinks.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: arkodg, robscott, sunjayBhatia The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
any further thoughts on this @robscott @youngnick |
Yeah, I like these changes, with the small exception of moving to SHOULD - RFC language is clearer for both implementations and users. |
LGTM with the SHOULD changes. |
@sunjayBhatia the PR is in a pretty advanced state, are you still interested in moving this forward? |
What type of PR is this?
/kind cleanup
/kind documentation
/kind gep
What this PR does / why we need it:
Updates GEP-1762 to provide guidance for implementers on what to do with the
gateway.networking.k8s.io/gateway-name
(to be put on generated in-cluster resources) when a Gateway's name exceeds 63 characters (the label value length limit).Also updates Gateway resource to recommend users create Gateways with <= 63 character names.
Which issue(s) this PR fixes:
Fixes #2592
Does this PR introduce a user-facing change?: