diff --git a/README.md b/README.md index ba0cb0889..4547c407d 100644 --- a/README.md +++ b/README.md @@ -91,10 +91,10 @@ kubectl apply -f ./third_party/istio #### Contour ```bash echo ">> Bringing up Contour" -kubectl apply -f "https://raw.githubusercontent.com/projectcontour/contour-operator/${CONTOUR_VERSION}/examples/operator/operator.yaml" +kubectl apply -f "https://raw.githubusercontent.com/projectcontour/contour/${CONTOUR_VERSION}/examples/render/contour-gateway-provisioner.yaml" # wait for operator deployment to be Available -kubectl wait deploy --for=condition=Available --timeout=60s -n "contour-operator" -l '!job-name' +kubectl wait deploy --for=condition=Available --timeout=60s -n "projectcontour" contour-gateway-provisioner echo ">> Deploy Gateway API resources" kubectl apply -f ./third_party/contour diff --git a/docs/test-version.md b/docs/test-version.md index 9d5493737..c77e076c4 100644 --- a/docs/test-version.md +++ b/docs/test-version.md @@ -16,4 +16,4 @@ The following Gateway API version and Ingress were tested as part of the release | Ingress | Tested version | Unavailable features | | ------- | ----------------------- | ------------------------------ | | Istio | v1.19.0 | retry,httpoption | -| Contour | v1.24.0 | httpoption,basics/http2,websocket,websocket/split,grpc,grpc/split,update,host-rewrite | +| Contour | v1.26.0 | httpoption,basics/http2,grpc,grpc/split,update | diff --git a/hack/test-env.sh b/hack/test-env.sh index dfe38225e..f33cca888 100755 --- a/hack/test-env.sh +++ b/hack/test-env.sh @@ -17,5 +17,5 @@ export GATEWAY_API_VERSION="v0.8.1" export ISTIO_VERSION="1.19.0" export ISTIO_UNSUPPORTED_E2E_TESTS="retry,httpoption" -export CONTOUR_VERSION="v1.24.0" -export CONTOUR_UNSUPPORTED_E2E_TESTS="httpoption,basics/http2,websocket,websocket/split,grpc,grpc/split,update,host-rewrite" +export CONTOUR_VERSION="v1.26.0" +export CONTOUR_UNSUPPORTED_E2E_TESTS="httpoption,basics/http2,grpc,grpc/split,update" diff --git a/test/e2e-common.sh b/test/e2e-common.sh index f699c92ce..18450d4b1 100755 --- a/test/e2e-common.sh +++ b/test/e2e-common.sh @@ -37,7 +37,7 @@ function parse_flags() { ;; --contour) readonly INGRESS=contour - readonly GATEWAY_OVERRIDE=envoy + readonly GATEWAY_OVERRIDE=envoy-knative-gateway readonly GATEWAY_NAMESPACE_OVERRIDE=contour-external readonly UNSUPPORTED_E2E_TESTS="${CONTOUR_UNSUPPORTED_E2E_TESTS}" return 1 @@ -100,7 +100,7 @@ function teardown_networking() { kubectl delete -f "${REPO_ROOT_DIR}/third_party/${INGRESS}" if [[ "$INGRESS" == "contour" ]]; then - kubectl delete -f "https://raw.githubusercontent.com/projectcontour/contour-operator/${CONTOUR_VERSION}/examples/operator/operator.yaml" + kubectl delete -f "https://raw.githubusercontent.com/projectcontour/contour/${CONTOUR_VERSION}/examples/render/contour-gateway-provisioner.yaml" else istioctl uninstall -y --purge kubectl delete namespace istio-system @@ -109,8 +109,9 @@ function teardown_networking() { function setup_contour() { # Version is selected is in $REPO_ROOT/hack/test-env.sh - kubectl apply -f "https://raw.githubusercontent.com/projectcontour/contour-operator/${CONTOUR_VERSION}/examples/operator/operator.yaml" && \ - kubectl wait deploy --for=condition=Available --timeout=60s -n "contour-operator" -l '!job-name' && \ + kubectl apply -f "https://raw.githubusercontent.com/projectcontour/contour/${CONTOUR_VERSION}/examples/render/contour-gateway-provisioner.yaml" && \ + kubectl wait deploy --for=condition=Available --timeout=60s -n projectcontour contour-gateway-provisioner && \ + kubectl wait deploy --for=condition=Available --timeout=60s -n gateway-system gateway-api-admission-server && \ kubectl apply -f "${REPO_ROOT_DIR}/third_party/contour" local ret=$? diff --git a/third_party/contour/config-gateway.yaml b/third_party/contour/config-gateway.yaml index d4d72e710..415bfc5f4 100644 --- a/third_party/contour/config-gateway.yaml +++ b/third_party/contour/config-gateway.yaml @@ -24,8 +24,8 @@ data: ExternalIP: class: contour gateway: contour-external/knative-gateway - service: contour-external/envoy + service: contour-external/envoy-knative-gateway ClusterLocal: class: contour gateway: contour-internal/knative-local-gateway - service: contour-internal/envoy + service: contour-internal/envoy-knative-local-gateway diff --git a/third_party/contour/gateway-external.yaml b/third_party/contour/gateway-external.yaml index fc9fb9e72..4ed999543 100644 --- a/third_party/contour/gateway-external.yaml +++ b/third_party/contour/gateway-external.yaml @@ -15,30 +15,31 @@ apiVersion: v1 kind: Namespace metadata: - labels: - control-plane: contour-operator name: contour-external --- -apiVersion: operator.projectcontour.io/v1alpha1 -kind: Contour +kind: GatewayClass +apiVersion: gateway.networking.k8s.io/v1beta1 metadata: - name: contour-external - namespace: contour-external + name: contour-external-gatewayclass spec: - gatewayControllerName: projectcontour.io/contour-external/contour - namespace: - name: contour-external - ingressClassName: contour-external - networkPublishing: - envoy: - type: LoadBalancerService + controllerName: projectcontour.io/gateway-controller + parametersRef: + kind: ContourDeployment + group: projectcontour.io + name: contour-external-gatewayclass + namespace: contour-external --- -kind: GatewayClass -apiVersion: gateway.networking.k8s.io/v1beta1 +kind: ContourDeployment +apiVersion: projectcontour.io/v1alpha1 metadata: name: contour-external-gatewayclass + namespace: contour-external spec: - controllerName: projectcontour.io/contour-external/contour + runtimeSettings: + enableExternalNameService: true + contour: + deployment: + replicas: 1 --- kind: Gateway apiVersion: gateway.networking.k8s.io/v1beta1 @@ -48,7 +49,7 @@ metadata: spec: gatewayClassName: contour-external-gatewayclass listeners: - - name: default + - name: http port: 80 protocol: HTTP allowedRoutes: diff --git a/third_party/contour/gateway-internal.yaml b/third_party/contour/gateway-internal.yaml index b0a7e44c5..eb46d527e 100644 --- a/third_party/contour/gateway-internal.yaml +++ b/third_party/contour/gateway-internal.yaml @@ -15,35 +15,34 @@ apiVersion: v1 kind: Namespace metadata: - labels: - control-plane: contour-operator name: contour-internal --- -apiVersion: operator.projectcontour.io/v1alpha1 -kind: Contour +kind: GatewayClass +apiVersion: gateway.networking.k8s.io/v1beta1 metadata: - name: contour-internal - namespace: contour-internal + name: contour-internal-gatewayclass spec: - gatewayControllerName: projectcontour.io/contour-internal/contour - namespace: - name: contour-internal - ingressClassName: contour-internal - networkPublishing: - envoy: - containerPorts: - - name: http - portNumber: 8081 - - name: https - portNumber: 8443 - type: ClusterIPService + controllerName: projectcontour.io/gateway-controller + parametersRef: + kind: ContourDeployment + group: projectcontour.io + name: contour-internal-gatewayclass + namespace: contour-internal --- -kind: GatewayClass -apiVersion: gateway.networking.k8s.io/v1beta1 +kind: ContourDeployment +apiVersion: projectcontour.io/v1alpha1 metadata: name: contour-internal-gatewayclass + namespace: contour-internal spec: - controllerName: projectcontour.io/contour-internal/contour + runtimeSettings: + enableExternalNameService: true + envoy: + networkPublishing: + type: ClusterIPService + contour: + deployment: + replicas: 1 --- kind: Gateway apiVersion: gateway.networking.k8s.io/v1beta1 @@ -53,7 +52,7 @@ metadata: spec: gatewayClassName: contour-internal-gatewayclass listeners: - - name: default + - name: http port: 80 protocol: HTTP allowedRoutes: