Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from istio:master #2181

Open
wants to merge 29 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6595c12
add x-envoy-attempt-count to proxy headers (#53519)
ramaraochavali Oct 12, 2024
e3b7c36
Automator: update proxy@master in istio/istio@master (#53520)
istio-testing Oct 13, 2024
743bb9f
Automator: update proxy@master in istio/istio@master (#53528)
istio-testing Oct 14, 2024
abff8b6
Include .Values.seLinuxOptions in istio-cni-node DaemonSet (#53529)
luksa Oct 14, 2024
358edc0
Automator: update ztunnel@master in istio/istio@master (#53535)
istio-testing Oct 15, 2024
ed37def
ambient: introduce a new "ingress mode" (#53476)
howardjohn Oct 15, 2024
78f4c95
native-sidecars: add per-pod opt-in/out annotation (#53490)
dwj300 Oct 15, 2024
be801ce
cleanup: remove istio_authn generator (#53534)
kyessenov Oct 15, 2024
b3833d4
Automator: update common-files@master in istio/istio@master (#53544)
istio-testing Oct 15, 2024
09008a1
Automator: update proxy@master in istio/istio@master (#53540)
istio-testing Oct 15, 2024
ecaa3ab
Run make gen (#53545)
jacob-delgado Oct 15, 2024
1d92787
Add initial ztunnel cross-version test (#53499)
therealmitchconnors Oct 16, 2024
41ed9b0
Automator: update proxy@master in istio/istio@master (#53552)
istio-testing Oct 16, 2024
24188c7
validation: future proof unknown versions (#53489)
howardjohn Oct 16, 2024
37fef5d
Fix mirroring from waypoints (#53463)
howardjohn Oct 16, 2024
7788b53
Fix remote profile (#53542)
luksa Oct 16, 2024
0f6609f
Automator: update ztunnel@master in istio/istio@master (#53546)
istio-testing Oct 16, 2024
ace63da
manifests: fix gateway waypoint template on OpenShift (#53533)
yxun Oct 17, 2024
1f34829
Add seLinuxOptions to istio-cni/values.yaml (#53566)
luksa Oct 18, 2024
d643c2b
feat(destinationRule): :rocket: Adding warmup configuration (#53472)
frgaudet Oct 18, 2024
fe0f465
Automator: update proxy@master in istio/istio@master (#53565)
istio-testing Oct 18, 2024
edb10b0
Bring deferred_stat_options out of the condition for cluster_manager …
Sandeep-Varma Oct 18, 2024
7167a66
istioctl: fix injector list prints webhooks not related to istio (#53…
my-git9 Oct 18, 2024
5d760b5
Fix openshift and openshift-ambient profiles (#53574)
luksa Oct 18, 2024
8eabb54
Automator: update proxy@master in istio/istio@master (#53575)
istio-testing Oct 18, 2024
36428a5
Always set type to spc_t for istio-cni if seLinux is configured (#53576)
keithmattix Oct 18, 2024
8aea55e
Automator: update istio/client-go@master dependency in istio/istio@ma…
istio-testing Oct 18, 2024
09f60a7
Automator: update proxy@master in istio/istio@master (#53584)
istio-testing Oct 19, 2024
0bcbad8
Automator: update proxy@master in istio/istio@master (#53586)
istio-testing Oct 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "istio build-tools",
"image": "gcr.io/istio-testing/build-tools:master-621a64a11b30f703b2e887df91862fffdd16112e",
"image": "gcr.io/istio-testing/build-tools:master-4759bf88d40172234fc6a0b9e11a4c5f1ea58a90",
"privileged": true,
"remoteEnv": {
"USE_GKE_GCLOUD_AUTH_PLUGIN": "True",
Expand Down
61 changes: 34 additions & 27 deletions cni/pkg/iptables/iptables.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,9 +193,9 @@ func (cfg *IptablesConfigurator) executeDeleteCommands() error {

// Setup iptables rules for in-pod mode. Ideally this should be an idempotent function.
// NOTE that this expects to be run from within the pod network namespace!
func (cfg *IptablesConfigurator) CreateInpodRules(log *istiolog.Scope, hostProbeSNAT, hostProbeV6SNAT netip.Addr) error {
func (cfg *IptablesConfigurator) CreateInpodRules(log *istiolog.Scope, hostProbeSNAT, hostProbeV6SNAT netip.Addr, ingressMode bool) error {
// Append our rules here
builder := cfg.appendInpodRules(hostProbeSNAT, hostProbeV6SNAT)
builder := cfg.appendInpodRules(hostProbeSNAT, hostProbeV6SNAT, ingressMode)

if err := cfg.addLoopbackRoute(); err != nil {
return err
Expand All @@ -214,8 +214,13 @@ func (cfg *IptablesConfigurator) CreateInpodRules(log *istiolog.Scope, hostProbe
return nil
}

func (cfg *IptablesConfigurator) appendInpodRules(hostProbeSNAT, hostProbeV6SNAT netip.Addr) *builder.IptablesRuleBuilder {
func (cfg *IptablesConfigurator) appendInpodRules(hostProbeSNAT, hostProbeV6SNAT netip.Addr, ingressMode bool) *builder.IptablesRuleBuilder {
redirectDNS := cfg.cfg.RedirectDNS
if ingressMode && cfg.cfg.TPROXYRedirection {
ingressMode = false
// We could support this, but TPROXYRedirection is deprecated and will be removed soon, so we can just test less.
log.Warnf("ignoring ingressMode due to TPROXYRedirection being enabled. These are mutually exclusive")
}

inpodMark := fmt.Sprintf("0x%x", InpodMark) + "/" + fmt.Sprintf("0x%x", InpodMask)
inpodTproxyMark := fmt.Sprintf("0x%x", InpodTProxyMark) + "/" + fmt.Sprintf("0x%x", InpodTProxyMask)
Expand Down Expand Up @@ -267,31 +272,33 @@ func (cfg *IptablesConfigurator) appendInpodRules(hostProbeSNAT, hostProbeV6SNAT

// From here on, we should be only inserting rules into our custom chains.

// CLI: -A ISTIO_PRERT -m mark --mark 0x539/0xfff -j CONNMARK --set-xmark 0x111/0xfff
//
// DESC: If we have a packet mark, set a connmark.
iptablesBuilder.AppendRule(iptableslog.UndefinedCommand, ChainInpodPrerouting, iptablesconstants.MANGLE, "-m", "mark",
"--mark", inpodMark,
"-j", "CONNMARK",
"--set-xmark", inpodTproxyMark)
if !ingressMode {
// CLI: -A ISTIO_PRERT -m mark --mark 0x539/0xfff -j CONNMARK --set-xmark 0x111/0xfff
//
// DESC: If we have a packet mark, set a connmark.
iptablesBuilder.AppendRule(iptableslog.UndefinedCommand, ChainInpodPrerouting, iptablesconstants.MANGLE, "-m", "mark",
"--mark", inpodMark,
"-j", "CONNMARK",
"--set-xmark", inpodTproxyMark)

// Handle healthcheck probes from the host node. In the host netns, before the packet enters the pod, we SNAT
// the healthcheck packet to a fixed IP if the packet is coming from a node-local process with a socket.
//
// We do this so we can exempt this traffic from ztunnel capture/proxy - otherwise both kube-proxy (legit)
// and kubelet (skippable) traffic would have the same srcip once they got to the pod, and would be indistinguishable.
// Handle healthcheck probes from the host node. In the host netns, before the packet enters the pod, we SNAT
// the healthcheck packet to a fixed IP if the packet is coming from a node-local process with a socket.
//
// We do this so we can exempt this traffic from ztunnel capture/proxy - otherwise both kube-proxy (legit)
// and kubelet (skippable) traffic would have the same srcip once they got to the pod, and would be indistinguishable.

// CLI: -t mangle -A ISTIO_PRERT -s 169.254.7.127 -p tcp -m tcp --dport <PROBEPORT> -j ACCEPT
// CLI: -t mangle -A ISTIO_PRERT -s fd16:9254:7127:1337:ffff:ffff:ffff:ffff -p tcp -m tcp --dport <PROBEPORT> -j ACCEPT
//
// DESC: If this is one of our node-probe ports and is from our SNAT-ed/"special" hostside IP, short-circuit out here
iptablesBuilder.AppendVersionedRule(hostProbeSNAT.String(), hostProbeV6SNAT.String(),
iptableslog.UndefinedCommand, ChainInpodPrerouting, natOrMangleBasedOnTproxy,
"-s", iptablesconstants.IPVersionSpecific,
"-p", "tcp",
"-m", "tcp",
"-j", "ACCEPT",
)
// CLI: -t mangle -A ISTIO_PRERT -s 169.254.7.127 -p tcp -m tcp --dport <PROBEPORT> -j ACCEPT
// CLI: -t mangle -A ISTIO_PRERT -s fd16:9254:7127:1337:ffff:ffff:ffff:ffff -p tcp -m tcp --dport <PROBEPORT> -j ACCEPT
//
// DESC: If this is one of our node-probe ports and is from our SNAT-ed/"special" hostside IP, short-circuit out here
iptablesBuilder.AppendVersionedRule(hostProbeSNAT.String(), hostProbeV6SNAT.String(),
iptableslog.UndefinedCommand, ChainInpodPrerouting, natOrMangleBasedOnTproxy,
"-s", iptablesconstants.IPVersionSpecific,
"-p", "tcp",
"-m", "tcp",
"-j", "ACCEPT",
)
}

// CLI: -t NAT -A ISTIO_OUTPUT -d 169.254.7.127 -p tcp -m tcp -j ACCEPT
// CLI: -t NAT -A ISTIO_OUTPUT -d fd16:9254:7127:1337:ffff:ffff:ffff:ffff -p tcp -m tcp -j ACCEPT
Expand Down Expand Up @@ -352,7 +359,7 @@ func (cfg *IptablesConfigurator) appendInpodRules(hostProbeSNAT, hostProbeV6SNAT
"--on-port", fmt.Sprintf("%d", ZtunnelInboundPlaintextPort),
"--tproxy-mark", inpodTproxyMark,
)
} else {
} else if !ingressMode {
// CLI: -A ISTIO_PRERT ! -d 127.0.0.1/32 -p tcp ! --dport 15008 -m mark ! --mark 0x539/0xfff -j REDIRECT --to-ports <INPLAINPORT>
//
// DESC: Anything that is not bound for localhost and does not have the mark, REDIRECT to ztunnel inbound plaintext port <INPLAINPORT>
Expand Down
4 changes: 2 additions & 2 deletions cni/pkg/iptables/iptables_e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func TestIptablesCleanRoundTrip(t *testing.T) {

deps := &dep.RealDependencies{}
iptConfigurator, _, _ := NewIptablesConfigurator(cfg, deps, deps, EmptyNlDeps())
assert.NoError(t, iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6))
assert.NoError(t, iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6, false))

t.Log("starting cleanup")
// Cleanup, should work
Expand All @@ -63,7 +63,7 @@ func TestIptablesCleanRoundTrip(t *testing.T) {

t.Log("second run")
// Add again, should still work
assert.NoError(t, iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6))
assert.NoError(t, iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6, false))
}

func validateIptablesClean(t *testing.T) {
Expand Down
25 changes: 16 additions & 9 deletions cni/pkg/iptables/iptables_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,29 @@ import (

func TestIptables(t *testing.T) {
cases := []struct {
name string
config func(cfg *Config)
name string
config func(cfg *Config)
ingressMode bool
}{
{
"default",
func(cfg *Config) {
name: "default",
config: func(cfg *Config) {
cfg.RedirectDNS = true
},
},
{
"tproxy",
func(cfg *Config) {
name: "tproxy",
config: func(cfg *Config) {
cfg.TPROXYRedirection = true
cfg.RedirectDNS = true
},
},
{
name: "ingress",
config: func(cfg *Config) {
},
ingressMode: true,
},
}
probeSNATipv4 := netip.MustParseAddr("169.254.7.127")
probeSNATipv6 := netip.MustParseAddr("e9ac:1e77:90ca:399f:4d6d:ece2:2f9b:3164")
Expand All @@ -55,7 +62,7 @@ func TestIptables(t *testing.T) {
tt.config(cfg)
ext := &dep.DependenciesStub{}
iptConfigurator, _, _ := NewIptablesConfigurator(cfg, ext, ext, EmptyNlDeps())
err := iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6)
err := iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6, tt.ingressMode)
if err != nil {
t.Fatal(err)
}
Expand Down Expand Up @@ -117,15 +124,15 @@ func TestInvokedTwiceIsIdempotent(t *testing.T) {
tt.config(cfg)
ext := &dep.DependenciesStub{}
iptConfigurator, _, _ := NewIptablesConfigurator(cfg, ext, ext, EmptyNlDeps())
err := iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6)
err := iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6, false)
if err != nil {
t.Fatal(err)
}
compareToGolden(t, false, tt.name, ext.ExecutedAll)

*ext = dep.DependenciesStub{}
// run another time to make sure we are idempotent
err = iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6)
err = iptConfigurator.CreateInpodRules(scopes.CNIAgent, probeSNATipv4, probeSNATipv6, false)
if err != nil {
t.Fatal(err)
}
Expand Down
17 changes: 17 additions & 0 deletions cni/pkg/iptables/testdata/ingress.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
* mangle
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A PREROUTING -j ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A ISTIO_OUTPUT -m connmark --mark 0x111/0xfff -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
COMMIT
* nat
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A PREROUTING -j ISTIO_PRERT
-A ISTIO_OUTPUT -d 169.254.7.127 -p tcp -m tcp -j ACCEPT
-A ISTIO_OUTPUT -p tcp -m mark --mark 0x111/0xfff -j ACCEPT
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -j ACCEPT
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -p tcp -m mark ! --mark 0x539/0xfff -j REDIRECT --to-ports 15001
COMMIT
34 changes: 34 additions & 0 deletions cni/pkg/iptables/testdata/ingress_ipv6.golden
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
* mangle
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A PREROUTING -j ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A ISTIO_OUTPUT -m connmark --mark 0x111/0xfff -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
COMMIT
* nat
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A PREROUTING -j ISTIO_PRERT
-A ISTIO_OUTPUT -d 169.254.7.127 -p tcp -m tcp -j ACCEPT
-A ISTIO_OUTPUT -p tcp -m mark --mark 0x111/0xfff -j ACCEPT
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -o lo -j ACCEPT
-A ISTIO_OUTPUT ! -d 127.0.0.1/32 -p tcp -m mark ! --mark 0x539/0xfff -j REDIRECT --to-ports 15001
COMMIT
* mangle
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A PREROUTING -j ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A ISTIO_OUTPUT -m connmark --mark 0x111/0xfff -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
COMMIT
* nat
-N ISTIO_OUTPUT
-N ISTIO_PRERT
-A OUTPUT -j ISTIO_OUTPUT
-A PREROUTING -j ISTIO_PRERT
-A ISTIO_OUTPUT -d e9ac:1e77:90ca:399f:4d6d:ece2:2f9b:3164 -p tcp -m tcp -j ACCEPT
-A ISTIO_OUTPUT -p tcp -m mark --mark 0x111/0xfff -j ACCEPT
-A ISTIO_OUTPUT ! -d ::1/128 -o lo -j ACCEPT
-A ISTIO_OUTPUT ! -d ::1/128 -p tcp -m mark ! --mark 0x539/0xfff -j REDIRECT --to-ports 15001
COMMIT
16 changes: 15 additions & 1 deletion cni/pkg/nodeagent/net.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import (
"errors"
"fmt"
"net/netip"
"strconv"

corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/types"
Expand Down Expand Up @@ -125,9 +126,22 @@ func (s *NetServer) AddPodToMesh(ctx context.Context, pod *corev1.Pod, podIPs []
return err
}

// If true, the pod will run in 'ingress mode'. This is intended to be used for "ingress" type workloads which handle
// non-mesh traffic on inbound, and send to the mesh on outbound.
// Basically, this just disables inbound redirection.
// We use the SidecarTrafficExcludeInboundPorts annotation for compatibility (its somewhat widely used) but don't support all values.
ingressMode := false
if a, f := pod.Annotations["ambient.istio.io/bypassInboundCapture"]; f {
var err error
ingressMode, err = strconv.ParseBool(a)
if err != nil {
log.Warnf("annotation ambient.istio.io/bypassInboundCapture=%q found, but only '*' is supported", a)
}
}

log.Debug("calling CreateInpodRules")
if err := s.netnsRunner(openNetns, func() error {
return s.podIptables.CreateInpodRules(log, HostProbeSNATIP, HostProbeSNATIPV6)
return s.podIptables.CreateInpodRules(log, HostProbeSNATIP, HostProbeSNATIPV6, ingressMode)
}); err != nil {
log.Errorf("failed to update POD inpod: %s/%s %v", pod.Namespace, pod.Name, err)
return err
Expand Down
2 changes: 1 addition & 1 deletion common/.commonfiles.sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
d09ba3d6a3a89b606bae1bbe4a1e6537b1b72d79
82dc68a737b72d394c344d4fd71ff9e9ebf01852
2 changes: 1 addition & 1 deletion common/scripts/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ fi
TOOLS_REGISTRY_PROVIDER=${TOOLS_REGISTRY_PROVIDER:-gcr.io}
PROJECT_ID=${PROJECT_ID:-istio-testing}
if [[ "${IMAGE_VERSION:-}" == "" ]]; then
IMAGE_VERSION=master-621a64a11b30f703b2e887df91862fffdd16112e
IMAGE_VERSION=master-4759bf88d40172234fc6a0b9e11a4c5f1ea58a90
fi
if [[ "${IMAGE_NAME:-}" == "" ]]; then
IMAGE_NAME=build-tools
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ require (
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
helm.sh/helm/v3 v3.16.1
istio.io/api v1.23.0-alpha.0.0.20241007133624-bfb6855a7760
istio.io/client-go v1.23.0-alpha.0.0.20241007133923-6216dcee5376
istio.io/api v1.24.0-alpha.0.0.20241018201654-7c8ec5b5ab72
istio.io/client-go v1.24.0-alpha.0.0.20241018201953-b3ca3b2a6ef6
k8s.io/api v0.31.1
k8s.io/apiextensions-apiserver v0.31.1
k8s.io/apimachinery v0.31.1
Expand Down
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -637,10 +637,10 @@ helm.sh/helm/v3 v3.16.1 h1:cER6tI/8PgUAsaJaQCVBUg3VI9KN4oVaZJgY60RIc0c=
helm.sh/helm/v3 v3.16.1/go.mod h1:r+xBHHP20qJeEqtvBXMf7W35QDJnzY/eiEBzt+TfHps=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
istio.io/api v1.23.0-alpha.0.0.20241007133624-bfb6855a7760 h1:B/Lpky3Hj8dh8CK3C39+NEPGrwNlTf3hvvrrg5pzeYg=
istio.io/api v1.23.0-alpha.0.0.20241007133624-bfb6855a7760/go.mod h1:MQnRok7RZ20/PE56v0LxmoWH0xVxnCQPNuf9O7PAN1I=
istio.io/client-go v1.23.0-alpha.0.0.20241007133923-6216dcee5376 h1:aM+5v210jEo461mnWhjebrlbN42us9TkFxKD2af9zdg=
istio.io/client-go v1.23.0-alpha.0.0.20241007133923-6216dcee5376/go.mod h1:FMeaDxfTkjxUR+j4Chn7L5TqykTdfUNd3Pq9ZeEVipc=
istio.io/api v1.24.0-alpha.0.0.20241018201654-7c8ec5b5ab72 h1:AVg/4p5sVhZT6JwBczgvAy9idbVYiCqZFE/QVXNKy/k=
istio.io/api v1.24.0-alpha.0.0.20241018201654-7c8ec5b5ab72/go.mod h1:MQnRok7RZ20/PE56v0LxmoWH0xVxnCQPNuf9O7PAN1I=
istio.io/client-go v1.24.0-alpha.0.0.20241018201953-b3ca3b2a6ef6 h1:qVjgBbqg19vZCpeTMQR0QM8SRfLZTtaSXgWbnWRb0fo=
istio.io/client-go v1.24.0-alpha.0.0.20241018201953-b3ca3b2a6ef6/go.mod h1:usBQZ/vvpGAUA6yGiz6x9ufG50gRC9v0332MesA/lNw=
k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
Expand Down
4 changes: 2 additions & 2 deletions istio.deps
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"name": "PROXY_REPO_SHA",
"repoName": "proxy",
"file": "",
"lastStableSHA": "ddae7098b888d441bf5a3d717ff695e8c23063d7"
"lastStableSHA": "b61546a0548bbd9a4d5d42ac014d8c8e3103f144"
},
{
"_comment": "",
"name": "ZTUNNEL_REPO_SHA",
"repoName": "ztunnel",
"file": "",
"lastStableSHA": "dc177249242e9df8ff6cf849413e3656b9274858"
"lastStableSHA": "5739a4926b502396cc274411844ec08ad74da782"
}
]
4 changes: 3 additions & 1 deletion istioctl/pkg/injector/injector-list.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,9 @@ func injectorListCommand(ctx cli.Context) *cobra.Command {
}
}

hooksList, err := client.Kube().AdmissionregistrationV1().MutatingWebhookConfigurations().List(context.Background(), metav1.ListOptions{})
hooksList, err := client.Kube().AdmissionregistrationV1().MutatingWebhookConfigurations().List(context.Background(), metav1.ListOptions{
LabelSelector: "app=sidecar-injector",
})
if err != nil {
return err
}
Expand Down
Loading