Skip to content

Commit 1f2a27b

Browse files
committed
Clarify ServiceScopeConfig API
Fixes typos and clarifies behavior of namespace and service selectors. Signed-off-by: Jackie Elliott <[email protected]>
1 parent 2d8537b commit 1f2a27b

File tree

3 files changed

+44
-24
lines changed

3 files changed

+44
-24
lines changed

mesh/v1alpha1/config.pb.go

Lines changed: 15 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mesh/v1alpha1/config.proto

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ message MeshConfig {
418418
// ServiceScopeConfigs. If a service is defined by ServiceSetting to be cluster local and matches a
419419
// global service scope selector, the service will be considered cluster local. If a service is
420420
// considered global by ServiceSettings and does not match a global service scope selector
421-
// the serive will be considered local. Local scope takes precedence over global scope. Since
421+
// the service will be considered local. Local scope takes precedence over global scope. Since
422422
// ServiceScopeConfigs is local by default, all services are considered local unless it is considered
423423
// global by ServiceSettings AND ServiceScopeConfigs.
424424
message ServiceSettings {
@@ -459,15 +459,22 @@ message MeshConfig {
459459
repeated ServiceSettings service_settings = 50;
460460

461461
// Configuration for ambient mode multicluster service scope. This setting allows mesh administrators
462-
// to define the criteria by which the cluster's control plane determines which services in other
463-
// clusters in the mesh are treated as global (accessible across multiple clusters) versus local
464-
// (restricted to a single cluster). The configuration can be applied to services based on namespace
465-
// and/or other matching criteria. This is particularly useful in multicluster service mesh deployments
466-
// to control service visibility and access across clusters. This API is not intended to enforce
467-
// security policies. Resources like DestinationRules should be used to enforce authorization policies.
462+
// to define the criteria by which the cluster's control plane determines which Kubernetes services
463+
// in other clusters in the mesh are treated as global (accessible across multiple clusters) versus
464+
// local (restricted to a single cluster). The configuration can be applied to services based on
465+
// namespace and/or other matching criteria. This is particularly useful in multicluster service
466+
// mesh deployments to control service visibility and access across clusters. This API is not intended
467+
// to enforce security policies or load balancing. Resources like AuthorizationPolicy and
468+
// DestinationRule should be used to enforce authorization policies and configure load balancing
469+
// respectively.
470+
//
468471
// If a service matches a global service scope selector, the service's endpoints will be globally
469472
// exposed. If a service is locally scoped, its endpoints will only be exposed to local cluster
470-
// services.
473+
// services. If multiple serviceScopeConfigs are defined, a service will be considered global if it
474+
// matches any of the serviceScopeConfigs with scope set to GLOBAL. One of namespaceSelector or
475+
// servicesSelector must be set. If either a namespaceSelector or servicesSelector is not set, it will
476+
// match all namespaces or services respectively. To match, a service must match both the
477+
// namespaceSelector and servicesSelector.
471478
//
472479
// For example, the following configures the scope of all services with the "istio.io/global" label
473480
// in matching namespaces to be available globally:

mesh/v1alpha1/istio.mesh.v1alpha1.pb.html

Lines changed: 14 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)