diff --git a/CODEOWNERS b/CODEOWNERS index 45d24d6f529ca..749a89644b5d3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -279,6 +279,7 @@ extensions/filters/http/oauth2 @derekargueta @snowp /*/extensions/filters/common @UNOWNED @UNOWNED /*/extensions/filters/http/common @UNOWNED @UNOWNED /*/extensions/filters/network/common @UNOWNED @UNOWNED +/*/extensions/clusters/static @UNOWNED @UNOWNED /*/extensions/clusters/strict_dns @UNOWNED @UNOWNED /*/extensions/clusters/original_dst @UNOWNED @UNOWNED /*/extensions/clusters/logical_dns/ @UNOWNED @UNOWNED diff --git a/changelogs/current.yaml b/changelogs/current.yaml index d6268a74a47a9..0afea3e73c9fb 100644 --- a/changelogs/current.yaml +++ b/changelogs/current.yaml @@ -5,6 +5,7 @@ behavior_changes: - area: build change: | moved the strict_dns, original_dst, and logical_dns clusters to extensions. If you use these clusters and override extensions_build_config.bzl you will now need to include it explicitly. + moved the static, strict_dns and original_dst clusters to extensions. If you use these clusters and override extensions_build_config.bzl you will now need to include it explicitly. minor_behavior_changes: # *Changes that may cause incompatibilities for some users, but should not for most* diff --git a/docs/root/intro/arch_overview/upstream/service_discovery.rst b/docs/root/intro/arch_overview/upstream/service_discovery.rst index dc7a6bd5f4d73..1f389d45bca7a 100644 --- a/docs/root/intro/arch_overview/upstream/service_discovery.rst +++ b/docs/root/intro/arch_overview/upstream/service_discovery.rst @@ -15,6 +15,7 @@ Supported service discovery types Static ^^^^^^ +.. _extension_envoy.clusters.static: Static is the simplest service discovery type. The configuration explicitly specifies the resolved network name (IP address/port, unix domain socket, etc.) of each upstream host. diff --git a/source/common/upstream/BUILD b/source/common/upstream/BUILD index 907bb5f4a4ae2..9e15bc7c4525c 100644 --- a/source/common/upstream/BUILD +++ b/source/common/upstream/BUILD @@ -485,7 +485,6 @@ envoy_cc_library( ":eds_lib", ":health_checker_lib", # TODO(mattklein123): Move the clusters to extensions so they can be compiled out. - ":static_cluster_lib", ":upstream_includes", ":transport_socket_match_lib", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", @@ -533,19 +532,6 @@ envoy_cc_library( ], ) -envoy_cc_library( - name = "static_cluster_lib", - srcs = ["static_cluster.cc"], - hdrs = ["static_cluster.h"], - deps = [ - ":cluster_factory_includes", - ":upstream_includes", - "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", - "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", - ], - alwayslink = LEGACY_ALWAYSLINK, -) - envoy_cc_library( name = "upstream_includes", hdrs = [ diff --git a/source/extensions/clusters/static/BUILD b/source/extensions/clusters/static/BUILD new file mode 100644 index 0000000000000..481b98dc5b7ad --- /dev/null +++ b/source/extensions/clusters/static/BUILD @@ -0,0 +1,22 @@ +load( + "//bazel:envoy_build_system.bzl", + "envoy_cc_extension", + "envoy_extension_package", +) + +licenses(["notice"]) # Apache 2 + +envoy_extension_package() + +envoy_cc_extension( + name = "static_cluster_lib", + srcs = ["static_cluster.cc"], + hdrs = ["static_cluster.h"], + visibility = ["//visibility:public"], + deps = [ + "//source/common/upstream:cluster_factory_includes", + "//source/common/upstream:upstream_includes", + "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", + "@envoy_api//envoy/config/endpoint/v3:pkg_cc_proto", + ], +) diff --git a/source/common/upstream/static_cluster.cc b/source/extensions/clusters/static/static_cluster.cc similarity index 98% rename from source/common/upstream/static_cluster.cc rename to source/extensions/clusters/static/static_cluster.cc index b1c8b70758e21..b4c85f1012329 100644 --- a/source/common/upstream/static_cluster.cc +++ b/source/extensions/clusters/static/static_cluster.cc @@ -1,4 +1,4 @@ -#include "source/common/upstream/static_cluster.h" +#include "source/extensions/clusters/static/static_cluster.h" #include "envoy/common/exception.h" #include "envoy/config/cluster/v3/cluster.pb.h" diff --git a/source/common/upstream/static_cluster.h b/source/extensions/clusters/static/static_cluster.h similarity index 100% rename from source/common/upstream/static_cluster.h rename to source/extensions/clusters/static/static_cluster.h diff --git a/source/extensions/extensions_build_config.bzl b/source/extensions/extensions_build_config.bzl index 0ea46aef1a8a2..56519a62d018b 100644 --- a/source/extensions/extensions_build_config.bzl +++ b/source/extensions/extensions_build_config.bzl @@ -20,7 +20,8 @@ EXTENSIONS = { "envoy.clusters.aggregate": "//source/extensions/clusters/aggregate:cluster", "envoy.clusters.dynamic_forward_proxy": "//source/extensions/clusters/dynamic_forward_proxy:cluster", "envoy.clusters.redis": "//source/extensions/clusters/redis:redis_cluster", - "envoy.clusters.strict_dns": "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", + "envoy.clusters.static": "//source/extensions/clusters/static:static_cluster_lib", + "envoy.clusters.strict_dns": "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", "envoy.clusters.original_dst": "//source/extensions/clusters/original_dst:original_dst_cluster_lib", "envoy.clusters.logical_dns": "//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", diff --git a/source/extensions/extensions_metadata.yaml b/source/extensions/extensions_metadata.yaml index 8fe0eafc4e17c..c4c4fc9f52993 100644 --- a/source/extensions/extensions_metadata.yaml +++ b/source/extensions/extensions_metadata.yaml @@ -85,6 +85,11 @@ envoy.clusters.dynamic_forward_proxy: - envoy.clusters security_posture: robust_to_untrusted_downstream status: stable +envoy.clusters.static: + categories: + - envoy.clusters + security_posture: robust_to_untrusted_downstream_and_upstream + status: stable envoy.clusters.strict_dns: categories: - envoy.clusters diff --git a/test/common/upstream/BUILD b/test/common/upstream/BUILD index b21c6e95403ce..b2a5a834c5ca9 100644 --- a/test/common/upstream/BUILD +++ b/test/common/upstream/BUILD @@ -74,6 +74,7 @@ envoy_cc_test( "//source/common/upstream:load_balancer_factory_base_lib", "//source/extensions/clusters/logical_dns:logical_dns_cluster_lib", "//source/extensions/clusters/original_dst:original_dst_cluster_lib", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", "//source/extensions/network/dns_resolver/cares:config", "//source/extensions/transport_sockets/tls:config", @@ -637,7 +638,7 @@ envoy_cc_test( "//source/common/network:address_lib", "//source/common/network:utility_lib", # TODO(mattklein123): Split this into 2 tests for each cluster. - "//source/common/upstream:static_cluster_lib", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", "//source/extensions/transport_sockets/raw_buffer:config", "//source/extensions/transport_sockets/tls:config", diff --git a/test/common/upstream/upstream_impl_test.cc b/test/common/upstream/upstream_impl_test.cc index 5fcfd98c4b0df..837a8e3c136d0 100644 --- a/test/common/upstream/upstream_impl_test.cc +++ b/test/common/upstream/upstream_impl_test.cc @@ -22,7 +22,7 @@ #include "source/common/network/transport_socket_options_impl.h" #include "source/common/network/utility.h" #include "source/common/singleton/manager_impl.h" -#include "source/common/upstream/static_cluster.h" +#include "source/extensions/clusters/static/static_cluster.h" #include "source/extensions/clusters/strict_dns/strict_dns_cluster.h" #include "source/server/transport_socket_config_impl.h" diff --git a/test/extensions/clusters/aggregate/BUILD b/test/extensions/clusters/aggregate/BUILD index 03a8652831fe2..d026ef39cf8fa 100644 --- a/test/extensions/clusters/aggregate/BUILD +++ b/test/extensions/clusters/aggregate/BUILD @@ -41,6 +41,7 @@ envoy_extension_cc_test( "//source/common/upstream:cluster_factory_lib", "//source/common/upstream:cluster_manager_lib", "//source/extensions/clusters/aggregate:cluster", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/transport_sockets/raw_buffer:config", "//test/common/upstream:test_cluster_manager", "//test/common/upstream:utility_lib", diff --git a/test/integration/BUILD b/test/integration/BUILD index 6458c335c3e44..ac776e9198899 100644 --- a/test/integration/BUILD +++ b/test/integration/BUILD @@ -296,6 +296,7 @@ envoy_cc_test_binary( deps = [ "//source/exe:envoy_main_common_with_core_extensions_lib", "//source/exe:platform_impl_lib", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/clusters/strict_dns:strict_dns_cluster_lib", ], ) @@ -874,6 +875,7 @@ envoy_cc_test_library( "//source/common/common:thread_lib", "//source/common/config:api_version_lib", "//source/extensions/network/dns_resolver/cares:config", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/transport_sockets/tls:context_config_lib", "//source/extensions/transport_sockets/tls:context_lib", "//source/extensions/transport_sockets/tls:ssl_socket_lib", diff --git a/test/server/BUILD b/test/server/BUILD index 67ecb0c82869d..db6788990c526 100644 --- a/test/server/BUILD +++ b/test/server/BUILD @@ -54,6 +54,7 @@ envoy_cc_test( "//source/common/http:context_lib", "//source/common/upstream:cluster_manager_lib", "//source/extensions/access_loggers/file:config", + "//source/extensions/clusters/static:static_cluster_lib", "//source/extensions/stat_sinks/statsd:config", "//source/extensions/transport_sockets/raw_buffer:config", "//source/server:configuration_lib", diff --git a/tools/code_format/config.yaml b/tools/code_format/config.yaml index 4ce351c99e7f2..e6d0d7543383e 100644 --- a/tools/code_format/config.yaml +++ b/tools/code_format/config.yaml @@ -291,6 +291,7 @@ unsorted_flags: # PLEASE DO NOT ADD FILES TO THIS LIST WITHOUT SENIOR MAINTAINER APPROVAL visibility_excludes: - source/extensions/clusters/strict_dns/ +- source/extensions/clusters/static/ - source/extensions/clusters/original_dst/ - source/extensions/clusters/logical_dns/ - source/extensions/early_data/BUILD