Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

protodoc: Add redirects for v2 protos to current version and links to old #16303

Merged
merged 19 commits into from
May 7, 2021
4 changes: 4 additions & 0 deletions ci/run_envoy_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,13 @@ else
BUILD_DIR_MOUNT_DEST=/build
SOURCE_DIR="${PWD}"
SOURCE_DIR_MOUNT_DEST=/source
# TODO(phlax): remove jq install once upstream support is added:
# https://github.com/envoyproxy/envoy-build-tools/pull/132
START_COMMAND=("/bin/bash" "-lc" "groupadd --gid $(id -g) -f envoygroup \
&& useradd -o --uid $(id -u) --gid $(id -g) --no-create-home --home-dir /build envoybuild \
&& usermod -a -G pcap envoybuild \
&& apt-get update \
phlax marked this conversation as resolved.
Show resolved Hide resolved
&& apt-get install -y -qq --no-install-recommends jq \
&& chown envoybuild:envoygroup /build \
&& sudo -EHs -u envoybuild bash -c 'cd /source && $*'")
fi
Expand Down
5 changes: 4 additions & 1 deletion docs/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ load(

licenses(["notice"]) # Apache 2

exports_files(["protodoc_manifest.yaml"])
exports_files([
"protodoc_manifest.yaml",
"v2_mapping.json",
])

envoy_package()

Expand Down
7 changes: 6 additions & 1 deletion docs/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ generate_api_rst v3
# Fixup anchors and references in v3 so they form a distinct namespace.
# TODO(htuch): Do this in protodoc generation in the future.
find "${GENERATED_RST_DIR}"/api-v3 -name "*.rst" -print0 | xargs -0 sed -i -e "s#envoy_api_#envoy_v3_api_#g"
find "${GENERATED_RST_DIR}"/api-v3 -name "*.rst" -print0 | xargs -0 sed -i -e "s#config_resource_monitors#v3_config_resource_monitors#g"
phlax marked this conversation as resolved.
Show resolved Hide resolved
# TODO(phlax): Remove this once above is removed
find "${GENERATED_RST_DIR}"/api-v3 -name "*.rst" -print0 | xargs -0 sed -i -e "s#envoy_v2_api_#envoy_api_#g"
phlax marked this conversation as resolved.
Show resolved Hide resolved

# xDS protocol spec.
mkdir -p "${GENERATED_RST_DIR}/api-docs"
Expand All @@ -160,6 +161,10 @@ rsync -av \
"${SCRIPT_DIR}"/_ext \
"${GENERATED_RST_DIR}"

# Merge generated redirects
# TODO(phlax): Move updating redirects to separate bazel task
phlax marked this conversation as resolved.
Show resolved Hide resolved
jq -r 'with_entries(.key |= sub("^envoy/";"api-v3/")) | with_entries(.value |= sub("^envoy/";"api-v2/")) | to_entries[] | "\(.value)\t\t\(.key)"' docs/v2_mapping.json >> "${GENERATED_RST_DIR}"/redirects.txt

# To speed up validate_fragment invocations in validating_code_block
bazel build "${BAZEL_BUILD_OPTIONS[@]}" //tools/config_validation:validate_fragment

Expand Down
8 changes: 8 additions & 0 deletions docs/root/_static/css/envoy.css
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,11 @@ table.docutils div.line-block {
padding: 2px 2px;
border: solid #eee 1px;
}

.inline-tip,
.inline-note,
.inline-warning {
clear: none !important;
display: inline-block !important;
max-width: 50%;
}
155 changes: 155 additions & 0 deletions docs/v2_mapping.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
{
"envoy/admin/v3/certs.proto": "envoy/admin/v2alpha/certs.proto",
"envoy/admin/v3/clusters.proto": "envoy/admin/v2alpha/clusters.proto",
"envoy/admin/v3/config_dump.proto": "envoy/admin/v2alpha/config_dump.proto",
"envoy/admin/v3/listeners.proto": "envoy/admin/v2alpha/listeners.proto",
"envoy/admin/v3/memory.proto": "envoy/admin/v2alpha/memory.proto",
"envoy/admin/v3/metrics.proto": "envoy/admin/v2alpha/metrics.proto",
"envoy/admin/v3/mutex_stats.proto": "envoy/admin/v2alpha/mutex_stats.proto",
"envoy/admin/v3/server_info.proto": "envoy/admin/v2alpha/server_info.proto",
"envoy/admin/v3/tap.proto": "envoy/admin/v2alpha/tap.proto",
"envoy/extensions/transport_sockets/tls/v3/common.proto": "envoy/api/v2/auth/common.proto",
"envoy/extensions/transport_sockets/tls/v3/secret.proto": "envoy/api/v2/auth/secret.proto",
"envoy/extensions/transport_sockets/tls/v3/tls.proto": "envoy/api/v2/auth/tls.proto",
"envoy/service/cluster/v3/cds.proto": "envoy/api/v2/cds.proto",
"envoy/config/cluster/v3/cluster.proto": "envoy/api/v2/cluster.proto",
"envoy/config/cluster/v3/circuit_breaker.proto": "envoy/api/v2/cluster/circuit_breaker.proto",
"envoy/config/cluster/v3/filter.proto": "envoy/api/v2/cluster/filter.proto",
"envoy/config/cluster/v3/outlier_detection.proto": "envoy/api/v2/cluster/outlier_detection.proto",
"envoy/config/core/v3/address.proto": "envoy/api/v2/core/address.proto",
"envoy/config/core/v3/backoff.proto": "envoy/api/v2/core/backoff.proto",
"envoy/config/core/v3/base.proto": "envoy/api/v2/core/base.proto",
"envoy/config/core/v3/config_source.proto": "envoy/api/v2/core/config_source.proto",
"envoy/config/core/v3/event_service_config.proto": "envoy/api/v2/core/event_service_config.proto",
"envoy/config/core/v3/grpc_method_list.proto": "envoy/api/v2/core/grpc_method_list.proto",
"envoy/config/core/v3/grpc_service.proto": "envoy/api/v2/core/grpc_service.proto",
"envoy/config/core/v3/health_check.proto": "envoy/api/v2/core/health_check.proto",
"envoy/config/core/v3/http_uri.proto": "envoy/api/v2/core/http_uri.proto",
"envoy/config/core/v3/protocol.proto": "envoy/api/v2/core/protocol.proto",
"envoy/config/core/v3/socket_option.proto": "envoy/api/v2/core/socket_option.proto",
"envoy/service/discovery/v3/discovery.proto": "envoy/api/v2/discovery.proto",
"envoy/service/endpoint/v3/eds.proto": "envoy/api/v2/eds.proto",
"envoy/config/endpoint/v3/endpoint.proto": "envoy/api/v2/endpoint.proto",
"envoy/config/endpoint/v3/endpoint_components.proto": "envoy/api/v2/endpoint/endpoint_components.proto",
"envoy/service/listener/v3/lds.proto": "envoy/api/v2/lds.proto",
"envoy/config/listener/v3/listener.proto": "envoy/api/v2/listener.proto",
"envoy/config/listener/v3/listener_components.proto": "envoy/api/v2/listener/listener_components.proto",
"envoy/config/listener/v3/quic_config.proto": "envoy/api/v2/listener/quic_config.proto",
"envoy/config/listener/v3/udp_listener_config.proto": "envoy/api/v2/listener/udp_listener_config.proto",
"envoy/extensions/common/ratelimit/v3/ratelimit.proto": "envoy/api/v2/ratelimit/ratelimit.proto",
"envoy/service/route/v3/rds.proto": "envoy/api/v2/rds.proto",
"envoy/config/route/v3/route.proto": "envoy/api/v2/route.proto",
"envoy/config/route/v3/route_components.proto": "envoy/api/v2/route/route_components.proto",
"envoy/config/route/v3/scoped_route.proto": "envoy/api/v2/scoped_route.proto",
"envoy/service/route/v3/srds.proto": "envoy/api/v2/srds.proto",
"envoy/extensions/access_loggers/grpc/v3/als.proto": "envoy/config/accesslog/v2/als.proto",
"envoy/extensions/access_loggers/file/v3/file.proto": "envoy/config/accesslog/v2/file.proto",
"envoy/config/bootstrap/v3/bootstrap.proto": "envoy/config/bootstrap/v2/bootstrap.proto",
"envoy/extensions/clusters/aggregate/v3/cluster.proto": "envoy/config/cluster/aggregate/v2alpha/cluster.proto",
"envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster.proto": "envoy/config/cluster/dynamic_forward_proxy/v2alpha/cluster.proto",
"envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache.proto": "envoy/config/common/dynamic_forward_proxy/v2alpha/dns_cache.proto",
"envoy/extensions/common/tap/v3/common.proto": "envoy/config/common/tap/v2alpha/common.proto",
"envoy/config/accesslog/v3/accesslog.proto": "envoy/config/filter/accesslog/v2/accesslog.proto",
"envoy/extensions/filters/network/dubbo_proxy/router/v3/router.proto": "envoy/config/filter/dubbo/router/v2alpha1/router.proto",
"envoy/extensions/filters/common/fault/v3/fault.proto": "envoy/config/filter/fault/v2/fault.proto",
"envoy/extensions/filters/http/adaptive_concurrency/v3/adaptive_concurrency.proto": "envoy/config/filter/http/adaptive_concurrency/v2alpha/adaptive_concurrency.proto",
"envoy/extensions/filters/http/aws_lambda/v3/aws_lambda.proto": "envoy/config/filter/http/aws_lambda/v2alpha/aws_lambda.proto",
"envoy/extensions/filters/http/aws_request_signing/v3/aws_request_signing.proto": "envoy/config/filter/http/aws_request_signing/v2alpha/aws_request_signing.proto",
"envoy/extensions/filters/http/buffer/v3/buffer.proto": "envoy/config/filter/http/buffer/v2/buffer.proto",
"envoy/extensions/filters/http/cache/v3alpha/cache.proto": "envoy/config/filter/http/cache/v2alpha/cache.proto",
"envoy/extensions/filters/http/compressor/v3/compressor.proto": "envoy/config/filter/http/compressor/v2/compressor.proto",
"envoy/extensions/filters/http/cors/v3/cors.proto": "envoy/config/filter/http/cors/v2/cors.proto",
"envoy/extensions/filters/http/csrf/v3/csrf.proto": "envoy/config/filter/http/csrf/v2/csrf.proto",
"envoy/extensions/filters/http/dynamic_forward_proxy/v3/dynamic_forward_proxy.proto": "envoy/config/filter/http/dynamic_forward_proxy/v2alpha/dynamic_forward_proxy.proto",
"envoy/extensions/filters/http/dynamo/v3/dynamo.proto": "envoy/config/filter/http/dynamo/v2/dynamo.proto",
"envoy/extensions/filters/http/ext_authz/v3/ext_authz.proto": "envoy/config/filter/http/ext_authz/v2/ext_authz.proto",
"envoy/extensions/filters/http/fault/v3/fault.proto": "envoy/config/filter/http/fault/v2/fault.proto",
"envoy/extensions/filters/http/grpc_http1_bridge/v3/config.proto": "envoy/config/filter/http/grpc_http1_bridge/v2/config.proto",
"envoy/extensions/filters/http/grpc_http1_reverse_bridge/v3/config.proto": "envoy/config/filter/http/grpc_http1_reverse_bridge/v2alpha1/config.proto",
"envoy/extensions/filters/http/grpc_stats/v3/config.proto": "envoy/config/filter/http/grpc_stats/v2alpha/config.proto",
"envoy/extensions/filters/http/grpc_web/v3/grpc_web.proto": "envoy/config/filter/http/grpc_web/v2/grpc_web.proto",
"envoy/extensions/filters/http/gzip/v3/gzip.proto": "envoy/config/filter/http/gzip/v2/gzip.proto",
"envoy/extensions/filters/http/header_to_metadata/v3/header_to_metadata.proto": "envoy/config/filter/http/header_to_metadata/v2/header_to_metadata.proto",
"envoy/extensions/filters/http/health_check/v3/health_check.proto": "envoy/config/filter/http/health_check/v2/health_check.proto",
"envoy/extensions/filters/http/ip_tagging/v3/ip_tagging.proto": "envoy/config/filter/http/ip_tagging/v2/ip_tagging.proto",
"envoy/extensions/filters/http/jwt_authn/v3/config.proto": "envoy/config/filter/http/jwt_authn/v2alpha/config.proto",
"envoy/extensions/filters/http/lua/v3/lua.proto": "envoy/config/filter/http/lua/v2/lua.proto",
"envoy/extensions/filters/http/on_demand/v3/on_demand.proto": "envoy/config/filter/http/on_demand/v2/on_demand.proto",
"envoy/extensions/filters/http/original_src/v3/original_src.proto": "envoy/config/filter/http/original_src/v2alpha1/original_src.proto",
"envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto": "envoy/config/filter/http/rate_limit/v2/rate_limit.proto",
"envoy/extensions/filters/http/rbac/v3/rbac.proto": "envoy/config/filter/http/rbac/v2/rbac.proto",
"envoy/extensions/filters/http/router/v3/router.proto": "envoy/config/filter/http/router/v2/router.proto",
"envoy/extensions/filters/http/squash/v3/squash.proto": "envoy/config/filter/http/squash/v2/squash.proto",
"envoy/extensions/filters/http/tap/v3/tap.proto": "envoy/config/filter/http/tap/v2alpha/tap.proto",
"envoy/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto": "envoy/config/filter/http/transcoder/v2/transcoder.proto",
"envoy/extensions/filters/listener/http_inspector/v3/http_inspector.proto": "envoy/config/filter/listener/http_inspector/v2/http_inspector.proto",
"envoy/extensions/filters/listener/original_dst/v3/original_dst.proto": "envoy/config/filter/listener/original_dst/v2/original_dst.proto",
"envoy/extensions/filters/listener/original_src/v3/original_src.proto": "envoy/config/filter/listener/original_src/v2alpha1/original_src.proto",
"envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.proto": "envoy/config/filter/listener/proxy_protocol/v2/proxy_protocol.proto",
"envoy/extensions/filters/listener/tls_inspector/v3/tls_inspector.proto": "envoy/config/filter/listener/tls_inspector/v2/tls_inspector.proto",
"envoy/extensions/filters/network/client_ssl_auth/v3/client_ssl_auth.proto": "envoy/config/filter/network/client_ssl_auth/v2/client_ssl_auth.proto",
"envoy/extensions/filters/network/direct_response/v3/config.proto": "envoy/config/filter/network/direct_response/v2/config.proto",
"envoy/extensions/filters/network/dubbo_proxy/v3/dubbo_proxy.proto": "envoy/config/filter/network/dubbo_proxy/v2alpha1/dubbo_proxy.proto",
"envoy/extensions/filters/network/dubbo_proxy/v3/route.proto": "envoy/config/filter/network/dubbo_proxy/v2alpha1/route.proto",
"envoy/extensions/filters/network/echo/v3/echo.proto": "envoy/config/filter/network/echo/v2/echo.proto",
"envoy/extensions/filters/network/ext_authz/v3/ext_authz.proto": "envoy/config/filter/network/ext_authz/v2/ext_authz.proto",
"envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto": "envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto",
"envoy/extensions/filters/network/kafka_broker/v3/kafka_broker.proto": "envoy/config/filter/network/kafka_broker/v2alpha1/kafka_broker.proto",
"envoy/extensions/filters/network/local_ratelimit/v3/local_rate_limit.proto": "envoy/config/filter/network/local_rate_limit/v2alpha/local_rate_limit.proto",
"envoy/extensions/filters/network/mongo_proxy/v3/mongo_proxy.proto": "envoy/config/filter/network/mongo_proxy/v2/mongo_proxy.proto",
"envoy/extensions/filters/network/ratelimit/v3/rate_limit.proto": "envoy/config/filter/network/rate_limit/v2/rate_limit.proto",
"envoy/extensions/filters/network/rbac/v3/rbac.proto": "envoy/config/filter/network/rbac/v2/rbac.proto",
"envoy/extensions/filters/network/redis_proxy/v3/redis_proxy.proto": "envoy/config/filter/network/redis_proxy/v2/redis_proxy.proto",
"envoy/extensions/filters/network/sni_cluster/v3/sni_cluster.proto": "envoy/config/filter/network/sni_cluster/v2/sni_cluster.proto",
"envoy/extensions/filters/network/tcp_proxy/v3/tcp_proxy.proto": "envoy/config/filter/network/tcp_proxy/v2/tcp_proxy.proto",
"envoy/extensions/filters/network/thrift_proxy/v3/route.proto": "envoy/config/filter/network/thrift_proxy/v2alpha1/route.proto",
"envoy/extensions/filters/network/thrift_proxy/v3/thrift_proxy.proto": "envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto",
"envoy/extensions/filters/network/thrift_proxy/filters/ratelimit/v3/rate_limit.proto": "envoy/config/filter/thrift/rate_limit/v2alpha1/rate_limit.proto",
"envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto": "envoy/config/filter/udp/udp_proxy/v2alpha/udp_proxy.proto",
"envoy/config/grpc_credential/v3/aws_iam.proto": "envoy/config/grpc_credential/v2alpha/aws_iam.proto",
"envoy/config/grpc_credential/v3/file_based_metadata.proto": "envoy/config/grpc_credential/v2alpha/file_based_metadata.proto",
"envoy/config/listener/v3/api_listener.proto": "envoy/config/listener/v2/api_listener.proto",
"envoy/config/metrics/v3/metrics_service.proto": "envoy/config/metrics/v2/metrics_service.proto",
"envoy/config/metrics/v3/stats.proto": "envoy/config/metrics/v2/stats.proto",
"envoy/config/overload/v3/overload.proto": "envoy/config/overload/v2alpha/overload.proto",
"envoy/config/ratelimit/v3/rls.proto": "envoy/config/ratelimit/v2/rls.proto",
"envoy/config/rbac/v3/rbac.proto": "envoy/config/rbac/v2/rbac.proto",
"envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.proto": "envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.proto",
"envoy/extensions/retry/host/omit_host_metadata/v3/omit_host_metadata_config.proto": "envoy/config/retry/omit_host_metadata/v2/omit_host_metadata_config.proto",
"envoy/extensions/retry/host/previous_hosts/v3/previous_hosts.proto": "envoy/config/retry/previous_hosts/v2/previous_hosts.proto",
"envoy/config/trace/v3/datadog.proto": "envoy/config/trace/v2/datadog.proto",
"envoy/config/trace/v3/dynamic_ot.proto": "envoy/config/trace/v2/dynamic_ot.proto",
"envoy/config/trace/v3/http_tracer.proto": "envoy/config/trace/v2/http_tracer.proto",
"envoy/config/trace/v3/lightstep.proto": "envoy/config/trace/v2/lightstep.proto",
"envoy/config/trace/v3/opencensus.proto": "envoy/config/trace/v2/opencensus.proto",
"envoy/config/trace/v3/service.proto": "envoy/config/trace/v2/service.proto",
"envoy/config/trace/v3/zipkin.proto": "envoy/config/trace/v2/zipkin.proto",
"envoy/config/trace/v3/xray.proto": "envoy/config/trace/v2alpha/xray.proto",
"envoy/extensions/transport_sockets/alts/v3/alts.proto": "envoy/config/transport_socket/alts/v2alpha/alts.proto",
"envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer.proto": "envoy/config/transport_socket/raw_buffer/v2/raw_buffer.proto",
"envoy/extensions/transport_sockets/tap/v3/tap.proto": "envoy/config/transport_socket/tap/v2alpha/tap.proto",
"envoy/data/accesslog/v3/accesslog.proto": "envoy/data/accesslog/v2/accesslog.proto",
"envoy/data/cluster/v3/outlier_detection_event.proto": "envoy/data/cluster/v2alpha/outlier_detection_event.proto",
"envoy/data/core/v3/health_check_event.proto": "envoy/data/core/v2alpha/health_check_event.proto",
"envoy/data/dns/v3/dns_table.proto": "envoy/data/dns/v2alpha/dns_table.proto",
"envoy/data/tap/v3/common.proto": "envoy/data/tap/v2alpha/common.proto",
"envoy/data/tap/v3/http.proto": "envoy/data/tap/v2alpha/http.proto",
"envoy/data/tap/v3/transport.proto": "envoy/data/tap/v2alpha/transport.proto",
"envoy/data/tap/v3/wrapper.proto": "envoy/data/tap/v2alpha/wrapper.proto",
"envoy/service/accesslog/v3/als.proto": "envoy/service/accesslog/v2/als.proto",
"envoy/service/auth/v3/attribute_context.proto": "envoy/service/auth/v2/attribute_context.proto",
"envoy/service/auth/v3/external_auth.proto": "envoy/service/auth/v2/external_auth.proto",
"envoy/service/discovery/v3/ads.proto": "envoy/service/discovery/v2/ads.proto",
"envoy/service/runtime/v3/rtds.proto": "envoy/service/discovery/v2/rtds.proto",
"envoy/service/secret/v3/sds.proto": "envoy/service/discovery/v2/sds.proto",
"envoy/service/event_reporting/v3/event_reporting_service.proto": "envoy/service/event_reporting/v2alpha/event_reporting_service.proto",
"envoy/service/load_stats/v3/lrs.proto": "envoy/service/load_stats/v2/lrs.proto",
"envoy/service/metrics/v3/metrics_service.proto": "envoy/service/metrics/v2/metrics_service.proto",
"envoy/service/ratelimit/v3/rls.proto": "envoy/service/ratelimit/v2/rls.proto",
"envoy/service/status/v3/csds.proto": "envoy/service/status/v2/csds.proto",
"envoy/config/tap/v3/common.proto": "envoy/service/tap/v2alpha/common.proto",
"envoy/service/tap/v3/tap.proto": "envoy/service/tap/v2alpha/tap.proto",
"envoy/service/trace/v3/trace_service.proto": "envoy/service/trace/v2/trace_service.proto",
"envoy/type/metadata/v3/metadata.proto": "envoy/type/metadata/v2/metadata.proto",
"envoy/type/tracing/v3/custom_tag.proto": "envoy/type/tracing/v2/custom_tag.proto"
}
5 changes: 4 additions & 1 deletion tools/protodoc/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ envoy_proto_library(
py_binary(
name = "protodoc",
srcs = ["protodoc.py"],
data = ["//docs:protodoc_manifest.yaml"],
data = [
"//docs:protodoc_manifest.yaml",
"//docs:v2_mapping.json",
],
visibility = ["//visibility:public"],
deps = [
":manifest_proto_py_proto",
Expand Down
Loading