diff --git a/internal/cmd/egctl/testdata/translate/in/backend-endpoint.yaml b/internal/cmd/egctl/testdata/translate/in/backend-endpoint.yaml index d2aa0f78f0..0f1f3ab69f 100644 --- a/internal/cmd/egctl/testdata/translate/in/backend-endpoint.yaml +++ b/internal/cmd/egctl/testdata/translate/in/backend-endpoint.yaml @@ -44,3 +44,16 @@ spec: - ip: address: 0.0.0.0 port: 3000 +--- +apiVersion: gateway.networking.k8s.io/v1alpha3 +kind: BackendTLSPolicy +metadata: + name: example-com-tls-policy +spec: + targetRefs: + - group: 'gateway.envoyproxy.io' + kind: Backend + name: backend + validation: + wellKnownCACertificates: "System" + hostname: www.example.com diff --git a/internal/cmd/egctl/testdata/translate/out/backend-endpoint.all.yaml b/internal/cmd/egctl/testdata/translate/out/backend-endpoint.all.yaml index 0841f84877..41a84b3d83 100644 --- a/internal/cmd/egctl/testdata/translate/out/backend-endpoint.all.yaml +++ b/internal/cmd/egctl/testdata/translate/out/backend-endpoint.all.yaml @@ -1,3 +1,30 @@ +backendTLSPolicies: +- kind: BackendTLSPolicy + metadata: + creationTimestamp: null + name: example-com-tls-policy + namespace: envoy-gateway-system + spec: + targetRefs: + - group: gateway.envoyproxy.io + kind: Backend + name: backend + validation: + hostname: www.example.com + wellKnownCACertificates: System + status: + ancestors: + - ancestorRef: + group: gateway.networking.k8s.io + kind: Gateway + name: eg + conditions: + - lastTransitionTime: null + message: Policy has been accepted. + reason: Accepted + status: "True" + type: Accepted + controllerName: gateway.envoyproxy.io/gatewayclass-controller backends: - kind: Backend metadata: diff --git a/internal/gatewayapi/resource/load.go b/internal/gatewayapi/resource/load.go index e3357b0b27..b3d1a523a3 100644 --- a/internal/gatewayapi/resource/load.go +++ b/internal/gatewayapi/resource/load.go @@ -21,6 +21,7 @@ import ( utilyaml "k8s.io/apimachinery/pkg/util/yaml" gwapiv1 "sigs.k8s.io/gateway-api/apis/v1" gwapiv1a2 "sigs.k8s.io/gateway-api/apis/v1alpha2" + gwapiv1a3 "sigs.k8s.io/gateway-api/apis/v1alpha3" "sigs.k8s.io/yaml" egv1a1 "github.com/envoyproxy/gateway/api/v1alpha1" @@ -341,6 +342,19 @@ func loadKubernetesYAMLToResources(input []byte, addMissingResources bool) (*Res Data: typedData.(map[string]string), } resources.ConfigMaps = append(resources.ConfigMaps, configMap) + case KindBackendTLSPolicy: + typedSpec := spec.Interface() + backendTLSPolicy := &gwapiv1a3.BackendTLSPolicy{ + TypeMeta: metav1.TypeMeta{ + Kind: KindBackendTLSPolicy, + }, + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: namespace, + }, + Spec: typedSpec.(gwapiv1a3.BackendTLSPolicySpec), + } + resources.BackendTLSPolicies = append(resources.BackendTLSPolicies, backendTLSPolicy) } return nil diff --git a/release-notes/current.yaml b/release-notes/current.yaml index 3579855d92..1a9b304028 100644 --- a/release-notes/current.yaml +++ b/release-notes/current.yaml @@ -29,6 +29,7 @@ bug fixes: | Bypass overload manager for stats and ready listeners Fix translating backendSettings for extAuth Fix an issue that stats compressor was not working. + Added support for BackendTLSPolicy parsing in Standalone mode. # Enhancements that improve performance. performance improvements: |