├── .codespell.ignorewords ├── .codespell.skip ├── .dockerignore ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── decision.md │ ├── feature-enhancement-request.md │ └── question.md ├── PULL_REQUEST_TEMPLATE │ └── pull_request_template.md ├── dependabot.yml ├── reviewers.yaml └── workflows │ ├── build_daily.yaml │ ├── build_main.yaml │ ├── build_tag.yaml │ ├── codeql-analysis.yml │ ├── label_check.yaml │ ├── openssf-scorecard.yaml │ ├── prbuild.yaml │ ├── request-reviews.yaml │ ├── stale.yaml │ ├── trivy-scan.yaml │ └── welcome-new-contributors.yaml ├── .gitignore ├── .golangci.yml ├── .mockery.yaml ├── .yamllint ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Contour_Security_Audit_Dec2020.pdf ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── RELEASES.md ├── SECURITY.md ├── SITE_CONTRIBUTION.md ├── apis └── projectcontour │ ├── doc.go │ ├── v1 │ ├── detailedconditions.go │ ├── doc.go │ ├── helpers.go │ ├── helpers_test.go │ ├── httpproxy.go │ ├── register.go │ ├── tlscertificatedelegation.go │ └── zz_generated.deepcopy.go │ └── v1alpha1 │ ├── accesslog.go │ ├── accesslog_test.go │ ├── ciphersuites.go │ ├── compression.go │ ├── compression_test.go │ ├── contourconfig.go │ ├── contourconfig_helpers.go │ ├── contourconfig_helpers_test.go │ ├── contourdeployment.go │ ├── doc.go │ ├── extensionservice.go │ ├── extensionservice_helpers.go │ ├── register.go │ └── zz_generated.deepcopy.go ├── certs ├── cert-contour.ext └── cert-envoy.ext ├── changelogs ├── CHANGELOG-v1.10.0.md ├── CHANGELOG-v1.10.1.md ├── CHANGELOG-v1.11.0.md ├── CHANGELOG-v1.12.0.md ├── CHANGELOG-v1.13.0.md ├── CHANGELOG-v1.13.1.md ├── CHANGELOG-v1.14.0.md ├── CHANGELOG-v1.14.1.md ├── CHANGELOG-v1.14.2.md ├── CHANGELOG-v1.15.0.md ├── CHANGELOG-v1.15.1.md ├── CHANGELOG-v1.15.2.md ├── CHANGELOG-v1.16.0.md ├── CHANGELOG-v1.16.1.md ├── CHANGELOG-v1.17.0.md ├── CHANGELOG-v1.17.1.md ├── CHANGELOG-v1.17.2.md ├── CHANGELOG-v1.18.0.md ├── CHANGELOG-v1.18.1.md ├── CHANGELOG-v1.18.2.md ├── CHANGELOG-v1.19.0.md ├── CHANGELOG-v1.20.0.md ├── CHANGELOG-v1.20.1.md ├── CHANGELOG-v1.20.2.md ├── CHANGELOG-v1.21.0.md ├── CHANGELOG-v1.21.1.md ├── CHANGELOG-v1.21.2.md ├── CHANGELOG-v1.21.3.md ├── CHANGELOG-v1.22.0.md ├── CHANGELOG-v1.22.1.md ├── CHANGELOG-v1.22.2.md ├── CHANGELOG-v1.22.3.md ├── CHANGELOG-v1.22.4.md ├── CHANGELOG-v1.22.5.md ├── CHANGELOG-v1.22.6.md ├── CHANGELOG-v1.23.0.md ├── CHANGELOG-v1.23.1.md ├── CHANGELOG-v1.23.2.md ├── CHANGELOG-v1.23.3.md ├── CHANGELOG-v1.23.4.md ├── CHANGELOG-v1.23.5.md ├── CHANGELOG-v1.23.6.md ├── CHANGELOG-v1.24.0.md ├── CHANGELOG-v1.24.1.md ├── CHANGELOG-v1.24.2.md ├── CHANGELOG-v1.24.3.md ├── CHANGELOG-v1.24.4.md ├── CHANGELOG-v1.24.5.md ├── CHANGELOG-v1.24.6.md ├── CHANGELOG-v1.25.0.md ├── CHANGELOG-v1.25.1.md ├── CHANGELOG-v1.25.2.md ├── CHANGELOG-v1.25.3.md ├── CHANGELOG-v1.26.0.md ├── CHANGELOG-v1.26.1.md ├── CHANGELOG-v1.26.2.md ├── CHANGELOG-v1.26.3.md ├── CHANGELOG-v1.27.0.md ├── CHANGELOG-v1.27.1.md ├── CHANGELOG-v1.27.2.md ├── CHANGELOG-v1.27.3.md ├── CHANGELOG-v1.27.4.md ├── CHANGELOG-v1.28.0.md ├── CHANGELOG-v1.28.1.md ├── CHANGELOG-v1.28.2.md ├── CHANGELOG-v1.28.3.md ├── CHANGELOG-v1.28.4.md ├── CHANGELOG-v1.28.5.md ├── CHANGELOG-v1.28.6.md ├── CHANGELOG-v1.28.7.md ├── CHANGELOG-v1.28.8.md ├── CHANGELOG-v1.29.0.md ├── CHANGELOG-v1.29.1.md ├── CHANGELOG-v1.29.2.md ├── CHANGELOG-v1.29.3.md ├── CHANGELOG-v1.29.4.md ├── CHANGELOG-v1.29.5.md ├── CHANGELOG-v1.30.0.md ├── CHANGELOG-v1.30.1.md ├── CHANGELOG-v1.30.2.md ├── CHANGELOG-v1.30.3.md ├── CHANGELOG-v1.30.4.md ├── CHANGELOG-v1.31.0.md ├── CHANGELOG-v1.31.1.md ├── CHANGELOG-v1.32.0.md ├── CHANGELOG-v1.9.0.md └── unreleased │ ├── deprecation-sample.md │ ├── docs-sample.md │ ├── infra-sample.md │ ├── major-sample.md │ ├── minor-sample.md │ └── small-sample.md ├── cmd └── contour │ ├── bootstrap.go │ ├── certgen.go │ ├── certgen_test.go │ ├── cli.go │ ├── contour.go │ ├── contour_test.go │ ├── gatewayprovisioner.go │ ├── gcp.go │ ├── ingressstatus.go │ ├── ingressstatus_test.go │ ├── oidc.go │ ├── serve.go │ ├── serve_test.go │ ├── servecontext.go │ ├── servecontext_test.go │ ├── shutdownmanager.go │ └── shutdownmanager_test.go ├── codecov.yaml ├── contour.png ├── design ├── api-design.md ├── automated-provisioning-design.md ├── changelog.md ├── configuration-crd.md ├── cookie-rewrite-design.md ├── cors-configuration.md ├── custom-request-timeout.md ├── default-global-rate-limit-policy.md ├── delegation.md ├── design-document-tmpl.md ├── downstream-crl-design.md ├── endpoint-slice-support.md ├── envoy-json-logging-custom-fields-design.md ├── envoy-json-logging.md ├── envoy-shutdown.md ├── external-authorization-design.md ├── external-names.md ├── fallbackcert.md ├── gateway-apis-implementation.md ├── global-external-authorization-design.md ├── httpproxy-conflict.md ├── httpproxy-header-rewrite.md ├── httpproxy-prefix-rewrite.md ├── httpproxy-protocol-selection.md ├── httpproxy-status-conditions.md ├── images │ ├── gatewayapi-contour-overview.jpg │ ├── gatewayapi-external-gateway.jpg │ ├── gatewayapi-provisioner-overview.png │ ├── gatewayapi-resource-relationships.png │ └── ingressroute-delegation.png ├── ingress-status-loadbalancer.md ├── ingressroute-design.md ├── internal-redirect_design.md ├── ip-filtering-design.md ├── jwt-verification-design.md ├── listener-design.md ├── loadbalancer-hash-policy-design.md ├── multiple-listeners-design.md ├── quarterly-release.md ├── ratelimit-design.md ├── retryon-design.md ├── routing-design.md ├── sds-design.md ├── secure-communication.md ├── session-affinity.md ├── tls-backend-client-authentication.md ├── tls-backend-verification.md ├── tls-certificate-delegation.md ├── tls-client-verification.md └── tracing-design.md ├── docs └── README.md ├── examples ├── README.md ├── contour │ ├── 00-common.yaml │ ├── 01-contour-config.yaml │ ├── 01-crds.yaml │ ├── 02-job-certgen.yaml │ ├── 02-rbac.yaml │ ├── 02-role-contour.yaml │ ├── 02-service-contour.yaml │ ├── 02-service-envoy.yaml │ ├── 03-contour.yaml │ ├── 03-envoy.yaml │ └── README.md ├── deployment │ └── 03-envoy-deployment.yaml ├── example-workload │ ├── gatewayapi │ │ ├── README.md │ │ ├── blue-green │ │ │ └── blue-green.yaml │ │ └── kuard │ │ │ └── kuard.yaml │ └── httpproxy │ │ ├── 00-common │ │ ├── 00-namespaces.yaml │ │ ├── 01-services.yaml │ │ └── 02-deployments.yaml │ │ ├── 01-ingress-to-httpproxy │ │ ├── basic-httpproxy.yaml │ │ ├── httpproxy-name.yaml │ │ └── httpproxy-tls.yaml │ │ ├── 02-tls-options │ │ ├── httpproxy-tls-cert-delegation.yaml │ │ └── httpproxy-tls-upstream.yaml │ │ ├── 03-routes │ │ ├── httpproxy-externalname.yaml │ │ ├── httpproxy-header-rewrite.yaml │ │ ├── httpproxy-health-checks.yaml │ │ ├── httpproxy-lb-request-hash.yaml │ │ ├── httpproxy-lb-strategy.yaml │ │ ├── httpproxy-multiple-headers.yaml │ │ ├── httpproxy-multiple-paths.yaml │ │ ├── httpproxy-multiple-upstreams.yaml │ │ ├── httpproxy-response-timeout.yaml │ │ ├── httpproxy-sticky-sessions.yaml │ │ ├── httpproxy-tls-permitinsecure.yaml │ │ ├── httpproxy-websockets.yaml │ │ └── httpproxy-weight-shfiting.yaml │ │ ├── 04-inclusion │ │ ├── httpproxy-inclusion-across-namespaces.yaml │ │ ├── httpproxy-inclusion-mutipleroots.yaml │ │ └── httpproxy-inclusion-samenamespace.yaml │ │ ├── 05-tcp-proxy │ │ ├── httpproxy-tls-passthrough.yaml │ │ └── httpproxy-tls-termination.yaml │ │ └── README.md ├── gatekeeper │ ├── 01-sync-config.yml │ ├── README.md │ ├── policies │ │ ├── 01-template-disable-skip-verify-downstream-tls.yaml │ │ ├── 01-template-retry-count-range.yml │ │ ├── 01-template-timeout-range.yml │ │ ├── 02-constraint-disable-skip-verify-downstream-tls.yaml │ │ ├── 02-constraint-idle-timeout-range.yml │ │ ├── 02-constraint-response-timeout-range.yml │ │ └── 02-constraint-retry-count-range.yml │ └── validations │ │ ├── 01-template-non-empty.yml │ │ ├── 01-template-unique-fqdn.yml │ │ ├── 02-constraint-non-empty.yml │ │ └── 02-constraint-unique-fqdn.yml ├── gateway-provisioner │ ├── 00-common.yaml │ ├── 01-roles.yaml │ ├── 02-rolebindings.yaml │ └── 03-gateway-provisioner.yaml ├── gateway │ ├── 00-crds.yaml │ ├── 01-gatewayclass.yaml │ ├── 02-gateway.yaml │ └── 03-contour-config.yaml ├── global-external-auth │ ├── 01-authserver.yaml │ ├── 02-globalextauth-extsvc.yaml │ └── 03-contour-config.yaml ├── grafana │ ├── dashboards.yaml │ ├── deployment-patch.json │ └── httpproxy.yaml ├── kind │ └── kind-expose-port.yaml ├── namespaced │ └── kustomization.yaml ├── optional-features │ └── kustomization.yaml ├── prometheus │ ├── httpproxy.yaml │ ├── podmonitors.yaml │ └── rbac.yaml ├── ratelimit │ ├── 01-ratelimit-config.yaml │ ├── 02-ratelimit.yaml │ ├── 03-ratelimit-extsvc.yaml │ ├── 04-contour-config.yaml │ └── 04-default-global-ratelimit-contour-config.yaml ├── render │ ├── contour-deployment.yaml │ ├── contour-gateway-provisioner.yaml │ ├── contour-gateway.yaml │ ├── contour.yaml │ └── kustomization.yaml ├── root-rbac │ └── rbac.yaml └── tracing │ ├── 01-opentelemetry-collector.yaml │ ├── 02-opentelemetry-extsvc.yaml │ └── 03-contour-config.yaml ├── go.mod ├── go.sum ├── hack ├── actions │ ├── build-and-push-release-images.sh │ ├── check-changefile-exists.go │ ├── check-uncommitted-codegen.sh │ └── install-kubernetes-toolchain.sh ├── api-docs-config │ └── refdocs │ │ ├── config.json │ │ ├── members.tpl │ │ ├── pkg.tpl │ │ └── type.tpl ├── codespell.sh ├── generate-api-docs.sh ├── generate-crd-deepcopy.sh ├── generate-crd-yaml.sh ├── generate-deployment.sh ├── generate-gateway-deployment.sh ├── generate-gateway-yaml.sh ├── generate-metrics-doc.go ├── generate-provisioner-deployment.sh ├── generate-rbac.sh ├── golangci-lint ├── kind-dev-cluster.sh ├── license-template.txt ├── release │ ├── make-release-tag.sh │ ├── prepare-release.go │ └── release-notes-template.md ├── site-proofing │ └── cibuild └── yamllint ├── internal ├── annotation │ ├── annotations.go │ └── annotations_test.go ├── build │ └── version.go ├── certgen │ ├── certgen.go │ ├── certgen_test.go │ └── output.go ├── contour │ ├── handler.go │ ├── handler_test.go │ ├── metrics.go │ ├── metrics_test.go │ └── observer.go ├── contourconfig │ ├── contourconfiguration.go │ └── contourconfiguration_test.go ├── dag │ ├── accessors.go │ ├── accessors_test.go │ ├── builder.go │ ├── builder_test.go │ ├── cache.go │ ├── cache_test.go │ ├── conditions.go │ ├── conditions_test.go │ ├── dag.go │ ├── dag_test.go │ ├── extension_processor.go │ ├── gatewayapi_processor.go │ ├── gatewayapi_processor_test.go │ ├── httpproxy_processor.go │ ├── httpproxy_processor_test.go │ ├── ingress_processor.go │ ├── ingress_processor_test.go │ ├── listener_processor.go │ ├── policy.go │ ├── policy_test.go │ ├── secret.go │ ├── secret_test.go │ ├── status.go │ └── status_test.go ├── debug │ ├── debug.go │ ├── debug_test.go │ ├── dot.go │ ├── dot_test.go │ └── mocks │ │ └── dag_builder.go ├── envoy │ ├── bootstrap.go │ ├── bootstrap_test.go │ ├── cluster.go │ ├── cluster_test.go │ ├── healthcheck.go │ ├── route.go │ ├── secret.go │ ├── socket_options.go │ └── v3 │ │ ├── accesslog.go │ │ ├── accesslog_test.go │ │ ├── auth.go │ │ ├── auth_test.go │ │ ├── bootstrap.go │ │ ├── bootstrap_test.go │ │ ├── cluster.go │ │ ├── cluster_test.go │ │ ├── config_gen.go │ │ ├── endpoint.go │ │ ├── endpoint_test.go │ │ ├── healthcheck.go │ │ ├── healthcheck_test.go │ │ ├── listener.go │ │ ├── listener_test.go │ │ ├── ratelimit.go │ │ ├── ratelimit_test.go │ │ ├── regex.go │ │ ├── regex_test.go │ │ ├── route.go │ │ ├── route_test.go │ │ ├── runtime.go │ │ ├── runtime_test.go │ │ ├── secret.go │ │ ├── secret_test.go │ │ ├── socket.go │ │ ├── socket_options.go │ │ ├── socket_options_test.go │ │ ├── socket_test.go │ │ ├── stats.go │ │ ├── stats_test.go │ │ ├── tls.go │ │ ├── tracing.go │ │ └── tracing_test.go ├── featuretests │ ├── kubernetes.go │ └── v3 │ │ ├── authorization_test.go │ │ ├── backendcavalidation_test.go │ │ ├── backendclientauth_test.go │ │ ├── cluster_test.go │ │ ├── compression_test.go │ │ ├── corspolicy_test.go │ │ ├── directresponsepolicy_test.go │ │ ├── downstreamvalidation_test.go │ │ ├── endpoints_test.go │ │ ├── envoy.go │ │ ├── extensionservice_test.go │ │ ├── externalname_test.go │ │ ├── fallbackcert_test.go │ │ ├── featuretests.go │ │ ├── global_authorization_test.go │ │ ├── globalratelimit_test.go │ │ ├── headercondition_test.go │ │ ├── headerpolicy_test.go │ │ ├── httpproxy.go │ │ ├── httproute_test.go │ │ ├── ingressclass_test.go │ │ ├── internalredirectpolicy_test.go │ │ ├── ipfilter_test.go │ │ ├── jwtverification_test.go │ │ ├── listeners_test.go │ │ ├── loadbalancerpolicy_test.go │ │ ├── localratelimit_test.go │ │ ├── mirrorpolicy_test.go │ │ ├── queryparametercondition_test.go │ │ ├── redirectroutepolicy_test.go │ │ ├── replaceprefix_test.go │ │ ├── retrypolicy_test.go │ │ ├── rootnamespaces_test.go │ │ ├── route_test.go │ │ ├── routesourcemetadata_test.go │ │ ├── routeweight_test.go │ │ ├── secrets_test.go │ │ ├── tcpproxy_test.go │ │ ├── tcproute_test.go │ │ ├── timeoutpolicy_test.go │ │ ├── timeouts_test.go │ │ ├── tlscertificatedelegation_test.go │ │ ├── tlsprotocolversion_test.go │ │ ├── tlsroute_test.go │ │ ├── tracing_test.go │ │ ├── upstreamprotocol_test.go │ │ ├── upstreamtls_test.go │ │ ├── websockets_test.go │ │ └── wildcardhost_test.go ├── fixture │ ├── certificate_constants.go │ ├── detailedcondition.go │ ├── httpproxy.go │ ├── log.go │ ├── meta.go │ ├── secret_fixtures.go │ ├── service.go │ └── service_fixtures.go ├── gatewayapi │ ├── helpers.go │ ├── listeners.go │ └── listeners_test.go ├── health │ └── health.go ├── httpsvc │ ├── http.go │ ├── http_test.go │ └── testdata │ │ ├── ca.pem │ │ ├── client-key.pem │ │ ├── client.pem │ │ ├── server-key.pem │ │ └── server.pem ├── ingressclass │ ├── ingressclass.go │ └── ingressclass_test.go ├── k8s │ ├── clients.go │ ├── filter.go │ ├── filter_test.go │ ├── helpers.go │ ├── helpers_test.go │ ├── kind.go │ ├── kind_test.go │ ├── log.go │ ├── log_test.go │ ├── mocks │ │ ├── cache.go │ │ └── status_metrics.go │ ├── objectmeta.go │ ├── objectmeta_test.go │ ├── rbac.go │ ├── scheme.go │ ├── status.go │ ├── status_test.go │ ├── statusaddress.go │ ├── statusaddress_test.go │ ├── statuscache.go │ └── testdata │ │ ├── configmap-content-change.yaml │ │ ├── configmap-metadata-change.yaml │ │ ├── httpproxy-annotation-change.yaml │ │ ├── ingress-annotation-change.yaml │ │ ├── namespace-label-change.yaml │ │ ├── secret-content-change.yaml │ │ ├── secret-metadata-change.yaml │ │ ├── service-annotation-change.yaml │ │ └── service-status-change.yaml ├── leadership │ ├── mocks │ │ └── need_leader_election_notification.go │ ├── notifier.go │ └── notifier_test.go ├── metrics │ ├── metrics.go │ └── metrics_test.go ├── protobuf │ ├── helpers.go │ ├── helpers_test.go │ └── testhelpers.go ├── provisioner │ ├── controller │ │ ├── gateway.go │ │ ├── gateway_test.go │ │ ├── gatewayclass.go │ │ └── gatewayclass_test.go │ ├── equality │ │ ├── equality.go │ │ └── equality_test.go │ ├── labels │ │ ├── labels.go │ │ └── labels_test.go │ ├── model │ │ ├── model.go │ │ ├── model_test.go │ │ └── names.go │ ├── objects │ │ ├── contourconfig │ │ │ ├── contourconfig.go │ │ │ └── contourconfig_test.go │ │ ├── dataplane │ │ │ ├── dataplane.go │ │ │ └── dataplane_test.go │ │ ├── deployment │ │ │ ├── deployment.go │ │ │ └── deployment_test.go │ │ ├── object.go │ │ ├── object_test.go │ │ ├── rbac │ │ │ ├── clusterrole │ │ │ │ ├── cluster_role.go │ │ │ │ └── cluster_role_test.go │ │ │ ├── clusterrolebinding │ │ │ │ ├── cluster_role_binding.go │ │ │ │ └── cluster_role_binding_test.go │ │ │ ├── rbac.go │ │ │ ├── role │ │ │ │ ├── role.go │ │ │ │ └── role_test.go │ │ │ ├── rolebinding │ │ │ │ ├── role_binding.go │ │ │ │ └── role_binding_test.go │ │ │ ├── serviceaccount │ │ │ │ └── service_account.go │ │ │ └── util │ │ │ │ ├── util.go │ │ │ │ └── util_test.go │ │ ├── secret │ │ │ └── secret.go │ │ └── service │ │ │ ├── service.go │ │ │ └── service_test.go │ ├── rbac │ │ └── rbac.go │ ├── retryableerror │ │ ├── retryableerror.go │ │ └── retryableerror_test.go │ ├── scheme.go │ └── slice │ │ └── slice.go ├── sorter │ ├── sorter.go │ └── sorter_test.go ├── status │ ├── backendtlspolicyconditions.go │ ├── backendtlspolicyconditions_test.go │ ├── cache.go │ ├── cache_test.go │ ├── extensionstatus.go │ ├── gatewayclass.go │ ├── gatewayclassconditions.go │ ├── gatewayclassconditions_test.go │ ├── gatewaystatus.go │ ├── gatewaystatus_test.go │ ├── proxystatus.go │ ├── proxystatus_test.go │ ├── routeconditions.go │ └── routeconditions_test.go ├── timeout │ ├── timeout.go │ ├── timeout_test.go │ └── validation_test.go ├── xds │ ├── resource.go │ ├── server.go │ ├── util.go │ └── v3 │ │ ├── callbacks.go │ │ ├── callbacks_test.go │ │ ├── hash.go │ │ └── server.go └── xdscache │ ├── resources.go │ └── v3 │ ├── cluster.go │ ├── cluster_test.go │ ├── contour_test.go │ ├── endpointslicetranslator.go │ ├── endpointslicetranslator_test.go │ ├── listener.go │ ├── listener_test.go │ ├── route.go │ ├── route_test.go │ ├── runtime.go │ ├── runtime_test.go │ ├── secret.go │ ├── secret_test.go │ └── snapshot.go ├── netlify.toml ├── pkg ├── certs │ ├── certgen.go │ └── certgen_test.go └── config │ ├── accesslog.go │ ├── ciphersuites.go │ ├── parameters.go │ └── parameters_test.go ├── site ├── .gitignore ├── .hugo_build.lock ├── README.md ├── archetypes │ └── default.md ├── config.yaml ├── content │ ├── about.md │ ├── community │ │ └── _index.html │ ├── docs │ │ ├── 1.20 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.21 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.22 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.23 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ ├── resource-limits.md │ │ │ │ └── structured-logs.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.24 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ ├── resource-limits.md │ │ │ │ └── structured-logs.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.25 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ ├── resource-limits.md │ │ │ │ └── structured-logs.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.26 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.27 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.28 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.29 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.30 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.31 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── 1.32 │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── _index.md │ │ ├── main │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── ip-filtering.md │ │ │ │ ├── jwt-verification.md │ │ │ │ ├── overload-manager.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── slow-start.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── tracing.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── guides │ │ │ │ ├── _index.md │ │ │ │ ├── cert-manager.md │ │ │ │ ├── deploy-aws-nlb.md │ │ │ │ ├── deploy-aws-tls-nlb.md │ │ │ │ ├── external-authorization.md │ │ │ │ ├── fips.md │ │ │ │ ├── gatekeeper.md │ │ │ │ ├── gateway-api.md │ │ │ │ ├── global-rate-limiting.md │ │ │ │ ├── grpc.md │ │ │ │ ├── health-checking.md │ │ │ │ ├── kind.md │ │ │ │ ├── metrics │ │ │ │ │ └── table.md │ │ │ │ ├── prometheus.md │ │ │ │ ├── proxy-proto.md │ │ │ │ └── resource-limits.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── common-proxy-errors.md │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-container-draining.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.0.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── ingressroute.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.0.1 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── ingressroute.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.1.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── ingressroute.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.10.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.10.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.11.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.12.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.13.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.13.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.14.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.14.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.14.2 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.15.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.15.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.15.2 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.16.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.16.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.17.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.17.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.17.2 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.18.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.18.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.18.2 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.18.3 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.19.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.19.1 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── architecture.md │ │ │ ├── config │ │ │ │ ├── access-logging.md │ │ │ │ ├── annotations.md │ │ │ │ ├── api-reference.html │ │ │ │ ├── api.md │ │ │ │ ├── client-authorization.md │ │ │ │ ├── cookie-rewriting.md │ │ │ │ ├── cors.md │ │ │ │ ├── external-service-routing.md │ │ │ │ ├── fundamentals.md │ │ │ │ ├── health-checks.md │ │ │ │ ├── inclusion-delegation.md │ │ │ │ ├── ingress.md │ │ │ │ ├── rate-limiting.md │ │ │ │ ├── request-rewriting.md │ │ │ │ ├── request-routing.md │ │ │ │ ├── tls-delegation.md │ │ │ │ ├── tls-termination.md │ │ │ │ ├── upstream-tls.md │ │ │ │ ├── virtual-hosts.md │ │ │ │ └── websockets.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ ├── shutdownmanager.png │ │ │ │ └── source │ │ │ │ │ └── shutdownmanager.drawio │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting │ │ │ │ ├── contour-debug-log.md │ │ │ │ ├── contour-graph.md │ │ │ │ ├── contour-xds-resources.md │ │ │ │ ├── envoy-admin-interface.md │ │ │ │ ├── envoy-debug-log.md │ │ │ │ ├── operator.md │ │ │ │ └── profiling-contour.md │ │ ├── v1.2.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.2.1 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.3.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.4.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.5.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.5.1 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.6.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.6.1 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── ingressroute.md │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.7.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.8.0 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.8.1 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ ├── v1.8.2 │ │ │ ├── README.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ │ ├── archoverview.png │ │ │ │ ├── contour_deployment_in_k8s.png │ │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ │ └── v1.9.0 │ │ │ ├── README.md │ │ │ ├── _index.md │ │ │ ├── annotations.md │ │ │ ├── api-reference.html │ │ │ ├── api.md │ │ │ ├── architecture.md │ │ │ ├── configuration.md │ │ │ ├── deploy-options.md │ │ │ ├── github.md │ │ │ ├── grpc-tls-howto.md │ │ │ ├── httpproxy.md │ │ │ ├── img │ │ │ ├── archoverview.png │ │ │ ├── contour_deployment_in_k8s.png │ │ │ └── shutdownmanager.png │ │ │ ├── redeploy-envoy.md │ │ │ ├── start-contributing.md │ │ │ └── troubleshooting.md │ ├── examples │ │ ├── authdemo │ │ │ ├── 01-prereq.yaml │ │ │ ├── 02-auth-deployment.yaml │ │ │ ├── 02-certsjob.yaml │ │ │ ├── 03-secret.yaml │ │ │ ├── 04-extensionservice.yaml │ │ │ ├── 04-sampleapp.yaml │ │ │ ├── 05-proxy.yaml │ │ │ └── 06-proxy-auth.yaml │ │ ├── httpbin.yaml │ │ ├── kuard-httpproxy.yaml │ │ ├── kuard.yaml │ │ └── proxydemo │ │ │ ├── 01-prereq.yaml │ │ │ ├── 02-proxy-basic.yaml │ │ │ ├── 03-proxy-conditions.yaml │ │ │ ├── 04-marketing-prereq.yaml │ │ │ ├── 04-proxy-include-basic.yaml │ │ │ ├── 05-proxy-include-info.yaml │ │ │ └── 06-proxy-include-headers.yaml │ ├── getting-started │ │ └── _index.md │ └── resources │ │ ├── _index.html │ │ ├── adopters.md │ │ ├── compatibility-matrix.md │ │ ├── contributing-docs.md │ │ ├── deprecation-policy.md │ │ ├── ecosystem.md │ │ ├── faq.md │ │ ├── how-we-work.md │ │ ├── philosophy.md │ │ ├── release-process.md │ │ ├── security-checklist.md │ │ ├── security-process.md │ │ ├── security-threat-model.md │ │ ├── support.md │ │ ├── tagging.md │ │ └── upgrading.md ├── data │ └── docs │ │ ├── 1-20-toc.yml │ │ ├── 1-21-toc.yml │ │ ├── 1-22-toc.yml │ │ ├── 1-23-toc.yml │ │ ├── 1-24-toc.yml │ │ ├── 1-25-toc.yml │ │ ├── 1-26-toc.yml │ │ ├── 1-27-toc.yml │ │ ├── 1-28-toc.yml │ │ ├── 1-29-toc.yml │ │ ├── 1-30-toc.yml │ │ ├── 1-31-toc.yml │ │ ├── 1-32-toc.yml │ │ ├── main-toc.yml │ │ ├── toc-mapping.yml │ │ ├── v1-0-0-toc.yml │ │ ├── v1-0-1-toc.yml │ │ ├── v1-1-0-toc.yml │ │ ├── v1-10-0-toc.yml │ │ ├── v1-10-1-toc.yml │ │ ├── v1-11-0-toc.yml │ │ ├── v1-12-0-toc.yml │ │ ├── v1-13-0-toc.yml │ │ ├── v1-13-1-toc.yml │ │ ├── v1-14-0-toc.yml │ │ ├── v1-14-1-toc.yml │ │ ├── v1-14-2-toc.yml │ │ ├── v1-15-0-toc.yml │ │ ├── v1-15-1-toc.yml │ │ ├── v1-15-2-toc.yml │ │ ├── v1-16-0-toc.yml │ │ ├── v1-16-1-toc.yml │ │ ├── v1-17-0-toc.yml │ │ ├── v1-17-1-toc.yml │ │ ├── v1-17-2-toc.yml │ │ ├── v1-18-0-toc.yml │ │ ├── v1-18-1-toc.yml │ │ ├── v1-18-2-toc.yml │ │ ├── v1-18-3-toc.yml │ │ ├── v1-19-0-toc.yml │ │ ├── v1-19-1-toc.yml │ │ ├── v1-2-0-toc.yml │ │ ├── v1-2-1-toc.yml │ │ ├── v1-3-0-toc.yml │ │ ├── v1-4-0-toc.yml │ │ ├── v1-5-0-toc.yml │ │ ├── v1-5-1-toc.yml │ │ ├── v1-6-0-toc.yml │ │ ├── v1-6-1-toc.yml │ │ ├── v1-7-0-toc.yml │ │ ├── v1-8-0-toc.yml │ │ ├── v1-8-1-toc.yml │ │ ├── v1-8-2-toc.yml │ │ └── v1-9-0-toc.yml ├── resources │ └── _gen │ │ └── assets │ │ └── scss │ │ └── scss │ │ └── site.scss_8967e03afb92eb0cac064520bf021ba2.json └── themes │ └── contour │ ├── archetypes │ └── default.md │ ├── assets │ └── scss │ │ ├── _base.scss │ │ ├── _components.scss │ │ ├── _footer.scss │ │ ├── _header.scss │ │ ├── _mixins.scss │ │ ├── _variables.scss │ │ └── site.scss │ ├── i18n │ └── en.yaml │ ├── layouts │ ├── _default │ │ ├── _markup │ │ │ ├── render-image.html │ │ │ └── render-link.html │ │ ├── baseof.html │ │ ├── docs.html │ │ ├── getting-started.html │ │ ├── guides.html │ │ ├── how-we-work.html │ │ ├── list.html │ │ ├── page.html │ │ ├── plugins.html │ │ ├── posts.html │ │ ├── search.html │ │ ├── section.html │ │ ├── single.html │ │ ├── summary.html │ │ ├── tag.html │ │ └── versions.html │ ├── index.html │ ├── index.redirects │ ├── partials │ │ ├── blog-highlights.html │ │ ├── blog-post-card.html │ │ ├── cloud-native.html │ │ ├── docs-right-bar.html │ │ ├── docs-sidebar.html │ │ ├── footer.html │ │ ├── getting-involved.html │ │ ├── getting-started.html │ │ ├── header.html │ │ ├── hero.html │ │ ├── homepage-grid.html │ │ ├── pagination.html │ │ ├── plugins.html │ │ ├── team.html │ │ └── use-cases.html │ └── shortcodes │ │ ├── api-reference.html │ │ ├── include-html.html │ │ ├── include.html │ │ ├── metrics-table.html │ │ └── notice.html │ └── static │ ├── fonts │ ├── Metropolis-Bold.eot │ ├── Metropolis-Bold.woff │ ├── Metropolis-Bold.woff2 │ ├── Metropolis-BoldItalic.eot │ ├── Metropolis-BoldItalic.woff │ ├── Metropolis-BoldItalic.woff2 │ ├── Metropolis-Light.eot │ ├── Metropolis-Light.woff │ ├── Metropolis-Light.woff2 │ ├── Metropolis-LightItalic.eot │ ├── Metropolis-LightItalic.woff │ ├── Metropolis-LightItalic.woff2 │ ├── Metropolis-Medium.eot │ ├── Metropolis-Medium.woff │ ├── Metropolis-Medium.woff2 │ ├── Metropolis-MediumItalic.eot │ ├── Metropolis-MediumItalic.woff │ ├── Metropolis-MediumItalic.woff2 │ ├── Metropolis-Regular.eot │ ├── Metropolis-Regular.woff │ ├── Metropolis-Regular.woff2 │ ├── Metropolis-RegularItalic.eot │ ├── Metropolis-RegularItalic.woff │ ├── Metropolis-RegularItalic.woff2 │ ├── Metropolis-SemiBold.eot │ ├── Metropolis-SemiBold.woff │ ├── Metropolis-SemiBold.woff2 │ ├── Metropolis-SemiBoldItalic.eot │ ├── Metropolis-SemiBoldItalic.woff │ ├── Metropolis-SemiBoldItalic.woff2 │ ├── Open Font License.md │ └── README.md │ ├── img │ ├── Contour.svg │ ├── administration.svg │ ├── adopters │ │ ├── VMware-logo-grey.jpg │ │ ├── bugfender.svg │ │ ├── daocloud.png │ │ ├── example.png │ │ ├── flyte.png │ │ ├── gojek.svg │ │ ├── knative.svg │ │ └── snappcloud.png │ ├── archoverview.png │ ├── arrow.svg │ ├── authentication.svg │ ├── aws-nlb-tls │ │ ├── acm-arn.png │ │ ├── fig.jpg │ │ └── record.png │ ├── blog-placeholder.png │ ├── calendar.svg │ ├── case-study-1.svg │ ├── cert-manager │ │ ├── httpbin.png │ │ └── httpbinhomepage.png │ ├── close.svg │ ├── cloud-native.png │ ├── cloud.svg │ ├── contour-1.0 │ │ ├── 10099903.png │ │ ├── 1040646.png │ │ ├── 2232214.png │ │ ├── 223340.png │ │ ├── 22750465.png │ │ ├── 9917.png │ │ └── contour-1.0-stats.png │ ├── contour-homepage.svg │ ├── contour_deployment_in_k8s.png │ ├── docs-placeholder.png │ ├── down-arrow.svg │ ├── dynamic-reconfig-icon.svg │ ├── favicon.ico │ ├── favicon.png │ ├── frictionless.svg │ ├── github-blue.svg │ ├── github-image.svg │ ├── github.svg │ ├── hamburger.svg │ ├── icon-dial.svg │ ├── icon-tree.svg │ ├── kuard-dag.png │ ├── kubernetes-logo.png │ ├── left-arrow.svg │ ├── posts │ │ ├── contour-1.2 │ │ │ └── envoy-shutdown-manager.png │ │ ├── contour_xdsv2v3.png │ │ ├── contourauth.png │ │ ├── image1.png │ │ ├── kind-contour-video.png │ │ ├── kind-contour.png │ │ ├── kind-contour2.png │ │ ├── kind-contour3.png │ │ ├── leader-election.png │ │ ├── multiarch.png │ │ ├── post-contour-split-deployment.png │ │ ├── post-sample-figure-1.png │ │ ├── proxyinaction.png │ │ └── sample.png │ ├── right-arrow.svg │ ├── rss.png │ ├── seamless.svg │ ├── search-icon.svg │ ├── secure-ingress-icon.svg │ ├── security.svg │ ├── shutdownmanager.png │ ├── simple.svg │ ├── slack.png │ ├── slack.svg │ ├── team-placeholder.png │ ├── twitter.png │ ├── twitter.svg │ ├── uml │ │ ├── client-auth-sequence-ext.png │ │ ├── client-auth-sequence-ext.uml │ │ ├── client-auth-sequence.png │ │ └── client-auth-sequence.uml │ └── vmware-logo.svg │ └── js │ └── main.js ├── test ├── conformance │ └── gatewayapi │ │ └── gateway_conformance_test.go ├── e2e │ ├── bench │ │ └── bench_test.go │ ├── bootstrap │ │ └── bootstrap_test.go │ ├── certs.go │ ├── deployment.go │ ├── fixtures.go │ ├── framework.go │ ├── gateway │ │ ├── backend_tls_policy_test.go │ │ ├── gateway_test.go │ │ ├── grpc_route_conflict_match_test.go │ │ ├── grpc_route_partially_conflict_match_test.go │ │ ├── host_rewrite_test.go │ │ ├── http_route_conflict_match_test.go │ │ ├── http_route_partially_conflict_match_test.go │ │ ├── multiple_https_listeners_test.go │ │ ├── query_param_match_test.go │ │ ├── request_header_modifier_test.go │ │ ├── request_redirect_test.go │ │ ├── response_header_modifier_test.go │ │ ├── tcproute_test.go │ │ ├── tls_gateway_test.go │ │ └── tls_wildcard_host_test.go │ ├── gatewayapi_predicates.go │ ├── http.go │ ├── httpproxy │ │ ├── backend_tls_protocol_version_test.go │ │ ├── backend_tls_test.go │ │ ├── cel_validation_test.go │ │ ├── client_cert_auth_test.go │ │ ├── client_cert_crl_test.go │ │ ├── cookie_rewrite_test.go │ │ ├── default_global_rate_limiting_test.go │ │ ├── direct_response_test.go │ │ ├── dynamic_headers_test.go │ │ ├── envoy_compression_test.go │ │ ├── exact_path_condition_match_test.go │ │ ├── external_auth_test.go │ │ ├── external_name_test.go │ │ ├── fqdn_test.go │ │ ├── global_external_auth_test.go │ │ ├── global_rate_limiting_test.go │ │ ├── grpc_test.go │ │ ├── header_condition_match_test.go │ │ ├── host_header_rewrite_test.go │ │ ├── http_health_checks_test.go │ │ ├── httpproxy_test.go │ │ ├── https_fallback_certificate_test.go │ │ ├── https_misdirected_request_test.go │ │ ├── https_sni_enforcement_test.go │ │ ├── include_exact_condition_test.go │ │ ├── include_prefix_condition_test.go │ │ ├── include_regex_path_condition_test.go │ │ ├── internal_redirect_test.go │ │ ├── ip_filtering_test.go │ │ ├── local_rate_limiting_test.go │ │ ├── merge_slash_test.go │ │ ├── multiple_ingress_classes_test.go │ │ ├── namespaces_test.go │ │ ├── path_condition_match_test.go │ │ ├── path_rewrite_test.go │ │ ├── pod_restart_test.go │ │ ├── query_parameter_condition_match_test.go │ │ ├── regex_path_condition_test.go │ │ ├── request_redirect_test.go │ │ ├── required_field_validation_test.go │ │ ├── retry_policy_validation_test.go │ │ └── tcproute_https_termination_test.go │ ├── incluster │ │ ├── incluster_test.go │ │ ├── leaderelection_test.go │ │ ├── memory_usage_test.go │ │ ├── rbac_test.go │ │ └── smoke_test.go │ ├── infra │ │ ├── admin_test.go │ │ ├── endpointslice_test.go │ │ ├── infra_test.go │ │ └── metrics_test.go │ ├── ingress │ │ ├── backend_tls_test.go │ │ ├── headers_policy_test.go │ │ ├── ingress_class_test.go │ │ ├── ingress_test.go │ │ ├── long_path_match_test.go │ │ └── tls_wildcard_host_test.go │ ├── kubectl.go │ ├── poller.go │ ├── provisioner.go │ ├── provisioner │ │ └── provisioner_test.go │ ├── upgrade │ │ └── upgrade_test.go │ └── waiter.go └── scripts │ ├── README.md │ ├── cleanup.sh │ ├── gcp-bench-cluster.sh │ ├── get-contour-upgrade-from-version.sh │ ├── install-contour-release.sh │ ├── install-contour-working.sh │ ├── install-provisioner-release.sh │ ├── install-provisioner-working.sh │ ├── kind-expose-port.yaml │ ├── kind-ipv6.yaml │ ├── kind-load-contour-image.sh │ ├── kind-multinode.yaml │ ├── make-kind-cluster.sh │ ├── run-gateway-conformance.sh │ └── run-ingress-conformance.sh ├── tools.go └── versions.yaml /.codespell.ignorewords: -------------------------------------------------------------------------------- 1 | keypair 2 | keypairs 3 | nd 4 | suh 5 | od 6 | als 7 | wit 8 | aks 9 | immediatedly 10 | te 11 | NotIn 12 | maxmimum 13 | -------------------------------------------------------------------------------- /.codespell.skip: -------------------------------------------------------------------------------- 1 | .git 2 | *.png 3 | *.woff 4 | *.woff2 5 | *.eot 6 | *.ttf 7 | *.jpg 8 | *.ico 9 | *.svg 10 | ./site/themes/contour/static/fonts/README.md 11 | ./vendor 12 | ./site/public 13 | ./hack/actions/check-changefile-exists.go 14 | go.mod 15 | go.sum 16 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | /.git 2 | /vendor 3 | /hack 4 | /contour 5 | *.test 6 | /site 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # This file is documented at https://git-scm.com/docs/gitattributes. 2 | # Linguist-specific attributes are documented at 3 | # https://github.com/github/linguist. 4 | 5 | # Collapse generated code in code reviews. 6 | **/zz_generated.*.go linguist-generated=true 7 | /apis/generated/** linguist-generated=true -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-enhancement-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature enhancement request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: kind/feature, lifecycle/needs-triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Please describe the problem you have** 11 | [A clear, concise, description of the problem you are facing. What is the _problem_ that feature X would solve for you?] 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question about configuration, recommendations, general guidance, etc. 4 | title: '' 5 | labels: kind/question, lifecycle/needs-triage 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What question do you have?:** 11 | 12 | 13 | **Anything else you would like to add:** 14 | [Miscellaneous information that will assist in solving the issue.] 15 | 16 | 17 | **Environment:** 18 | 19 | - Contour version: 20 | - Kubernetes version: (use `kubectl version`): 21 | - Kubernetes installer & version: 22 | - Cloud provider or hardware configuration: 23 | - OS (e.g. from `/etc/os-release`): 24 | -------------------------------------------------------------------------------- /.github/reviewers.yaml: -------------------------------------------------------------------------------- 1 | reviewers: 2 | defaults: 3 | - team:contour-reviewers 4 | 5 | options: 6 | ignore_draft: true 7 | number_of_reviewers: 1 8 | -------------------------------------------------------------------------------- /.github/workflows/request-reviews.yaml: -------------------------------------------------------------------------------- 1 | name: Request Reviews 2 | 3 | on: 4 | pull_request_target: 5 | types: [opened, ready_for_review, reopened] 6 | 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | request-reviews: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: necojackarc/auto-request-review@e89da1a8cd7c8c16d9de9c6e763290b6b0e3d424 # v0.13.0 15 | with: 16 | token: ${{ secrets.PAT_FOR_AUTO_REQUEST_REVIEW }} 17 | config: .github/reviewers.yaml 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *.swo 3 | vendor/ 4 | .vs/ 5 | .idea/ 6 | ./certs/ 7 | /contour 8 | 9 | # Netlify stuff 10 | .vagrant 11 | .DS_Store 12 | .sass-cache 13 | _ignore 14 | node_modules 15 | _site 16 | .bundle 17 | .vscode 18 | bundler 19 | .jekyll-cache 20 | *.log 21 | *.js.map 22 | *.css.map 23 | .ruby-version 24 | site/public 25 | 26 | # Saved container image archive 27 | image/ 28 | 29 | # Gateway API conformance report output 30 | gateway-conformance-report/ 31 | 32 | # Compiled tests from Ginkgo 33 | *.test 34 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # These owners will be the default owners for everything in 2 | # the repo. Unless a later match takes precedence, 3 | # @maintainers will be requested for review when someone 4 | # opens a pull request. 5 | * @projectcontour/maintainers -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | We follow the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). 4 | 5 | Please contact the [CNCF Code of Conduct Committee](mailto:conduct@cncf.io) in order to report violations of the Code of Conduct. 6 | -------------------------------------------------------------------------------- /Contour_Security_Audit_Dec2020.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/Contour_Security_Audit_Dec2020.pdf -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Contour Threat Model, Security Posture and vulnerability process 2 | 3 | Contour is an ingress controller that works as an Envoy control plane, configuring the Envoy data plane, which actually carries traffic from outside to inside the cluster. 4 | 5 | ## Reporting Security issues 6 | For reporting security issues, please see the reporting process documentation available at https://projectcontour.io/resources/security-process. 7 | 8 | ## Contour's threat model 9 | 10 | For more information about the threat model Contour uses, please see https://projectcontour.io/resources/security-threat-model. 11 | -------------------------------------------------------------------------------- /certs/cert-contour.ext: -------------------------------------------------------------------------------- 1 | authorityKeyIdentifier=keyid,issuer 2 | basicConstraints=CA:FALSE 3 | keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 4 | subjectAltName = @alt_names 5 | 6 | [alt_names] 7 | DNS.1 = contour 8 | DNS.2 = 127.0.0.1 9 | DNS.4 = contour.projectcontour 10 | DNS.5 = contour.projectcontour.svc 11 | DNS.5 = contour.projectcontour.svc.cluster.local 12 | -------------------------------------------------------------------------------- /certs/cert-envoy.ext: -------------------------------------------------------------------------------- 1 | authorityKeyIdentifier=keyid,issuer 2 | basicConstraints=CA:FALSE 3 | keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 4 | subjectAltName = @alt_names 5 | 6 | [alt_names] 7 | DNS.1 = envoy 8 | DNS.2 = 127.0.0.1 9 | -------------------------------------------------------------------------------- /changelogs/CHANGELOG-v1.10.1.md: -------------------------------------------------------------------------------- 1 | We are delighted to present version 1.10.1 of Contour, our layer 7 HTTP reverse proxy for Kubernetes clusters. 2 | 3 | ## Fixes 4 | 5 | - Upgrades the default Envoy version from 1.16.0 to 1.16.2 for security and bug fixes. See the Envoy [1.16.1](https://www.envoyproxy.io/docs/envoy/v1.16.2/version_history/v1.16.1) and [1.16.2](https://www.envoyproxy.io/docs/envoy/v1.16.2/version_history/current) changelogs for details. 6 | - Fixes a concurrent map access issue which could lead to Contour crashing/restarting (#3199). 7 | -------------------------------------------------------------------------------- /changelogs/CHANGELOG-v1.13.1.md: -------------------------------------------------------------------------------- 1 | ## Bug Fixes 2 | 3 | - #3410: fixes an issue where global rate limit policies defined at the virtual host level for TLS-secured `HTTPProxies` were being ignored 4 | - #3412: fixes an issue where changes to the Envoy load balancer address were not immediately being reflected in `HTTPProxies'` status. 5 | - #3417: updates Envoy from v1.17.0 to v1.17.1. See the [Envoy changelog](https://github.com/envoyproxy/envoy/blob/release/v1.17/docs/root/version_history/v1.17.1.rst) for details. -------------------------------------------------------------------------------- /changelogs/unreleased/deprecation-sample.md: -------------------------------------------------------------------------------- 1 | ## Sample deprecation or removal change 2 | 3 | This change type requires a short explanation, a small paragraph should be sufficient. 4 | CLI flags, configuration, or API deprecations and removals should be called out here. 5 | This is also the place to call out any upgrading instructions or considerations that come with a removal. 6 | -------------------------------------------------------------------------------- /changelogs/unreleased/docs-sample.md: -------------------------------------------------------------------------------- 1 | Docs changes should be noted here, in a single line format. They will be included in a bulleted list. -------------------------------------------------------------------------------- /changelogs/unreleased/infra-sample.md: -------------------------------------------------------------------------------- 1 | ### Infrastructure changes 2 | 3 | Infrastructure changes MAY be either a longer description with a third-level heading, 4 | as in this file, or they may be a single line. 5 | 6 | The compiler of the release notes will fix these up as part of cutting the release. -------------------------------------------------------------------------------- /changelogs/unreleased/minor-sample.md: -------------------------------------------------------------------------------- 1 | ## Sample minor change 2 | 3 | This change is a minor one that doesn't require much explanation. 4 | A single paragraph or so should be sufficient. 5 | Note that the heading is at outline level 2, there will be a "Minor changes" 6 | heading inserted above. 7 | -------------------------------------------------------------------------------- /changelogs/unreleased/small-sample.md: -------------------------------------------------------------------------------- 1 | Small changes will be included in a bulleted list in the changelog. They should be a single line. 2 | -------------------------------------------------------------------------------- /codecov.yaml: -------------------------------------------------------------------------------- 1 | codecov: 2 | require_ci_to_pass: yes 3 | 4 | coverage: 5 | precision: 2 6 | round: down 7 | range: "70...100" 8 | 9 | # https://docs.codecov.io/docs/commit-status#informational 10 | status: 11 | project: 12 | default: 13 | informational: true 14 | 15 | parsers: 16 | gcov: 17 | branch_detection: 18 | conditional: yes 19 | loop: yes 20 | method: no 21 | macro: no 22 | 23 | comment: 24 | layout: "reach,diff,flags,tree" 25 | behavior: default 26 | require_changes: no 27 | 28 | ignore: 29 | - "**/mocks/*" 30 | -------------------------------------------------------------------------------- /contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/contour.png -------------------------------------------------------------------------------- /design/images/gatewayapi-contour-overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/design/images/gatewayapi-contour-overview.jpg -------------------------------------------------------------------------------- /design/images/gatewayapi-external-gateway.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/design/images/gatewayapi-external-gateway.jpg -------------------------------------------------------------------------------- /design/images/gatewayapi-provisioner-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/design/images/gatewayapi-provisioner-overview.png -------------------------------------------------------------------------------- /design/images/gatewayapi-resource-relationships.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/design/images/gatewayapi-resource-relationships.png -------------------------------------------------------------------------------- /design/images/ingressroute-delegation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/design/images/ingressroute-delegation.png -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Contour Documentation 2 | 3 | The contents of this directory have moved to corresponding directories in [../site/content](../site/content). 4 | 5 | For more information on how to contribute to the Contour documentation, see the [Contour Technical Documentation Contributing Guide](https://projectcontour.io/resources/contributing-docs/). 6 | -------------------------------------------------------------------------------- /examples/contour/00-common.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Namespace 4 | metadata: 5 | name: projectcontour 6 | --- 7 | apiVersion: v1 8 | kind: ServiceAccount 9 | metadata: 10 | name: contour 11 | namespace: projectcontour 12 | --- 13 | apiVersion: v1 14 | kind: ServiceAccount 15 | metadata: 16 | name: envoy 17 | namespace: projectcontour 18 | -------------------------------------------------------------------------------- /examples/contour/02-rbac.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: ClusterRoleBinding 4 | metadata: 5 | name: contour 6 | roleRef: 7 | apiGroup: rbac.authorization.k8s.io 8 | kind: ClusterRole 9 | name: contour 10 | subjects: 11 | - kind: ServiceAccount 12 | name: contour 13 | namespace: projectcontour 14 | --- 15 | apiVersion: rbac.authorization.k8s.io/v1 16 | kind: RoleBinding 17 | metadata: 18 | name: contour-rolebinding 19 | namespace: projectcontour 20 | roleRef: 21 | apiGroup: rbac.authorization.k8s.io 22 | kind: Role 23 | name: contour 24 | subjects: 25 | - kind: ServiceAccount 26 | name: contour 27 | namespace: projectcontour 28 | -------------------------------------------------------------------------------- /examples/contour/02-service-contour.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: contour 6 | namespace: projectcontour 7 | spec: 8 | ports: 9 | - port: 8001 10 | name: xds 11 | protocol: TCP 12 | targetPort: 8001 13 | selector: 14 | app: contour 15 | type: ClusterIP 16 | -------------------------------------------------------------------------------- /examples/example-workload/gatewayapi/README.md: -------------------------------------------------------------------------------- 1 | # Gateway-API 2 | 3 | This directory contains example `Gateway API` resources demonstrating different aspects of its functionality. 4 | 5 | ## Notes: 6 | To run the all examples, it is assumed that you have gone through https://projectcontour.io/guides/gateway-api/ to set up Contour with Gateway API enabled. 7 | 8 | ## blue-green 9 | 10 | Shows how to do a blue-green deployment. -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/00-common/00-namespaces.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Namespace 3 | metadata: 4 | name: marketing 5 | --- 6 | apiVersion: v1 7 | kind: Namespace 8 | metadata: 9 | name: default 10 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/01-ingress-to-httpproxy/basic-httpproxy.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: basic 6 | spec: 7 | virtualhost: 8 | fqdn: foo-basic.bar.com 9 | routes: 10 | - conditions: 11 | - prefix: / 12 | services: 13 | - name: s1 14 | port: 80 15 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/01-ingress-to-httpproxy/httpproxy-tls.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-tls.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: tls-example 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: foo2.bar.com 10 | tls: 11 | secretName: testsecret 12 | routes: 13 | - conditions: 14 | - prefix: / 15 | services: 16 | - name: s1 17 | port: 80 18 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/02-tls-options/httpproxy-tls-cert-delegation.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1 2 | kind: TLSCertificateDelegation 3 | metadata: 4 | name: example-com-wildcard 5 | namespace: www-admin 6 | spec: 7 | delegations: 8 | - secretName: example-com-wildcard 9 | targetNamespaces: 10 | - example-com 11 | --- 12 | apiVersion: projectcontour.io/v1 13 | kind: HTTPProxy 14 | metadata: 15 | name: www 16 | namespace: example-com 17 | spec: 18 | virtualhost: 19 | fqdn: foo2.bar.com 20 | tls: 21 | secretName: www-admin/example-com-wildcard 22 | routes: 23 | - services: 24 | - name: s1 25 | port: 80 26 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/02-tls-options/httpproxy-tls-upstream.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1 2 | kind: HTTPProxy 3 | metadata: 4 | name: secure-backend 5 | spec: 6 | virtualhost: 7 | fqdn: www.example.com 8 | routes: 9 | - services: 10 | - name: service 11 | port: 8443 12 | validation: 13 | caSecret: my-certificate-authority 14 | subjectName: backend.example.com 15 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-externalname.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-externalname.yaml 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | labels: 6 | run: externaldns 7 | name: externaldns 8 | namespace: default 9 | spec: 10 | externalName: foo-basic.bar.com 11 | ports: 12 | - name: http 13 | port: 80 14 | protocol: TCP 15 | targetPort: 80 16 | type: ExternalName 17 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-health-checks.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-health-checks.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: health-check 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: health.bar.com 10 | routes: 11 | - conditions: 12 | - prefix: / 13 | healthCheckPolicy: 14 | path: /healthy 15 | intervalSeconds: 5 16 | timeoutSeconds: 2 17 | unhealthyThresholdCount: 3 18 | healthyThresholdCount: 5 19 | services: 20 | - name: s1-health 21 | port: 80 22 | - name: s2-health 23 | port: 80 24 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-lb-request-hash.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-lb-request-hash.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: lb-request-hash 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: request-hash.bar.com 10 | routes: 11 | - conditions: 12 | - prefix: / 13 | services: 14 | - name: httpbin 15 | port: 8080 16 | loadBalancerPolicy: 17 | strategy: RequestHash 18 | requestHashPolicies: 19 | - headerHashOptions: 20 | name: X-Some-Header 21 | terminal: true 22 | - headerHashOptions: 23 | name: User-Agent 24 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-lb-strategy.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-lb-strategy.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: lb-strategy 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: strategy.bar.com 10 | routes: 11 | - services: 12 | - name: s1-strategy 13 | port: 80 14 | - name: s2-strategy 15 | port: 80 16 | loadBalancerPolicy: 17 | strategy: WeightedLeastRequest 18 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-multiple-paths.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-multiple-paths.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: multiple-paths 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: multi-path.bar.com 10 | routes: 11 | - conditions: 12 | - prefix: / # matches everything else 13 | services: 14 | - name: s1 15 | port: 80 16 | - conditions: 17 | - prefix: /blog # matches `multi-path.bar.com/blog` or `multi-path.bar.com/blog/*` 18 | services: 19 | - name: s2 20 | port: 80 21 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-multiple-upstreams.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-multiple-upstreams.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: multiple-upstreams 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: multi.bar.com 10 | routes: 11 | - services: 12 | - name: s1 13 | port: 80 14 | - name: s2 15 | port: 80 16 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-response-timeout.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-response-timeout.yaml 2 | apiVersion: projectcontour.io/v1alpha1 3 | kind: HTTPProxy 4 | metadata: 5 | name: response-timeout 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: timeout.bar.com 10 | routes: 11 | - timeoutPolicy: 12 | response: 1s 13 | idle: 10s 14 | retryPolicy: 15 | count: 3 16 | perTryTimeout: 150ms 17 | services: 18 | - name: s1 19 | port: 80 20 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-sticky-sessions.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-sticky-sessions.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: httpbin 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: httpbin.davecheney.com 10 | routes: 11 | - conditions: 12 | - prefix: / 13 | services: 14 | - name: httpbin 15 | port: 8080 16 | loadBalancerPolicy: 17 | strategy: Cookie 18 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-tls-permitinsecure.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1 2 | kind: HTTPProxy 3 | metadata: 4 | name: tls-example-insecure 5 | namespace: default 6 | spec: 7 | virtualhost: 8 | fqdn: foo2.bar.com 9 | tls: 10 | secretName: testsecret 11 | routes: 12 | - conditions: 13 | - prefix: / 14 | services: 15 | - name: s1 16 | port: 80 17 | - conditions: 18 | - prefix: /blog 19 | permitInsecure: true 20 | services: 21 | - name: s2 22 | port: 80 23 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-websockets.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-websockets.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: chat 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: chat.example.com 10 | routes: 11 | - conditions: 12 | - prefix: / 13 | services: 14 | - name: chat-app 15 | port: 80 16 | - conditions: 17 | - prefix: /websocket 18 | enableWebsockets: true # Setting this to true enables websocket for all paths that match /websocket 19 | services: 20 | - name: chat-app 21 | port: 80 22 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/03-routes/httpproxy-weight-shfiting.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-weight-shfiting.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: weight-shifting 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: weights.bar.com 10 | routes: 11 | - conditions: 12 | - prefix: / 13 | services: 14 | - name: s1 15 | port: 80 16 | weight: 10 17 | - name: s2 18 | port: 80 19 | weight: 90 20 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/05-tcp-proxy/httpproxy-tls-passthrough.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-tls-passthrough.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: example 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: tcp.example.com 10 | tls: 11 | passthrough: true 12 | tcpproxy: 13 | services: 14 | - name: tcpservice 15 | port: 8080 16 | - name: otherservice 17 | port: 9999 18 | weight: 20 19 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/05-tcp-proxy/httpproxy-tls-termination.yaml: -------------------------------------------------------------------------------- 1 | # httpproxy-tls-termination.yaml 2 | apiVersion: projectcontour.io/v1 3 | kind: HTTPProxy 4 | metadata: 5 | name: example 6 | namespace: default 7 | spec: 8 | virtualhost: 9 | fqdn: tcp.example.com 10 | tls: 11 | secretName: secret 12 | tcpproxy: 13 | services: 14 | - name: tcpservice 15 | port: 8080 16 | - name: otherservice 17 | port: 9999 18 | weight: 20 19 | -------------------------------------------------------------------------------- /examples/example-workload/httpproxy/README.md: -------------------------------------------------------------------------------- 1 | # HTTPProxy 2 | 3 | This directory contains example `HTTPProxies` demonstrating different aspects of its functionality. 4 | -------------------------------------------------------------------------------- /examples/gatekeeper/01-sync-config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # This config tells Gatekeeper to keep all HTTPProxy 3 | # resources in its internal cache so pre-existing 4 | # resources can be referenced in Constraints. See 5 | # https://github.com/open-policy-agent/gatekeeper#replicating-data 6 | # for more info. 7 | apiVersion: config.gatekeeper.sh/v1alpha1 8 | kind: Config 9 | metadata: 10 | name: config 11 | namespace: "gatekeeper-system" 12 | spec: 13 | sync: 14 | syncOnly: 15 | - group: "projectcontour.io" 16 | version: "v1" 17 | kind: "HTTPProxy" 18 | -------------------------------------------------------------------------------- /examples/gatekeeper/validations/02-constraint-non-empty.yml: -------------------------------------------------------------------------------- 1 | # httpproxy-non-empty instantiates an HTTPProxyNonEmpty 2 | # ConstraintTemplate. 3 | apiVersion: constraints.gatekeeper.sh/v1beta1 4 | kind: HTTPProxyNonEmpty 5 | metadata: 6 | name: httpproxy-non-empty 7 | labels: 8 | app: contour 9 | spec: 10 | match: 11 | kinds: 12 | - apiGroups: ["projectcontour.io"] 13 | kinds: ["HTTPProxy"] 14 | -------------------------------------------------------------------------------- /examples/gatekeeper/validations/02-constraint-unique-fqdn.yml: -------------------------------------------------------------------------------- 1 | # httpproxy-unique-fqdn instantiates an HTTPProxyUniqueFQDN 2 | # ConstraintTemplate. 3 | apiVersion: constraints.gatekeeper.sh/v1beta1 4 | kind: HTTPProxyUniqueFQDN 5 | metadata: 6 | name: httpproxy-unique-fqdn 7 | labels: 8 | app: contour 9 | spec: 10 | match: 11 | kinds: 12 | - apiGroups: ["projectcontour.io"] 13 | kinds: ["HTTPProxy"] 14 | -------------------------------------------------------------------------------- /examples/gateway-provisioner/00-common.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: Namespace 4 | metadata: 5 | name: projectcontour 6 | --- 7 | apiVersion: v1 8 | kind: ServiceAccount 9 | metadata: 10 | name: contour-gateway-provisioner 11 | namespace: projectcontour 12 | -------------------------------------------------------------------------------- /examples/gateway/01-gatewayclass.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: GatewayClass 3 | apiVersion: gateway.networking.k8s.io/v1 4 | metadata: 5 | name: example 6 | spec: 7 | controllerName: projectcontour.io/gateway-controller 8 | -------------------------------------------------------------------------------- /examples/gateway/02-gateway.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: Gateway 3 | apiVersion: gateway.networking.k8s.io/v1 4 | metadata: 5 | name: contour 6 | namespace: projectcontour 7 | spec: 8 | gatewayClassName: example 9 | listeners: 10 | - name: http 11 | protocol: HTTP 12 | port: 80 13 | allowedRoutes: 14 | namespaces: 15 | from: All 16 | -------------------------------------------------------------------------------- /examples/gateway/03-contour-config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: contour 6 | namespace: projectcontour 7 | data: 8 | contour.yaml: | 9 | gateway: 10 | gatewayRef: 11 | name: contour 12 | namespace: projectcontour 13 | -------------------------------------------------------------------------------- /examples/global-external-auth/02-globalextauth-extsvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1alpha1 2 | kind: ExtensionService 3 | metadata: 4 | namespace: projectcontour 5 | name: testserver 6 | spec: 7 | protocol: h2c 8 | services: 9 | - name: testserver 10 | port: 9443 11 | timeoutPolicy: 12 | response: 100ms 13 | -------------------------------------------------------------------------------- /examples/global-external-auth/03-contour-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: contour 5 | namespace: projectcontour 6 | data: 7 | contour.yaml: | 8 | globalExtAuth: 9 | extensionService: projectcontour/testserver 10 | failOpen: false 11 | authPolicy: 12 | context: 13 | header1: value1 14 | header2: value2 15 | responseTimeout: 1s 16 | -------------------------------------------------------------------------------- /examples/grafana/httpproxy.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1 2 | kind: HTTPProxy 3 | metadata: 4 | name: grafana 5 | namespace: monitoring 6 | spec: 7 | virtualhost: 8 | fqdn: grafana-example.projectcontour.io 9 | routes: 10 | - conditions: 11 | - prefix: / 12 | services: 13 | - name: grafana 14 | port: 3000 15 | -------------------------------------------------------------------------------- /examples/kind/kind-expose-port.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | nodes: 4 | - role: control-plane 5 | extraPortMappings: 6 | - containerPort: 80 7 | hostPort: 80 8 | listenAddress: "0.0.0.0" 9 | - containerPort: 443 10 | hostPort: 443 11 | listenAddress: "0.0.0.0" 12 | -------------------------------------------------------------------------------- /examples/prometheus/httpproxy.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1 2 | kind: HTTPProxy 3 | metadata: 4 | name: prometheus 5 | namespace: monitoring 6 | spec: 7 | virtualhost: 8 | fqdn: prometheus-example.projectcontour.io 9 | routes: 10 | - conditions: 11 | - prefix: / 12 | services: 13 | - name: prometheus-k8s 14 | port: 9090 15 | -------------------------------------------------------------------------------- /examples/ratelimit/03-ratelimit-extsvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1alpha1 2 | kind: ExtensionService 3 | metadata: 4 | namespace: projectcontour 5 | name: ratelimit 6 | spec: 7 | protocol: h2c 8 | services: 9 | - name: ratelimit 10 | port: 8081 11 | timeoutPolicy: 12 | response: 100ms 13 | -------------------------------------------------------------------------------- /examples/ratelimit/04-contour-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: contour 5 | namespace: projectcontour 6 | data: 7 | contour.yaml: | 8 | rateLimitService: 9 | extensionService: projectcontour/ratelimit 10 | domain: contour 11 | failOpen: false 12 | -------------------------------------------------------------------------------- /examples/ratelimit/04-default-global-ratelimit-contour-config.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: contour 5 | namespace: projectcontour 6 | data: 7 | contour.yaml: | 8 | rateLimitService: 9 | extensionService: projectcontour/ratelimit 10 | domain: contour 11 | failOpen: false 12 | defaultGlobalRateLimitPolicy: 13 | descriptors: 14 | - entries: 15 | - requestHeader: 16 | headerName: X-Custom-Header 17 | descriptorKey: CustomHeader 18 | -------------------------------------------------------------------------------- /examples/render/kustomization.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: kustomize.config.k8s.io/v1beta1 2 | kind: Kustomization 3 | resources: 4 | - contour.yaml 5 | -------------------------------------------------------------------------------- /examples/tracing/02-opentelemetry-extsvc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: projectcontour.io/v1alpha1 2 | kind: ExtensionService 3 | metadata: 4 | namespace: projectcontour 5 | name: otel-collector 6 | spec: 7 | protocol: h2c 8 | services: 9 | - name: otel-collector 10 | port: 4317 11 | -------------------------------------------------------------------------------- /hack/codespell.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | 3 | readonly PROGNAME="codespell" 4 | 5 | if command -v ${PROGNAME} >/dev/null; then 6 | # TODO(jpeach): check this won't self-exec ... 7 | exec ${PROGNAME} "$@" 8 | fi 9 | 10 | if command -v docker >/dev/null; then 11 | exec docker run \ 12 | --rm \ 13 | --volume $(pwd):/workdir \ 14 | --workdir=/workdir \ 15 | --entrypoint=/usr/local/bin/codespell \ 16 | ghcr.io/codespell-project/actions-codespell/stable:v2.0 "$@" 17 | fi 18 | 19 | cat </dev/null; then 6 | exec ${PROGNAME} -c .yamllint . 7 | fi 8 | 9 | if command -v docker >/dev/null; then 10 | exec docker run --rm -i \ 11 | -v $(pwd):/workdir \ 12 | --workdir=/workdir \ 13 | giantswarm/yamllint -c .yamllint . 14 | fi 15 | 16 | cat < 10 | {{ .Text }} 11 |

-------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/_markup/render-link.html: -------------------------------------------------------------------------------- 1 | {{ $link := .Destination }} 2 | {{ $isRemote := strings.HasPrefix $link "http" }} 3 | {{- if not $isRemote -}} 4 | {{ $url := urls.Parse .Destination }} 5 | {{- if $url.Path -}} 6 | {{ $fragment := "" }} 7 | {{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}} 8 | {{- with .Page.GetPage $url.Path }}{{ $link = printf "%s%s" .RelPermalink $fragment }}{{ end }}{{ end -}} 9 | {{- end -}} 10 | {{ .Text | safeHTML }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/docs.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Documentation

6 |
7 |
8 |
9 | {{ partial "docs-sidebar.html" . }} 10 |
11 | {{ .Content }} 12 |
13 | {{ partial "docs-right-bar.html" . }} 14 |
15 |
16 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/getting-started.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Getting Started

6 |
7 |
8 |
9 |
10 | {{ .Content }} 11 |
12 | {{ partial "docs-right-bar.html" . }} 13 |
14 |
15 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/guides.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Guides

6 |
7 |
8 |
9 |
10 | {{ .Content }} 11 |
    12 | {{ range where .Pages "Params.layout" "=" "page" }} 13 |
  • 14 |

    {{ .Title }}

    15 |
  • 16 | {{ end }} 17 |
18 |
19 |
20 |
21 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/how-we-work.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
7 |
8 |
9 |
10 | {{ .Content }} 11 |
12 |
13 |
14 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/list.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | {{ if or .Title .Content }} 4 |
5 | {{ with .Title }}

{{ . }}

{{ end }} 6 | {{ with .Content }}
{{ . }}
{{ end }} 7 |
8 | {{ end }} 9 | 10 | {{ range .Paginator.Pages }} 11 | {{ .Render "summary" }} 12 | {{ end }} 13 |
14 | {{ end }} 15 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/page.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

{{ .Title }}

6 |
7 |
8 |
9 |
10 | {{ .Content }} 11 |
12 |
13 |
14 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/plugins.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Plugins

6 |
7 |
8 |
9 | {{ .Content }} 10 | {{ partial "plugins.html" . }} 11 |
12 |
13 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/posts.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Blog

6 |
7 |
8 |
9 |
10 | {{ range (.Paginator 9).Pages.ByDate.Reverse }} 11 | {{ partial "blog-post-card.html" . }} 12 | {{ end }} 13 |
14 | {{ partial "pagination.html" . }} 15 |
16 |
17 | {{ end }} 18 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/section.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | {{ .Content }} 4 |
5 | {{ end }} 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/summary.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ .Title }}

3 | 4 | {{ range .Params.tags }} 5 | {{ . }} 6 | {{ end }} 7 |
8 | {{ .Summary }} 9 | {{ if .Truncated }} 10 | Read more... 11 | {{ end }} 12 |
13 |
14 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/_default/tag.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 |
4 |
5 |

Blog Posts by {{ .Title }}

6 |
7 |
8 |
9 |
10 | {{ range .Pages.ByDate }} 11 | {{ partial "blog-post-card.html" . }} 12 | {{ end }} 13 |
14 |
15 |
16 | {{ end }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/index.html: -------------------------------------------------------------------------------- 1 | {{ define "main" }} 2 |
3 | {{ partial "hero.html" . }} 4 | {{ partial "homepage-grid.html" . }} 5 | {{ partial "cloud-native.html" . }} 6 | {{ partial "use-cases.html" . }} 7 | {{ partial "getting-involved.html" . }} 8 | {{ partial "team.html" . }} 9 |
10 | {{ end }} 11 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/index.redirects: -------------------------------------------------------------------------------- 1 | {{ $latest := (cond (.Site.Params.docs_versioning) .Site.Params.latest_version "") }} 2 | /docs /docs/{{ $latest }} 301! 3 | /docs/latest /docs/{{ $latest }} 4 | /docs/latest/* /docs/{{ $latest }}/:splat 5 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/blog-highlights.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Blog Highlights

4 |
5 | {{ range first 3 (where .Site.RegularPages "Section" "posts").ByDate.Reverse }} 6 | {{ partial "blog-post-card.html" . }} 7 | {{ end }} 8 |
9 |

See All Posts

10 |
11 |
-------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/blog-post-card.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | {{ if .Params.Image }} 4 | {{ .Title }} 5 | {{ else }} 6 | {{ .Title }} 7 | {{ end }} 8 |
9 |
10 |

{{ .Title }}

11 |

{{ .Params.Excerpt }}

12 |
13 |
-------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/cloud-native.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Contour is a Cloud Native Computing Foundation Incubating project

4 |

Cloud Native Computing Foundation Logo

5 |
6 |
-------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/getting-involved.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Get involved

4 |

Join the mailing list to stay up to date with Contour

5 | 10 |
11 |
-------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/getting-started.html: -------------------------------------------------------------------------------- 1 | {{ $latest := (cond (.Site.Params.docs_versioning) .Site.Params.latest_version "") }} 2 |
3 |
4 |
5 |

Ready to try Contour?

6 |

Read our getting started documentation.

7 |
8 |
9 | Getting Started 10 |
11 |
12 |
13 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/partials/team.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

The Contour Team

4 |

Contour is released as open source software and provides community support through our GitHub project page. If you encounter an issue or have a question, feel free to reach out on the GitHub issues page for Contour.

5 |

The Contour project team welcomes contributions from the community, please see our contributing documentation.

6 |
7 |
8 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/shortcodes/include-html.html: -------------------------------------------------------------------------------- 1 | {{ $file := .Get 0 }} 2 | {{ (printf "%s%s" .Page.File.Dir $file) | readFile | safeHTML }} -------------------------------------------------------------------------------- /site/themes/contour/layouts/shortcodes/include.html: -------------------------------------------------------------------------------- 1 | {{ $file := .Get 0 }} {{ if strings.HasSuffix $file ".md" }} {{ $file | readFile | safeHTML }} {{ end }} 2 | -------------------------------------------------------------------------------- /site/themes/contour/layouts/shortcodes/metrics-table.html: -------------------------------------------------------------------------------- 1 | {{ printf "/docs/%s/guides/metrics/table.md" $.Page.Params.version | readFile | safeHTML }} -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Bold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Bold.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Bold.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Bold.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-BoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-BoldItalic.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-BoldItalic.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-BoldItalic.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Light.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Light.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Light.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Light.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-LightItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-LightItalic.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-LightItalic.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-LightItalic.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Medium.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Medium.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Medium.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Medium.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-MediumItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-MediumItalic.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-MediumItalic.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-MediumItalic.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Regular.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Regular.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-Regular.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-RegularItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-RegularItalic.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-RegularItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-RegularItalic.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-RegularItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-RegularItalic.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBold.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBold.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBold.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.eot -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.woff -------------------------------------------------------------------------------- /site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/fonts/Metropolis-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /site/themes/contour/static/img/adopters/VMware-logo-grey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/adopters/VMware-logo-grey.jpg -------------------------------------------------------------------------------- /site/themes/contour/static/img/adopters/daocloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/adopters/daocloud.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/adopters/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/adopters/example.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/adopters/flyte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/adopters/flyte.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/adopters/snappcloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/adopters/snappcloud.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/archoverview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/archoverview.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | Combined Shape 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /site/themes/contour/static/img/aws-nlb-tls/acm-arn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/aws-nlb-tls/acm-arn.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/aws-nlb-tls/fig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/aws-nlb-tls/fig.jpg -------------------------------------------------------------------------------- /site/themes/contour/static/img/aws-nlb-tls/record.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/aws-nlb-tls/record.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/blog-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/blog-placeholder.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/cert-manager/httpbin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/cert-manager/httpbin.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/cert-manager/httpbinhomepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/cert-manager/httpbinhomepage.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/cloud-native.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/cloud-native.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/10099903.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/10099903.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/1040646.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/1040646.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/2232214.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/2232214.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/223340.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/223340.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/22750465.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/22750465.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/9917.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/9917.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour-1.0/contour-1.0-stats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour-1.0/contour-1.0-stats.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/contour_deployment_in_k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/contour_deployment_in_k8s.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/docs-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/docs-placeholder.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/favicon.ico -------------------------------------------------------------------------------- /site/themes/contour/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/favicon.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/kuard-dag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/kuard-dag.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/kubernetes-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/kubernetes-logo.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/left-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | arrow copy 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/contour-1.2/envoy-shutdown-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/contour-1.2/envoy-shutdown-manager.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/contour_xdsv2v3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/contour_xdsv2v3.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/contourauth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/contourauth.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/image1.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/kind-contour-video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/kind-contour-video.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/kind-contour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/kind-contour.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/kind-contour2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/kind-contour2.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/kind-contour3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/kind-contour3.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/leader-election.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/leader-election.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/multiarch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/multiarch.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/post-contour-split-deployment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/post-contour-split-deployment.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/post-sample-figure-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/post-sample-figure-1.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/proxyinaction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/proxyinaction.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/posts/sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/posts/sample.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/right-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | arrow copy 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /site/themes/contour/static/img/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/rss.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/shutdownmanager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/shutdownmanager.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/slack.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/team-placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/team-placeholder.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/twitter.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/uml/client-auth-sequence-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/uml/client-auth-sequence-ext.png -------------------------------------------------------------------------------- /site/themes/contour/static/img/uml/client-auth-sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/projectcontour/contour/70ddf09337a8fd064440e4f43a17a506f669952b/site/themes/contour/static/img/uml/client-auth-sequence.png -------------------------------------------------------------------------------- /test/scripts/kind-expose-port.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | nodes: 4 | - role: control-plane 5 | - role: worker 6 | extraPortMappings: 7 | - containerPort: 80 8 | hostPort: 9080 9 | listenAddress: "127.0.0.1" 10 | - containerPort: 443 11 | hostPort: 9443 12 | listenAddress: "127.0.0.1" 13 | - containerPort: 8002 14 | hostPort: 8002 15 | listenAddress: "127.0.0.1" 16 | -------------------------------------------------------------------------------- /test/scripts/kind-ipv6.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | networking: 4 | ipFamily: ipv6 5 | nodes: 6 | - role: control-plane 7 | - role: worker 8 | extraPortMappings: 9 | - containerPort: 80 10 | hostPort: 9080 11 | listenAddress: "::" 12 | - containerPort: 443 13 | hostPort: 9443 14 | listenAddress: "::" 15 | - containerPort: 8002 16 | hostPort: 8002 17 | listenAddress: "::" 18 | -------------------------------------------------------------------------------- /test/scripts/kind-multinode.yaml: -------------------------------------------------------------------------------- 1 | kind: Cluster 2 | apiVersion: kind.x-k8s.io/v1alpha4 3 | nodes: 4 | - role: control-plane 5 | - role: worker 6 | - role: worker 7 | -------------------------------------------------------------------------------- /tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | 3 | package tools 4 | 5 | import ( 6 | // nolint:typecheck 7 | _ "github.com/ahmetb/gen-crd-api-reference-docs" 8 | // nolint:typecheck 9 | _ "github.com/onsi/ginkgo/v2/ginkgo" 10 | // nolint:typecheck 11 | _ "github.com/vektra/mockery/v2" 12 | // nolint:typecheck 13 | _ "sigs.k8s.io/controller-tools/cmd/controller-gen" 14 | _ "sigs.k8s.io/kustomize/kyaml" 15 | ) 16 | --------------------------------------------------------------------------------