mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 09:52:49 +00:00
Merge pull request #114789 from jkh52/thirty-five
Bump konnectivity-client to v0.0.35
This commit is contained in:
commit
6927c85268
@ -27,7 +27,7 @@ spec:
|
|||||||
nodeSelector:
|
nodeSelector:
|
||||||
kubernetes.io/os: linux
|
kubernetes.io/os: linux
|
||||||
containers:
|
containers:
|
||||||
- image: registry.k8s.io/kas-network-proxy/proxy-agent:v0.0.33
|
- image: registry.k8s.io/kas-network-proxy/proxy-agent:v0.0.35
|
||||||
name: konnectivity-agent
|
name: konnectivity-agent
|
||||||
command: ["/proxy-agent"]
|
command: ["/proxy-agent"]
|
||||||
args: [
|
args: [
|
||||||
|
@ -20,7 +20,7 @@ spec:
|
|||||||
{{ disallow_privilege_escalation}}
|
{{ disallow_privilege_escalation}}
|
||||||
{{ capabilities }}
|
{{ capabilities }}
|
||||||
{{ drop_capabilities }}
|
{{ drop_capabilities }}
|
||||||
image: registry.k8s.io/kas-network-proxy/proxy-server:v0.0.33
|
image: registry.k8s.io/kas-network-proxy/proxy-server:v0.0.35
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 25m
|
cpu: 25m
|
||||||
|
2
go.mod
2
go.mod
@ -240,7 +240,7 @@ require (
|
|||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
|
||||||
gopkg.in/warnings.v0 v0.1.1 // indirect
|
gopkg.in/warnings.v0 v0.1.1 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/kustomize/api v0.12.1 // indirect
|
sigs.k8s.io/kustomize/api v0.12.1 // indirect
|
||||||
sigs.k8s.io/kustomize/kustomize/v4 v4.5.7 // indirect
|
sigs.k8s.io/kustomize/kustomize/v4 v4.5.7 // indirect
|
||||||
|
6
go.sum
6
go.sum
@ -766,7 +766,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
@ -1291,8 +1291,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM=
|
sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM=
|
||||||
|
@ -121,7 +121,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
||||||
k8s.io/kms v0.0.0 // indirect
|
k8s.io/kms v0.0.0 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
@ -496,7 +496,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
@ -884,8 +884,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -50,7 +50,7 @@ require (
|
|||||||
k8s.io/kms v0.0.0
|
k8s.io/kms v0.0.0
|
||||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280
|
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280
|
||||||
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d
|
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
|
6
staging/src/k8s.io/apiserver/go.sum
generated
6
staging/src/k8s.io/apiserver/go.sum
generated
@ -527,7 +527,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
@ -998,8 +998,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -100,7 +100,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kms v0.0.0 // indirect
|
k8s.io/kms v0.0.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
|
6
staging/src/k8s.io/cloud-provider/go.sum
generated
6
staging/src/k8s.io/cloud-provider/go.sum
generated
@ -377,7 +377,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||||
@ -735,8 +735,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -62,7 +62,6 @@ require (
|
|||||||
go.opentelemetry.io/otel/metric v0.31.0 // indirect
|
go.opentelemetry.io/otel/metric v0.31.0 // indirect
|
||||||
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
||||||
go.uber.org/atomic v1.7.0 // indirect
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
go.uber.org/goleak v1.2.0 // indirect
|
|
||||||
go.uber.org/multierr v1.6.0 // indirect
|
go.uber.org/multierr v1.6.0 // indirect
|
||||||
golang.org/x/net v0.4.0 // indirect
|
golang.org/x/net v0.4.0 // indirect
|
||||||
golang.org/x/oauth2 v0.3.0 // indirect
|
golang.org/x/oauth2 v0.3.0 // indirect
|
||||||
|
3
staging/src/k8s.io/component-base/go.sum
generated
3
staging/src/k8s.io/component-base/go.sum
generated
@ -328,8 +328,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo=
|
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE=
|
go.uber.org/zap v1.19.0 h1:mZQZefskPPCMIBCSEH0v2/iUqqLrYtaeqwD6FUGUnFE=
|
||||||
|
@ -93,7 +93,7 @@ require (
|
|||||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
|
6
staging/src/k8s.io/controller-manager/go.sum
generated
6
staging/src/k8s.io/controller-manager/go.sum
generated
@ -369,7 +369,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||||
@ -721,8 +721,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -102,7 +102,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
||||||
k8s.io/kms v0.0.0 // indirect
|
k8s.io/kms v0.0.0 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
6
staging/src/k8s.io/kube-aggregator/go.sum
generated
6
staging/src/k8s.io/kube-aggregator/go.sum
generated
@ -373,7 +373,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||||
@ -735,8 +735,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -98,7 +98,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kms v0.0.0 // indirect
|
k8s.io/kms v0.0.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||||
)
|
)
|
||||||
|
6
staging/src/k8s.io/pod-security-admission/go.sum
generated
6
staging/src/k8s.io/pod-security-admission/go.sum
generated
@ -372,7 +372,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||||
@ -726,8 +726,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
@ -98,7 +98,7 @@ require (
|
|||||||
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d // indirect
|
||||||
k8s.io/klog/v2 v2.80.1 // indirect
|
k8s.io/klog/v2 v2.80.1 // indirect
|
||||||
k8s.io/kms v0.0.0 // indirect
|
k8s.io/kms v0.0.0 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
|
6
staging/src/k8s.io/sample-apiserver/go.sum
generated
6
staging/src/k8s.io/sample-apiserver/go.sum
generated
@ -368,7 +368,7 @@ go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI
|
|||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
|
||||||
go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk=
|
go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
|
||||||
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
|
||||||
@ -730,8 +730,8 @@ k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33 h1:LYqFq+6Cj2D0gFfrJvL7iElD4ET6ir3VDdhDdTK7rgc=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35 h1:+xBL5uTc+BkPBwmMi3vYfUJjq+N3K+H6PXeETwf5cPI=
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33/go.mod h1:soWkSNf2tZC7aMibXEqVhCd73GOY5fJikn8qbdzemB0=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
|
||||||
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
|
||||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -2399,9 +2399,11 @@ k8s.io/utils/pointer
|
|||||||
k8s.io/utils/strings
|
k8s.io/utils/strings
|
||||||
k8s.io/utils/strings/slices
|
k8s.io/utils/strings/slices
|
||||||
k8s.io/utils/trace
|
k8s.io/utils/trace
|
||||||
# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.33
|
# sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client
|
||||||
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics
|
||||||
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client
|
||||||
# sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2
|
# sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
|
119
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go
generated
vendored
119
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/client.go
generated
vendored
@ -29,6 +29,9 @@ import (
|
|||||||
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
|
||||||
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics"
|
||||||
|
commonmetrics "sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics"
|
||||||
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -131,6 +134,9 @@ type grpcTunnel struct {
|
|||||||
// closing should only be accessed through atomic methods.
|
// closing should only be accessed through atomic methods.
|
||||||
// TODO: switch this to an atomic.Bool once the client is exclusively buit with go1.19+
|
// TODO: switch this to an atomic.Bool once the client is exclusively buit with go1.19+
|
||||||
closing uint32
|
closing uint32
|
||||||
|
|
||||||
|
// Stores the current metrics.ClientConnectionStatus
|
||||||
|
prevStatus atomic.Value
|
||||||
}
|
}
|
||||||
|
|
||||||
type clientConn interface {
|
type clientConn interface {
|
||||||
@ -139,6 +145,11 @@ type clientConn interface {
|
|||||||
|
|
||||||
var _ clientConn = &grpc.ClientConn{}
|
var _ clientConn = &grpc.ClientConn{}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// Expose metrics for client to register.
|
||||||
|
Metrics = metrics.Metrics
|
||||||
|
)
|
||||||
|
|
||||||
// CreateSingleUseGrpcTunnel creates a Tunnel to dial to a remote server through a
|
// CreateSingleUseGrpcTunnel creates a Tunnel to dial to a remote server through a
|
||||||
// gRPC based proxy service.
|
// gRPC based proxy service.
|
||||||
// Currently, a single tunnel supports a single connection, and the tunnel is closed when the connection is terminated
|
// Currently, a single tunnel supports a single connection, and the tunnel is closed when the connection is terminated
|
||||||
@ -177,7 +188,7 @@ func CreateSingleUseGrpcTunnelWithContext(createCtx, tunnelCtx context.Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
func newUnstartedTunnel(stream client.ProxyService_ProxyClient, c clientConn) *grpcTunnel {
|
func newUnstartedTunnel(stream client.ProxyService_ProxyClient, c clientConn) *grpcTunnel {
|
||||||
return &grpcTunnel{
|
t := grpcTunnel{
|
||||||
stream: stream,
|
stream: stream,
|
||||||
clientConn: c,
|
clientConn: c,
|
||||||
pendingDial: pendingDialManager{pendingDials: make(map[int64]pendingDial)},
|
pendingDial: pendingDialManager{pendingDials: make(map[int64]pendingDial)},
|
||||||
@ -185,6 +196,36 @@ func newUnstartedTunnel(stream client.ProxyService_ProxyClient, c clientConn) *g
|
|||||||
readTimeoutSeconds: 10,
|
readTimeoutSeconds: 10,
|
||||||
done: make(chan struct{}),
|
done: make(chan struct{}),
|
||||||
}
|
}
|
||||||
|
s := metrics.ClientConnectionStatusCreated
|
||||||
|
t.prevStatus.Store(s)
|
||||||
|
metrics.Metrics.GetClientConnectionsMetric().WithLabelValues(string(s)).Inc()
|
||||||
|
return &t
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *grpcTunnel) updateMetric(status metrics.ClientConnectionStatus) {
|
||||||
|
select {
|
||||||
|
case <-t.Done():
|
||||||
|
return
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
|
||||||
|
prevStatus := t.prevStatus.Swap(status).(metrics.ClientConnectionStatus)
|
||||||
|
|
||||||
|
m := metrics.Metrics.GetClientConnectionsMetric()
|
||||||
|
m.WithLabelValues(string(prevStatus)).Dec()
|
||||||
|
m.WithLabelValues(string(status)).Inc()
|
||||||
|
}
|
||||||
|
|
||||||
|
// closeMetric should be called exactly once to finalize client_connections metric.
|
||||||
|
func (t *grpcTunnel) closeMetric() {
|
||||||
|
select {
|
||||||
|
case <-t.Done():
|
||||||
|
return
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
prevStatus := t.prevStatus.Load().(metrics.ClientConnectionStatus)
|
||||||
|
|
||||||
|
metrics.Metrics.GetClientConnectionsMetric().WithLabelValues(string(prevStatus)).Dec()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
||||||
@ -196,19 +237,29 @@ func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
|||||||
// close any channels remaining for these connections.
|
// close any channels remaining for these connections.
|
||||||
t.conns.closeAll()
|
t.conns.closeAll()
|
||||||
|
|
||||||
|
t.closeMetric()
|
||||||
|
|
||||||
close(t.done)
|
close(t.done)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
for {
|
for {
|
||||||
pkt, err := t.stream.Recv()
|
pkt, err := t.stream.Recv()
|
||||||
if err == io.EOF || t.isClosing() {
|
if err == io.EOF {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
const segment = commonmetrics.SegmentToClient
|
||||||
|
isClosing := t.isClosing()
|
||||||
if err != nil || pkt == nil {
|
if err != nil || pkt == nil {
|
||||||
klog.ErrorS(err, "stream read failure")
|
if !isClosing {
|
||||||
|
klog.ErrorS(err, "stream read failure")
|
||||||
|
}
|
||||||
|
metrics.Metrics.ObserveStreamErrorNoPacket(segment, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
metrics.Metrics.ObservePacket(segment, pkt.Type)
|
||||||
|
if isClosing {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
klog.V(5).InfoS("[tracing] recv packet", "type", pkt.Type)
|
klog.V(5).InfoS("[tracing] recv packet", "type", pkt.Type)
|
||||||
|
|
||||||
switch pkt.Type {
|
switch pkt.Type {
|
||||||
@ -222,13 +273,19 @@ func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
|||||||
// 2. grpcTunnel.DialContext() returned early due to a dial timeout or the client canceling the context
|
// 2. grpcTunnel.DialContext() returned early due to a dial timeout or the client canceling the context
|
||||||
//
|
//
|
||||||
// In either scenario, we should return here and close the tunnel as it is no longer needed.
|
// In either scenario, we should return here and close the tunnel as it is no longer needed.
|
||||||
klog.V(1).InfoS("DialResp not recognized; dropped", "connectionID", resp.ConnectID, "dialID", resp.Random)
|
kvs := []interface{}{"dialID", resp.Random, "connectID", resp.ConnectID}
|
||||||
|
if resp.Error != "" {
|
||||||
|
kvs = append(kvs, "error", resp.Error)
|
||||||
|
}
|
||||||
|
klog.V(1).InfoS("DialResp not recognized; dropped", kvs...)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
result := dialResult{connid: resp.ConnectID}
|
result := dialResult{connid: resp.ConnectID}
|
||||||
if resp.Error != "" {
|
if resp.Error != "" {
|
||||||
result.err = &dialFailure{resp.Error, DialFailureEndpoint}
|
result.err = &dialFailure{resp.Error, metrics.DialFailureEndpoint}
|
||||||
|
} else {
|
||||||
|
t.updateMetric(metrics.ClientConnectionStatusOk)
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
// try to send to the result channel
|
// try to send to the result channel
|
||||||
@ -263,7 +320,7 @@ func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
|||||||
klog.V(1).InfoS("DIAL_CLS after dial finished", "dialID", resp.Random)
|
klog.V(1).InfoS("DIAL_CLS after dial finished", "dialID", resp.Random)
|
||||||
} else {
|
} else {
|
||||||
result := dialResult{
|
result := dialResult{
|
||||||
err: &dialFailure{"dial closed", DialFailureDialClosed},
|
err: &dialFailure{"dial closed", metrics.DialFailureDialClosed},
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
case pendingDial.resultCh <- result:
|
case pendingDial.resultCh <- result:
|
||||||
@ -316,6 +373,15 @@ func (t *grpcTunnel) serve(tunnelCtx context.Context) {
|
|||||||
// Dial connects to the address on the named network, similar to
|
// Dial connects to the address on the named network, similar to
|
||||||
// what net.Dial does. The only supported protocol is tcp.
|
// what net.Dial does. The only supported protocol is tcp.
|
||||||
func (t *grpcTunnel) DialContext(requestCtx context.Context, protocol, address string) (net.Conn, error) {
|
func (t *grpcTunnel) DialContext(requestCtx context.Context, protocol, address string) (net.Conn, error) {
|
||||||
|
conn, err := t.dialContext(requestCtx, protocol, address)
|
||||||
|
if err != nil {
|
||||||
|
_, reason := GetDialFailureReason(err)
|
||||||
|
metrics.Metrics.ObserveDialFailure(reason)
|
||||||
|
}
|
||||||
|
return conn, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *grpcTunnel) dialContext(requestCtx context.Context, protocol, address string) (net.Conn, error) {
|
||||||
select {
|
select {
|
||||||
case <-t.done:
|
case <-t.done:
|
||||||
return nil, errors.New("tunnel is closed")
|
return nil, errors.New("tunnel is closed")
|
||||||
@ -326,6 +392,8 @@ func (t *grpcTunnel) DialContext(requestCtx context.Context, protocol, address s
|
|||||||
return nil, errors.New("protocol not supported")
|
return nil, errors.New("protocol not supported")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
t.updateMetric(metrics.ClientConnectionStatusDialing)
|
||||||
|
|
||||||
random := rand.Int63() /* #nosec G404 */
|
random := rand.Int63() /* #nosec G404 */
|
||||||
|
|
||||||
// This channel is closed once we're returning and no longer waiting on resultCh
|
// This channel is closed once we're returning and no longer waiting on resultCh
|
||||||
@ -350,8 +418,11 @@ func (t *grpcTunnel) DialContext(requestCtx context.Context, protocol, address s
|
|||||||
}
|
}
|
||||||
klog.V(5).InfoS("[tracing] send packet", "type", req.Type)
|
klog.V(5).InfoS("[tracing] send packet", "type", req.Type)
|
||||||
|
|
||||||
|
const segment = commonmetrics.SegmentFromClient
|
||||||
|
metrics.Metrics.ObservePacket(segment, req.Type)
|
||||||
err := t.stream.Send(req)
|
err := t.stream.Send(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
metrics.Metrics.ObserveStreamError(segment, err, req.Type)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -375,14 +446,14 @@ func (t *grpcTunnel) DialContext(requestCtx context.Context, protocol, address s
|
|||||||
case <-time.After(30 * time.Second):
|
case <-time.After(30 * time.Second):
|
||||||
klog.V(5).InfoS("Timed out waiting for DialResp", "dialID", random)
|
klog.V(5).InfoS("Timed out waiting for DialResp", "dialID", random)
|
||||||
go t.closeDial(random)
|
go t.closeDial(random)
|
||||||
return nil, &dialFailure{"dial timeout, backstop", DialFailureTimeout}
|
return nil, &dialFailure{"dial timeout, backstop", metrics.DialFailureTimeout}
|
||||||
case <-requestCtx.Done():
|
case <-requestCtx.Done():
|
||||||
klog.V(5).InfoS("Context canceled waiting for DialResp", "ctxErr", requestCtx.Err(), "dialID", random)
|
klog.V(5).InfoS("Context canceled waiting for DialResp", "ctxErr", requestCtx.Err(), "dialID", random)
|
||||||
go t.closeDial(random)
|
go t.closeDial(random)
|
||||||
return nil, &dialFailure{"dial timeout, context", DialFailureContext}
|
return nil, &dialFailure{"dial timeout, context", metrics.DialFailureContext}
|
||||||
case <-t.done:
|
case <-t.done:
|
||||||
klog.V(5).InfoS("Tunnel closed while waiting for DialResp", "dialID", random)
|
klog.V(5).InfoS("Tunnel closed while waiting for DialResp", "dialID", random)
|
||||||
return nil, &dialFailure{"tunnel closed", DialFailureTunnelClosed}
|
return nil, &dialFailure{"tunnel closed", metrics.DialFailureTunnelClosed}
|
||||||
}
|
}
|
||||||
|
|
||||||
return c, nil
|
return c, nil
|
||||||
@ -402,7 +473,10 @@ func (t *grpcTunnel) closeDial(dialID int64) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
const segment = commonmetrics.SegmentFromClient
|
||||||
|
metrics.Metrics.ObservePacket(segment, req.Type)
|
||||||
if err := t.stream.Send(req); err != nil {
|
if err := t.stream.Send(req); err != nil {
|
||||||
|
metrics.Metrics.ObserveStreamError(segment, err, req.Type)
|
||||||
klog.V(5).InfoS("Failed to send DIAL_CLS", "err", err, "dialID", dialID)
|
klog.V(5).InfoS("Failed to send DIAL_CLS", "err", err, "dialID", dialID)
|
||||||
}
|
}
|
||||||
t.closeTunnel()
|
t.closeTunnel()
|
||||||
@ -417,38 +491,19 @@ func (t *grpcTunnel) isClosing() bool {
|
|||||||
return atomic.LoadUint32(&t.closing) != 0
|
return atomic.LoadUint32(&t.closing) != 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDialFailureReason(err error) (isDialFailure bool, reason DialFailureReason) {
|
func GetDialFailureReason(err error) (isDialFailure bool, reason metrics.DialFailureReason) {
|
||||||
var df *dialFailure
|
var df *dialFailure
|
||||||
if errors.As(err, &df) {
|
if errors.As(err, &df) {
|
||||||
return true, df.reason
|
return true, df.reason
|
||||||
}
|
}
|
||||||
return false, DialFailureUnknown
|
return false, metrics.DialFailureUnknown
|
||||||
}
|
}
|
||||||
|
|
||||||
type dialFailure struct {
|
type dialFailure struct {
|
||||||
msg string
|
msg string
|
||||||
reason DialFailureReason
|
reason metrics.DialFailureReason
|
||||||
}
|
}
|
||||||
|
|
||||||
func (df *dialFailure) Error() string {
|
func (df *dialFailure) Error() string {
|
||||||
return df.msg
|
return df.msg
|
||||||
}
|
}
|
||||||
|
|
||||||
type DialFailureReason string
|
|
||||||
|
|
||||||
const (
|
|
||||||
DialFailureUnknown DialFailureReason = "unknown"
|
|
||||||
// DialFailureTimeout indicates the hard 30 second timeout was hit.
|
|
||||||
DialFailureTimeout DialFailureReason = "timeout"
|
|
||||||
// DialFailureContext indicates that the context was cancelled or reached it's deadline before
|
|
||||||
// the dial response was returned.
|
|
||||||
DialFailureContext DialFailureReason = "context"
|
|
||||||
// DialFailureEndpoint indicates that the konnectivity-agent was unable to reach the backend endpoint.
|
|
||||||
DialFailureEndpoint DialFailureReason = "endpoint"
|
|
||||||
// DialFailureDialClosed indicates that the client received a CloseDial response, indicating the
|
|
||||||
// connection was closed before the dial could complete.
|
|
||||||
DialFailureDialClosed DialFailureReason = "dialclosed"
|
|
||||||
// DialFailureTunnelClosed indicates that the client connection was closed before the dial could
|
|
||||||
// complete.
|
|
||||||
DialFailureTunnelClosed DialFailureReason = "tunnelclosed"
|
|
||||||
)
|
|
||||||
|
9
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/conn.go
generated
vendored
9
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/conn.go
generated
vendored
@ -23,6 +23,9 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
|
||||||
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics"
|
||||||
|
commonmetrics "sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics"
|
||||||
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -62,8 +65,11 @@ func (c *conn) Write(data []byte) (n int, err error) {
|
|||||||
|
|
||||||
klog.V(5).InfoS("[tracing] send req", "type", req.Type)
|
klog.V(5).InfoS("[tracing] send req", "type", req.Type)
|
||||||
|
|
||||||
|
const segment = commonmetrics.SegmentFromClient
|
||||||
|
metrics.Metrics.ObservePacket(segment, req.Type)
|
||||||
err = c.stream.Send(req)
|
err = c.stream.Send(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
metrics.Metrics.ObserveStreamError(segment, err, req.Type)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
return len(data), err
|
return len(data), err
|
||||||
@ -147,7 +153,10 @@ func (c *conn) Close() error {
|
|||||||
|
|
||||||
klog.V(5).InfoS("[tracing] send req", "type", req.Type)
|
klog.V(5).InfoS("[tracing] send req", "type", req.Type)
|
||||||
|
|
||||||
|
const segment = commonmetrics.SegmentFromClient
|
||||||
|
metrics.Metrics.ObservePacket(segment, req.Type)
|
||||||
if err := c.stream.Send(req); err != nil {
|
if err := c.stream.Send(req); err != nil {
|
||||||
|
metrics.Metrics.ObserveStreamError(segment, err, req.Type)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
162
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics/metrics.go
generated
vendored
Normal file
162
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/client/metrics/metrics.go
generated
vendored
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2022 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package metrics
|
||||||
|
|
||||||
|
import (
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
|
||||||
|
commonmetrics "sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics"
|
||||||
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
Namespace = "konnectivity_network_proxy"
|
||||||
|
Subsystem = "client"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
// Metrics provides access to all client metrics. The client
|
||||||
|
// application is responsible for registering (via Metrics.RegisterMetrics).
|
||||||
|
Metrics = newMetrics()
|
||||||
|
)
|
||||||
|
|
||||||
|
// ClientMetrics includes all the metrics of the konnectivity-client.
|
||||||
|
type ClientMetrics struct {
|
||||||
|
registerOnce sync.Once
|
||||||
|
streamPackets *prometheus.CounterVec
|
||||||
|
streamErrors *prometheus.CounterVec
|
||||||
|
dialFailures *prometheus.CounterVec
|
||||||
|
clientConns *prometheus.GaugeVec
|
||||||
|
}
|
||||||
|
|
||||||
|
type DialFailureReason string
|
||||||
|
|
||||||
|
const (
|
||||||
|
DialFailureUnknown DialFailureReason = "unknown"
|
||||||
|
// DialFailureTimeout indicates the hard 30 second timeout was hit.
|
||||||
|
DialFailureTimeout DialFailureReason = "timeout"
|
||||||
|
// DialFailureContext indicates that the context was cancelled or reached it's deadline before
|
||||||
|
// the dial response was returned.
|
||||||
|
DialFailureContext DialFailureReason = "context"
|
||||||
|
// DialFailureEndpoint indicates that the konnectivity-agent was unable to reach the backend endpoint.
|
||||||
|
DialFailureEndpoint DialFailureReason = "endpoint"
|
||||||
|
// DialFailureDialClosed indicates that the client received a CloseDial response, indicating the
|
||||||
|
// connection was closed before the dial could complete.
|
||||||
|
DialFailureDialClosed DialFailureReason = "dialclosed"
|
||||||
|
// DialFailureTunnelClosed indicates that the client connection was closed before the dial could
|
||||||
|
// complete.
|
||||||
|
DialFailureTunnelClosed DialFailureReason = "tunnelclosed"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ClientConnectionStatus string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// The connection is created but has not yet been dialed.
|
||||||
|
ClientConnectionStatusCreated ClientConnectionStatus = "created"
|
||||||
|
// The connection is pending dial response.
|
||||||
|
ClientConnectionStatusDialing ClientConnectionStatus = "dialing"
|
||||||
|
// The connection is established.
|
||||||
|
ClientConnectionStatusOk ClientConnectionStatus = "ok"
|
||||||
|
// The connection is closing.
|
||||||
|
ClientConnectionStatusClosing ClientConnectionStatus = "closing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func newMetrics() *ClientMetrics {
|
||||||
|
// The denominator (total dials started) for both
|
||||||
|
// dial_failure_total and dial_duration_seconds is the
|
||||||
|
// stream_packets_total (common metric), where segment is
|
||||||
|
// "from_client" and packet_type is "DIAL_REQ".
|
||||||
|
dialFailures := prometheus.NewCounterVec(
|
||||||
|
prometheus.CounterOpts{
|
||||||
|
Namespace: Namespace,
|
||||||
|
Subsystem: Subsystem,
|
||||||
|
Name: "dial_failure_total",
|
||||||
|
Help: "Number of dial failures observed, by reason (example: remote endpoint error)",
|
||||||
|
},
|
||||||
|
[]string{
|
||||||
|
"reason",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
clientConns := prometheus.NewGaugeVec(
|
||||||
|
prometheus.GaugeOpts{
|
||||||
|
Namespace: Namespace,
|
||||||
|
Subsystem: Subsystem,
|
||||||
|
Name: "client_connections",
|
||||||
|
Help: "Number of open client connections, by status (Example: dialing)",
|
||||||
|
},
|
||||||
|
[]string{
|
||||||
|
"status",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
return &ClientMetrics{
|
||||||
|
streamPackets: commonmetrics.MakeStreamPacketsTotalMetric(Namespace, Subsystem),
|
||||||
|
streamErrors: commonmetrics.MakeStreamErrorsTotalMetric(Namespace, Subsystem),
|
||||||
|
dialFailures: dialFailures,
|
||||||
|
clientConns: clientConns,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// RegisterMetrics registers all metrics with the client application.
|
||||||
|
func (c *ClientMetrics) RegisterMetrics(r prometheus.Registerer) {
|
||||||
|
c.registerOnce.Do(func() {
|
||||||
|
r.MustRegister(c.streamPackets)
|
||||||
|
r.MustRegister(c.streamErrors)
|
||||||
|
r.MustRegister(c.dialFailures)
|
||||||
|
r.MustRegister(c.clientConns)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// LegacyRegisterMetrics registers all metrics via MustRegister func.
|
||||||
|
// TODO: remove this once https://github.com/kubernetes/kubernetes/pull/114293 is available.
|
||||||
|
func (c *ClientMetrics) LegacyRegisterMetrics(mustRegisterFn func(...prometheus.Collector)) {
|
||||||
|
c.registerOnce.Do(func() {
|
||||||
|
mustRegisterFn(c.streamPackets)
|
||||||
|
mustRegisterFn(c.streamErrors)
|
||||||
|
mustRegisterFn(c.dialFailures)
|
||||||
|
mustRegisterFn(c.clientConns)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset resets the metrics.
|
||||||
|
func (c *ClientMetrics) Reset() {
|
||||||
|
c.streamPackets.Reset()
|
||||||
|
c.streamErrors.Reset()
|
||||||
|
c.dialFailures.Reset()
|
||||||
|
c.clientConns.Reset()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ClientMetrics) ObserveDialFailure(reason DialFailureReason) {
|
||||||
|
c.dialFailures.WithLabelValues(string(reason)).Inc()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ClientMetrics) GetClientConnectionsMetric() *prometheus.GaugeVec {
|
||||||
|
return c.clientConns
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ClientMetrics) ObservePacket(segment commonmetrics.Segment, packetType client.PacketType) {
|
||||||
|
commonmetrics.ObservePacket(c.streamPackets, segment, packetType)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ClientMetrics) ObserveStreamErrorNoPacket(segment commonmetrics.Segment, err error) {
|
||||||
|
commonmetrics.ObserveStreamErrorNoPacket(c.streamErrors, segment, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *ClientMetrics) ObserveStreamError(segment commonmetrics.Segment, err error, packetType client.PacketType) {
|
||||||
|
commonmetrics.ObserveStreamError(c.streamErrors, segment, err, packetType)
|
||||||
|
}
|
78
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics/metrics.go
generated
vendored
Normal file
78
vendor/sigs.k8s.io/apiserver-network-proxy/konnectivity-client/pkg/common/metrics/metrics.go
generated
vendored
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2022 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package metrics provides metric definitions and helpers used
|
||||||
|
// across konnectivity client, server, and agent.
|
||||||
|
package metrics
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
"google.golang.org/grpc/status"
|
||||||
|
|
||||||
|
"sigs.k8s.io/apiserver-network-proxy/konnectivity-client/proto/client"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Segment identifies one of four tunnel segments (e.g. from server to agent).
|
||||||
|
type Segment string
|
||||||
|
|
||||||
|
const (
|
||||||
|
// SegmentFromClient indicates a packet from client to server.
|
||||||
|
SegmentFromClient Segment = "from_client"
|
||||||
|
// SegmentToClient indicates a packet from server to client.
|
||||||
|
SegmentToClient Segment = "to_client"
|
||||||
|
// SegmentFromAgent indicates a packet from agent to server.
|
||||||
|
SegmentFromAgent Segment = "from_agent"
|
||||||
|
// SegmentToAgent indicates a packet from server to agent.
|
||||||
|
SegmentToAgent Segment = "to_agent"
|
||||||
|
)
|
||||||
|
|
||||||
|
func MakeStreamPacketsTotalMetric(namespace, subsystem string) *prometheus.CounterVec {
|
||||||
|
return prometheus.NewCounterVec(
|
||||||
|
prometheus.CounterOpts{
|
||||||
|
Namespace: namespace,
|
||||||
|
Subsystem: subsystem,
|
||||||
|
Name: "stream_packets_total",
|
||||||
|
Help: "Count of packets processed, by segment and packet type (example: from_client, DIAL_REQ)",
|
||||||
|
},
|
||||||
|
[]string{"segment", "packet_type"},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func MakeStreamErrorsTotalMetric(namespace, subsystem string) *prometheus.CounterVec {
|
||||||
|
return prometheus.NewCounterVec(
|
||||||
|
prometheus.CounterOpts{
|
||||||
|
Namespace: namespace,
|
||||||
|
Subsystem: subsystem,
|
||||||
|
Name: "stream_errors_total",
|
||||||
|
Help: "Count of gRPC stream errors, by segment, grpc Code, packet type. (example: from_agent, Code.Unavailable, DIAL_RSP)",
|
||||||
|
},
|
||||||
|
[]string{"segment", "code", "packet_type"},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func ObservePacket(m *prometheus.CounterVec, segment Segment, packetType client.PacketType) {
|
||||||
|
m.WithLabelValues(string(segment), packetType.String()).Inc()
|
||||||
|
}
|
||||||
|
|
||||||
|
func ObserveStreamErrorNoPacket(m *prometheus.CounterVec, segment Segment, err error) {
|
||||||
|
code := status.Code(err)
|
||||||
|
m.WithLabelValues(string(segment), code.String(), "Unknown").Inc()
|
||||||
|
}
|
||||||
|
|
||||||
|
func ObserveStreamError(m *prometheus.CounterVec, segment Segment, err error, packetType client.PacketType) {
|
||||||
|
code := status.Code(err)
|
||||||
|
m.WithLabelValues(string(segment), code.String(), packetType.String()).Inc()
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user