Skip to content

Commit dd7fb4a

Browse files
Make single TargetRef Core for BackendTLSPolicy (#4298)
Make Core conformance for BackendTLSPolicy only support a single TargetRef for now, while we figure out what to do about representing some edge cases in status. Signed-off-by: Nick Young <nick@isovalent.com> Co-authored-by: Nick Young <nick@isovalent.com>
1 parent 407d04d commit dd7fb4a

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

apisx/v1alpha1/xbackendtrafficpolicy_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ type BackendTrafficPolicySpec struct {
6969
// Currently, a TargetRef can not be scoped to a specific port on a
7070
// Service.
7171
//
72+
// Because of concerns over recording status correctly in some edge cases,
73+
// currently, Core support is only given to one (1) TargetRef. More than
74+
// one TargetRef is Implementation Specific.
75+
//
7276
// +listType=map
7377
// +listMapKey=group
7478
// +listMapKey=kind

config/crd/experimental/gateway.networking.x-k8s.io_xbackendtrafficpolicies.yaml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

geps/gep-1897/index.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,20 @@ While in some cases adding new fields may be seen as a backwards compatibility r
625625
knowing to respect the fields, these fields (or similar, should future GEPs decide on new names) are pre-approved to be
626626
added in a future release, should the GEPs to add them are approved in the first place.
627627

628+
## Outstanding issues
629+
630+
### Multiple TargetRefs rolling up to the same Gateway cannot be represented in status
631+
632+
It is possible to have a BackendTLSPolicy target multiple, different Services that are used in HTTPRoutes that attach
633+
to the same Gateway.
634+
635+
As written, the Status section of BackendTLSPolicy does not have a way to represent these separate statuses, as the
636+
status is namespaced by `controllerName` and `ancestorRef` (where "ancestor" is the Gateway in this case).
637+
638+
We need to decide if this is enough of an issue to change the status design, or if we record this as a design decision
639+
and accept the tradeoff.
640+
641+
628642
## Alternatives
629643
Most alternatives are enumerated in the section "The history of backend TLS". A couple of additional
630644
alternatives are also listed here.

pkg/generated/openapi/zz_generated.openapi.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)