Istio 1.13 gives proxy configuration its own resource
ProxyConfig moves selected sidecar settings into a scoped custom resource. The release also resolves hostname-based network gateways and expands Telemetry API controls.
A sidecar's configuration has a different scope from an application's routing rule. Some settings belong across a mesh, while others apply to one namespace or workload. Istio 1.13 introduces a top-level ProxyConfig resource so selected proxy settings can express that scope directly.
The February 11 announcement describes concurrency and proxy image type as the initial controls. The change notes characterize the resource as a stable subset of MeshConfig.DefaultConfig. It does not expose every Envoy setting or replace every existing configuration mechanism.
I am interested in changes that make the mesh's operating cost easier to understand. A mesh already adds a distributed system beside the application fleet. Giving proxy settings an explicit resource helps identify which configuration applies where, without making an unrestricted low-level override the default interface.
Scope becomes part of the configuration model
The announcement says ProxyConfig can apply globally, per namespace, or per workload. That supplies a resource-level way to distinguish broad defaults from settings intended for a selected application. The same setting can have different operational significance depending on which workloads receive it.
Concurrency is an example. It concerns the proxy's workers, not the number of application replicas. A fleet-wide decision can affect many sidecars, while a workload-specific choice can address one proxy deployment without declaring that every application has the same requirement.
Proxy image type also belongs to the operating environment. A resource naming the desired image variant makes that decision separate from traffic-routing configuration. It does not imply that changing the image variant alters the application's routing policy.
The important limit is the initial subset. A new custom resource should not be described as a general Envoy configuration API merely because it has a proxy-related name. The release promotes selected controls into a resource that follows Istio's scope conventions.
This is useful for configuration ownership. A reviewer can identify a change intended for an entire mesh instead of inferring its reach from a mesh-wide blob. Conversely, a local requirement has a resource scope that can remain associated with the relevant workload.
Structured controls reduce dependence on implementation details
The release does not claim that low-level customization has disappeared. It supplies a more specific interface for settings the project has chosen to expose. That gives operators a defined place to express those settings without recreating the structure of the underlying proxy configuration.
The distinction matters when a control plane generates Envoy resources. An operator's desired concurrency and the generated bootstrap are different representations of the same operating choice. A supported API can preserve that intent while the implementation evolves.
It also narrows what the control plane promises. A bounded field with documented scope is easier to reason about than an arbitrary patch to a generated structure. The release's initial limitation is therefore part of the design, not merely an omission to work around.
My preference is to use the highest-level interface that expresses the required behaviour precisely. A first-class proxy resource is useful where it covers the requirement. Settings outside its initial subset still need their own supported mechanism and an accurate account of their scope.
Gateway hostnames become usable discovery input
The same release repairs another boundary between platform infrastructure and mesh configuration. Before 1.13, multi-network gateway handling relied on knowing a load balancer's IP address. The announcement identifies Amazon EKS load balancers that provide hostnames as a case requiring manual resolution.
Istio 1.13 moves that resolution into the control plane. The change notes say the resulting IP addresses become endpoints. The announcement also says Istio can automatically discover a remote cluster's gateway on EKS.
This removes a manual translation step between the cloud platform's output and the mesh's expected input. The infrastructure can supply a hostname, and Istio performs the resolution needed for its gateway endpoint model. An operator no longer needs to treat a resolved address as an independently maintained configuration fact for that case.
The control-plane environment variable RESOLVE_HOSTNAME_GATEWAYS=false disables the new behaviour. That makes the compatibility control explicit. It is also evidence that the feature concerns gateway hostname handling in the control plane, not a blanket change to every DNS lookup made by application traffic.
The distinction matters for diagnosis. A gateway endpoint derived from a hostname depends on discovery and resolution before the proxy uses its endpoint configuration. Application-level DNS behaviour remains a separate concern.
Telemetry gets policy controls beyond choosing a backend
The announcement traces the Telemetry API to Istio 1.11 and describes continued work in 1.13. New capabilities include OpenTelemetry access logging, filtering access logs, and customization of the trace service name. These settings govern what the mesh emits and how consumers identify it.
The change notes identify Common Expression Language support for access-log filters. That gives a concrete mechanism for deciding which log events pass the configured filter. Selecting a provider and selecting the records sent to that provider are distinct configuration decisions.
Trace service naming also affects interpretation. A collector can receive valid spans whose names do not organize them as the operator expects. A naming control addresses that representation without changing the application's request-routing behaviour.
These changes fit the same pattern as ProxyConfig. The project is moving operating choices into explicit APIs instead of leaving every requirement attached to a general configuration structure. Each API still has a bounded set of fields and behaviours.
Discovery changes beneath the API
For Kubernetes 1.21 and later, the change notes say the control plane now reads EndpointSlices instead of Endpoints for service discovery. The previous path can be restored with PILOT_USE_ENDPOINT_SLICE=false. That is an implementation change beneath the service model consumed by applications.
This matters because a stable high-level resource does not mean every source of observed state remains identical. The control plane's discovery input influences the endpoint configuration it sends to proxies. Versioned release notes provide the connection between the public workload model and those internal choices.
Istio 1.13 is officially supported on Kubernetes 1.20 through 1.23 at release. Within that range, the discovery source can depend on the Kubernetes version. ProxyConfig's new scope model, gateway hostname resolution, and the Telemetry additions are concrete operating controls, while that discovery change alters how the control plane obtains the state it uses to configure the fleet.