This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch control-plane in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git
commit 51892e056f64d33a26e28aecaf6e7867b819be59 Merge: c5aeba02 031dcb22 Author: Ken Liu <[email protected]> AuthorDate: Mon Jan 29 09:56:23 2024 +0800 Merge pull request #179 from sjmshsh/control-plane New control plane implementation .github/workflows/dubboctl-ui-update.yaml | 23 + .licenserc.yaml | 1 + Makefile | 2 +- .../endpoints.go => api/generic/insights.go | 47 +- api/mesh/v1alpha1/dataplane.pb.go | 752 ++++----- api/mesh/v1alpha1/dataplane.proto | 174 +- api/mesh/v1alpha1/dataplane_helper.go | 494 ++++++ api/mesh/v1alpha1/dataplane_helpers.go | 30 - api/mesh/v1alpha1/dataplane_insight.pb.go | 756 +++++++++ api/mesh/v1alpha1/dataplane_insight.proto | 122 ++ api/mesh/v1alpha1/dataplane_insight_helper.go | 150 ++ api/mesh/v1alpha1/envoy_admin.pb.go | 147 ++ api/mesh/v1alpha1/envoy_admin.proto | 10 + api/mesh/v1alpha1/known_backends.go | 11 + api/mesh/v1alpha1/mesh.pb.go | 1260 +-------------- api/mesh/v1alpha1/mesh.proto | 166 +- api/mesh/v1alpha1/metrics.pb.go | 748 +++++++++ api/mesh/v1alpha1/metrics.proto | 117 ++ api/mesh/v1alpha1/mux.pb.go | 255 +++ api/mesh/v1alpha1/mux.proto | 21 + api/mesh/v1alpha1/mux_grpc.pb.go | 133 ++ api/mesh/v1alpha1/proxy_template.pb.go | 1700 -------------------- api/mesh/v1alpha1/proxy_template.proto | 210 --- api/mesh/v1alpha1/selector.pb.go | 165 -- api/mesh/v1alpha1/selector.proto | 20 - api/mesh/v1alpha1/servicenamemapping.pb.go | 181 --- api/mesh/v1alpha1/servicenamemapping.proto | 21 - api/mesh/v1alpha1/zone_ingress_insight.pb.go | 170 ++ api/mesh/v1alpha1/zone_ingress_insight.proto | 24 + api/mesh/v1alpha1/zone_ingress_insight_helpers.go | 72 + api/system/v1alpha1/datasource.pb.go | 242 +++ api/system/v1alpha1/datasource.proto | 30 + api/system/v1alpha1/inter_cp_ping.pb.go | 248 +++ api/system/v1alpha1/inter_cp_ping.proto | 16 + api/system/v1alpha1/inter_cp_ping_grpc.pb.go | 101 ++ api/system/v1alpha1/secret.pb.go | 163 ++ api/system/v1alpha1/secret.proto | 22 + app/dubbo-cp/cmd/root.go | 2 +- app/dubbo-cp/cmd/run.go | 27 +- ...ectors.yaml => dubbo.io_dataplaneinsights.yaml} | 16 +- ...oxytemplates.yaml => dubbo.io_datasources.yaml} | 12 +- ...bbo.io_selectors.yaml => dubbo.io_secrets.yaml} | 12 +- .../dubbo/crds/dubbo.io_servicenamemappings.yaml | 22 +- ...ings.yaml => dubbo.io_zoneingressinsights.yaml} | 14 +- go.mod | 7 +- go.sum | 63 +- mk/generate.mk | 2 +- mk/run.mk | 16 + pkg/config/app/dubbo-cp/config.go | 102 +- pkg/config/config.go | 17 + pkg/config/core/config.go | 17 + pkg/config/core/resources/store/config.go | 19 +- pkg/config/deprecate.go | 17 + pkg/config/diagnostics/config.go | 17 + pkg/config/display.go | 17 + pkg/config/dp-server/config.go | 112 +- pkg/config/eventbus/config.go | 17 + pkg/config/intercp/config.go | 105 ++ pkg/config/loader.go | 29 +- .../multizone/dds.go} | 19 +- pkg/config/multizone/multicluster.go | 114 ++ pkg/config/plugins/resources/k8s/config.go | 17 + pkg/config/plugins/runtime/config.go | 21 + pkg/config/plugins/runtime/k8s/config.go | 24 + .../k8s/testdata/default-config.golden.yaml | 72 - .../runtime/k8s/testdata/invalid-config.input.yaml | 16 - .../runtime/k8s/testdata/valid-config.input.yaml | 41 - pkg/config/plugins/runtime/universal/config.go | 50 + pkg/config/types/duration.go | 17 + pkg/config/types/tls.go | 83 + pkg/config/util.go | 17 + pkg/config/xds/bootstrap/config.go | 115 ++ pkg/config/xds/config.go | 64 + pkg/core/bootstrap/bootstrap.go | 36 + pkg/core/cmd/helpers.go | 17 + pkg/core/cmd/util.go | 17 + pkg/core/cmd/version/version.go | 17 + pkg/core/datasource/dynamic.go | 73 + .../resources.go => core/datasource/loader.go} | 10 +- pkg/core/datasource/static.go | 80 + pkg/core/datasource/validator.go | 45 + .../dns/lookup/cache.go} | 35 +- .../dns/lookup/interface.go} | 6 +- pkg/core/resources/apis/mesh/dataplane_helpers.go | 177 ++ .../resources/apis/mesh/zz_generated.resources.go | 435 ++--- .../apis/system/zz_generated.resources.go | 216 +++ pkg/core/resources/manager/manager.go | 2 +- pkg/core/resources/model/resource.go | 14 - pkg/core/resources/model/rest/api.go | 17 + pkg/core/resources/model/rest/converter.go | 40 +- pkg/core/resources/model/rest/list.go | 17 + pkg/core/resources/model/rest/resource.go | 17 + pkg/core/resources/model/rest/unmarshaller.go | 17 + .../resources/model/rest/unversioned/resource.go | 17 + pkg/core/resources/model/rest/v1alpha1/meta.go | 17 + pkg/core/resources/model/rest/v1alpha1/resource.go | 17 + pkg/core/runtime/builder.go | 50 +- pkg/core/runtime/runtime.go | 2 - pkg/core/xds/{matched_policies.go => features.go} | 14 +- pkg/core/xds/matched_policies.go | 24 + pkg/core/xds/metadata.go | 156 +- pkg/core/xds/{resources.go => resource.go} | 18 +- pkg/core/xds/types.go | 218 ++- pkg/defaults/components.go | 127 ++ .../egress_proxy_builder.go => defaults/mesh.go} | 38 +- pkg/defaults/zone.go | 96 ++ pkg/gc/collector.go | 104 ++ pkg/{xds/server => gc}/components.go | 39 +- pkg/hds/cache/snapshot.go | 87 + pkg/hds/callbacks/chain.go | 61 + pkg/hds/callbacks/interface.go | 38 + pkg/hds/components.go | 75 + pkg/hds/server/server.go | 196 +++ pkg/hds/tracker/callbacks.go | 235 +++ pkg/hds/tracker/healthcheck_generator.go | 200 +++ pkg/hds/tracker/reconciler.go | 53 + pkg/intercp/catalog/catalog.go | 86 + pkg/intercp/catalog/config_catalog.go | 134 ++ pkg/intercp/catalog/heartbeat_component.go | 142 ++ .../ratelimit.go => intercp/catalog/heartbeats.go} | 46 +- pkg/intercp/catalog/server.go | 61 + pkg/intercp/catalog/writer.go | 85 + pkg/intercp/client/client.go | 68 + pkg/intercp/client/pool.go | 129 ++ .../components.go} | 9 +- pkg/intercp/server/server.go | 114 ++ pkg/plugins/bootstrap/k8s/plugin.go | 3 +- .../policies/core/defaults/consts.go} | 21 +- pkg/plugins/policies/core/rules/rules.go | 206 +++ pkg/plugins/policies/core/xds/cluster.go | 119 ++ pkg/plugins/policies/core/xds/clusters.go | 81 + pkg/plugins/policies/core/xds/endpoints.go | 58 + .../policies/core/xds/http_filters.go} | 31 +- pkg/plugins/policies/core/xds/listeners.go | 62 + pkg/plugins/policies/core/xds/split.go | 80 + pkg/plugins/policies/imports.go | 17 + pkg/plugins/resources/k8s/events/listener.go | 17 + .../native/api/v1alpha1/zz_generated.deepcopy.go | 194 ++- .../k8s/native/api/v1alpha1/zz_generated.mesh.go | 269 +--- .../k8s/native/api/v1alpha1/zz_generated.system.go | 194 +++ pkg/plugins/runtime/k8s/metadata/labels.go | 17 + pkg/plugins/runtime/k8s/plugin.go | 7 +- pkg/plugins/runtime/universal/plugin.go | 17 + pkg/tls/cert.go | 136 ++ pkg/tls/keypair.go | 70 + pkg/util/protocol/protocol.go | 51 + pkg/xds/context/context.go | 33 +- pkg/xds/context/mesh_context_builder.go | 166 +- pkg/xds/context/resources.go | 46 +- pkg/xds/envoy/api_version.go | 6 +- .../envoy/{cluster => clusters}/cluster_builder.go | 50 +- pkg/xds/envoy/clusters/configurers.go | 112 ++ .../v3/alt_stat_name_configurer.go} | 19 +- .../envoy/{cluster => clusters}/v3/configurer.go | 2 +- .../v3/eds_cluster_configurer.go} | 27 +- .../clusters/v3/endpoint_cluster_configurer.go | 67 + pkg/xds/envoy/clusters/v3/http2_configurer.go | 60 + .../v3/http_configurer.go} | 33 +- pkg/xds/envoy/clusters/v3/lb_subset_configurer.go | 48 + .../v3/pass_through_cluster_configurer.go} | 17 +- .../v3/update_common_http_protocol_options.go | 46 + .../v3/upstream_bind_config_configurer.go} | 27 +- pkg/xds/envoy/endpoints/endpoints.go | 8 +- pkg/xds/envoy/endpoints/v3/endpoints.go | 32 +- pkg/xds/envoy/imports.go | 17 + pkg/xds/envoy/listeners/filter_chain_builder.go | 133 ++ .../envoy/listeners/filter_chain_configurers.go | 208 +++ .../listeners/filter_chain_match_configurers.go | 90 ++ pkg/xds/envoy/listeners/listener_builder.go | 148 ++ pkg/xds/envoy/listeners/listener_configurers.go | 106 ++ .../v3/additional_address_configurer.go} | 58 +- pkg/xds/envoy/listeners/v3/configurer.go | 1 + .../listeners/v3/direct_response_configurer.go | 102 ++ .../v3/filter_chain_match_configurer.go} | 26 +- .../envoy/listeners/v3/grpc_stats_configurer.go | 50 + .../v3/http_connection_manager_configurer.go | 64 + .../listeners/v3/http_inbound_routes_cofigurer.go | 48 + .../listeners/v3/http_outbound_route_configurer.go | 48 + .../envoy/listeners/v3/http_route_configurer.go | 87 + .../envoy/listeners/v3/http_router_configuer.go | 49 + .../listeners/v3/inbound_listener_configurer.go | 50 + .../listeners/v3/kafka_configurer.go} | 41 +- .../v3/original_dsst_forwarder_configurer.go} | 13 +- .../v3/outbound_listener_configurer.go} | 41 +- .../v3/pipe_listener_configurer.go} | 20 +- .../listeners/v3/static_endpoints_configurer.go | 101 ++ .../v3/tags_metadata.go} | 28 +- pkg/xds/envoy/listeners/v3/tcp_proxy_configurer.go | 88 + .../listeners/v3/tls_inspector_configurer.go} | 33 +- .../v3/transparent_proxying_configurer.go} | 11 +- pkg/xds/envoy/listeners/v3/util.go | 12 +- pkg/xds/envoy/metadata/v3/metadata.go | 52 +- pkg/xds/envoy/names/resource_names.go | 129 ++ pkg/xds/envoy/{api_version.go => route.go} | 52 +- ...go => common_route_configuration_configurer.go} | 7 +- pkg/xds/envoy/routes/route_builder.go | 83 + .../envoy/routes/route_configuration_builder.go | 98 ++ .../routes/route_configuration_configurers.go | 64 + pkg/xds/envoy/routes/route_configurers.go | 400 +++++ ...go => common_route_configuration_configurer.go} | 5 +- pkg/xds/envoy/routes/v3/ratelimit.go | 68 +- ...guration.go => reset_tags_header_configurer.go} | 11 +- .../routes/v3/route_configuration_configurer.go | 4 +- ..._configuration.go => tags_header_configurer.go} | 20 +- pkg/xds/envoy/{api_version.go => sockets.go} | 24 +- pkg/xds/envoy/tags/match.go | 246 ++- .../resources.go => envoy/tags/serialize.go} | 15 +- pkg/xds/envoy/types.go | 14 +- pkg/xds/envoy/virtualhosts/builder.go | 132 ++ pkg/xds/envoy/virtualhosts/configurer.go | 89 + pkg/xds/envoy/virtualhosts/redirect_configurer.go | 66 + pkg/xds/envoy/virtualhosts/route_configurer.go | 76 + .../routes_configurer.go} | 14 +- .../bootstrap_response.go => generator/consts.go} | 21 +- pkg/xds/generator/core/resource_generator.go | 4 +- pkg/xds/generator/inbound_proxy_generator.go | 132 ++ .../ingress_proxy_generator.go} | 27 +- .../outbound_proxy_generator.go} | 23 +- pkg/xds/generator/proxy_template.go | 73 + pkg/xds/hooks/hooks.go | 13 - pkg/xds/hooks/resource_set.go | 10 - pkg/xds/server/callbacks/dataplane_callbacks.go | 36 +- pkg/xds/server/callbacks/dataplane_lifecycle.go | 266 +++ pkg/xds/server/callbacks/dataplane_status_sink.go | 176 ++ .../server/callbacks/dataplane_status_tracker.go | 286 ++++ pkg/xds/server/components.go | 26 + pkg/xds/server/v3/components.go | 50 +- pkg/xds/server/v3/reconcile.go | 181 ++- pkg/xds/server/v3/resource_warming_forcer.go | 150 ++ pkg/xds/sync/componenets.go | 11 - pkg/xds/sync/dataplane_proxy_builder.go | 19 +- pkg/xds/sync/dataplane_watchdog.go | 45 +- pkg/xds/sync/ingress_proxy_builder.go | 2 +- pkg/xds/topology/dataplane.go | 82 + pkg/xds/topology/outbound.go | 124 ++ tools/xds-client/README.md | 21 + tools/xds-client/main.go | 184 +++ tools/xds-client/stream/client.go | 155 ++ ui-vue3/.husky/pre-commit | 4 + ui-vue3/.lintstagedrc.json | 6 + ui-vue3/package.json | 12 +- ui-vue3/src/App.vue | 12 +- .../src/api/mock/index.ts | 8 +- .../src/api/mock/mockApp.ts | 26 +- ui-vue3/src/api/mock/mockService.ts | 86 + .../src/api/service/app.ts | 9 +- .../src/api/service/service.ts | 10 +- ui-vue3/src/base/enums/ProvideInject.ts | 1 + ui-vue3/src/base/i18n/en.ts | 28 +- ui-vue3/src/base/i18n/index.ts | 7 +- ui-vue3/src/base/i18n/zh.ts | 30 +- ui-vue3/src/components/SearchTable.vue | 116 ++ ui-vue3/src/layout/breadcrumb/layout_bread.vue | 2 +- ui-vue3/src/layout/index.vue | 13 +- ui-vue3/src/main.ts | 7 +- ui-vue3/src/router/defaultRoutes.ts | 76 +- ui-vue3/src/utils/SearchUtil.ts | 71 + ui-vue3/src/views/common/tab_demo/index.vue | 8 +- ui-vue3/src/views/resources/applications/index.vue | 92 +- ui-vue3/src/views/resources/services/index.vue | 31 +- ui-vue3/src/views/resources/services/search.vue | 127 ++ .../src/views/resources/services/tabs/debug.vue | 169 ++ .../src/views/resources/services/tabs/detail.vue | 69 + .../views/resources/services/tabs/distribution.vue | 211 +++ .../services/tabs/event.vue} | 11 +- .../services/{index.vue => tabs/monitor.vue} | 2 +- .../services/{index.vue => tabs/tracing.vue} | 2 +- ui-vue3/yarn.lock | 10 + 268 files changed, 17644 insertions(+), 5700 deletions(-)
