skills/istio-traffic-management/SKILL.md
Configures Istio traffic management including multicluster traffic control, gateway network topology (XFF/XFCC headers, PROXY protocol), protocol selection, and TLS configuration. Use when working with Istio service mesh traffic routing, multicluster setups, gateway configuration, protocol detection, mTLS settings, or when troubleshooting TLS/proxy header issues.
npx skillsauth add peterj/skills istio-traffic-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use MeshConfig.serviceSettings to prevent cross-cluster load balancing:
# Per service
serviceSettings:
- settings:
clusterLocal: true
hosts:
- "mysvc.myns.svc.cluster.local"
# Per namespace
serviceSettings:
- settings:
clusterLocal: true
hosts:
- "*.myns.svc.cluster.local"
# Global (all services)
serviceSettings:
- settings:
clusterLocal: true
hosts:
- "*"
Combine global cluster-local with exceptions:
serviceSettings:
- settings:
clusterLocal: true
hosts:
- "*"
- settings:
clusterLocal: false
hosts:
- "*.myns.svc.cluster.local"
kind: Service
metadata:
name: myservice
spec:
ports:
- port: 3306
name: database
appProtocol: https
- port: 80
name: http-web
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
meshConfig:
defaultConfig:
gatewayTopology:
numTrustedProxies: 2
MeshConfig.serviceSettings with clusterLocal: true to keep traffic within a cluster.DestinationRule.subsets with label topology.istio.io/cluster to create per-cluster subsets, then route with VirtualService.name: <protocol>[-<suffix>]) or appProtocol field. appProtocol takes precedence.http, http2, https, tcp, tls, grpc, grpc-web, mongo, mysql, redis (last three are experimental).useClientProtocol in DestinationRule to match incoming protocol.PeerAuthentication: Controls what mTLS traffic a sidecar accepts (PERMISSIVE, STRICT, DISABLE).DestinationRule: Controls what TLS traffic a sidecar/gateway sends (DISABLE, SIMPLE, MUTUAL, ISTIO_MUTUAL).DestinationRule explicitly overrides.Gateway resource — set protocol (HTTP, HTTPS, TLS, TCP) and TLS mode (PASSTHROUGH, MUTUAL, etc.).DestinationRule TLS settings or auto mTLS. Watch for double encryption when Gateway uses PASSTHROUGH and DestinationRule originates TLS.numTrustedProxies: Number of trusted proxies in front of the Istio gateway. Controls X-Envoy-External-Address extraction from X-Forwarded-For.forwardClientCertDetails: Controls XFCC header handling. Values: SANITIZE, FORWARD_ONLY, APPEND_FORWARD, SANITIZE_SET (default for gateways), ALWAYS_FORWARD_ONLY.gatewayTopology.proxyProtocol: {}. Not for L7 traffic or behind L7 load balancers.development
Guide for installing, configuring, and deploying SPIRE servers and agents. Use when working with SPIRE, SPIFFE, workload identity, trust domains, node attestation, workload attestation, service identity, or X.509/JWT SVIDs on Kubernetes or Linux.
development
Diagnoses and resolves common Istio service mesh problems across traffic management, security, observability, and upgrades. Use when debugging Istio networking issues (503 errors, route rules not working, TLS mismatches, gateway 404s), security problems (authorization policies, mTLS, JWT authentication), observability gaps (missing traces, Grafana output issues), EnvoyFilter breakage, or when upgrading Istio and migrating from EnvoyFilter to first-class APIs.
development
Guide for installing, deploying, debugging, and cleaning up Istio's ambient mode mesh. Use when working with Istio ambient mode, ztunnel proxies, ambient mesh traffic redirection, istio-cni, HBONE encryption, Bookinfo sample application deployment, or istioctl commands for ambient profile setup and teardown.
development
Configures PagerDuty v1 and v2 notification services for Argo CD. Use when setting up PagerDuty incident creation or event triggering from Argo CD notifications, including secrets, ConfigMaps, templates, and annotations for PagerDuty integrations.