mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-20 18:31:15 +00:00
Update etcd client to 3.3.16
This commit is contained in:
parent
6284c9ab52
commit
ad6aeecf30
4
go.mod
4
go.mod
@ -38,7 +38,7 @@ require (
|
|||||||
github.com/containerd/typeurl v0.0.0-20190228175220-2a93cfde8c20 // indirect
|
github.com/containerd/typeurl v0.0.0-20190228175220-2a93cfde8c20 // indirect
|
||||||
github.com/containernetworking/cni v0.7.1
|
github.com/containernetworking/cni v0.7.1
|
||||||
github.com/coredns/corefile-migration v1.0.2
|
github.com/coredns/corefile-migration v1.0.2
|
||||||
github.com/coreos/etcd v3.3.15+incompatible
|
github.com/coreos/etcd v3.3.16+incompatible
|
||||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
|
||||||
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea
|
github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea
|
||||||
github.com/coreos/rkt v1.30.0 // indirect
|
github.com/coreos/rkt v1.30.0 // indirect
|
||||||
@ -227,7 +227,7 @@ replace (
|
|||||||
github.com/containernetworking/cni => github.com/containernetworking/cni v0.7.1
|
github.com/containernetworking/cni => github.com/containernetworking/cni v0.7.1
|
||||||
github.com/coredns/corefile-migration => github.com/coredns/corefile-migration v1.0.2
|
github.com/coredns/corefile-migration => github.com/coredns/corefile-migration v1.0.2
|
||||||
github.com/coreos/bbolt => github.com/coreos/bbolt v1.3.1-coreos.6
|
github.com/coreos/bbolt => github.com/coreos/bbolt v1.3.1-coreos.6
|
||||||
github.com/coreos/etcd => github.com/coreos/etcd v3.3.15+incompatible
|
github.com/coreos/etcd => github.com/coreos/etcd v3.3.16+incompatible
|
||||||
github.com/coreos/go-etcd => github.com/coreos/go-etcd v2.0.0+incompatible
|
github.com/coreos/go-etcd => github.com/coreos/go-etcd v2.0.0+incompatible
|
||||||
github.com/coreos/go-oidc => github.com/coreos/go-oidc v2.1.0+incompatible
|
github.com/coreos/go-oidc => github.com/coreos/go-oidc v2.1.0+incompatible
|
||||||
github.com/coreos/go-semver => github.com/coreos/go-semver v0.3.0
|
github.com/coreos/go-semver => github.com/coreos/go-semver v0.3.0
|
||||||
|
4
go.sum
4
go.sum
@ -97,8 +97,8 @@ github.com/coredns/corefile-migration v1.0.2 h1:kQga1ATFIZdkBtU6c/oJdtASLcCRkDh3
|
|||||||
github.com/coredns/corefile-migration v1.0.2/go.mod h1:OFwBp/Wc9dJt5cAZzHWMNhK1r5L0p0jDwIBc6j8NC8E=
|
github.com/coredns/corefile-migration v1.0.2/go.mod h1:OFwBp/Wc9dJt5cAZzHWMNhK1r5L0p0jDwIBc6j8NC8E=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible h1:+9RjdC18gMxNQVvSiXvObLu29mOFmkgdsB4cRTlV+EE=
|
github.com/coreos/etcd v3.3.16+incompatible h1:hQaR//OAeI1FQ3G5bGRL9VpFOCurqnEHSup4W693Tb4=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
|
github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
|
@ -5,7 +5,7 @@ module k8s.io/apiextensions-apiserver
|
|||||||
go 1.12
|
go 1.12
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/coreos/etcd v3.3.15+incompatible
|
github.com/coreos/etcd v3.3.16+incompatible
|
||||||
github.com/emicklei/go-restful v2.9.5+incompatible
|
github.com/emicklei/go-restful v2.9.5+incompatible
|
||||||
github.com/go-openapi/errors v0.19.2
|
github.com/go-openapi/errors v0.19.2
|
||||||
github.com/go-openapi/spec v0.19.2
|
github.com/go-openapi/spec v0.19.2
|
||||||
|
@ -39,8 +39,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
|||||||
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible h1:+9RjdC18gMxNQVvSiXvObLu29mOFmkgdsB4cRTlV+EE=
|
github.com/coreos/etcd v3.3.16+incompatible h1:hQaR//OAeI1FQ3G5bGRL9VpFOCurqnEHSup4W693Tb4=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
@ -7,7 +7,7 @@ go 1.12
|
|||||||
require (
|
require (
|
||||||
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
|
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6 // indirect
|
github.com/coreos/bbolt v1.3.1-coreos.6 // indirect
|
||||||
github.com/coreos/etcd v3.3.15+incompatible
|
github.com/coreos/etcd v3.3.16+incompatible
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible
|
github.com/coreos/go-oidc v2.1.0+incompatible
|
||||||
github.com/coreos/go-semver v0.3.0 // indirect
|
github.com/coreos/go-semver v0.3.0 // indirect
|
||||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e
|
||||||
|
4
staging/src/k8s.io/apiserver/go.sum
generated
4
staging/src/k8s.io/apiserver/go.sum
generated
@ -31,8 +31,8 @@ github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb
|
|||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible h1:+9RjdC18gMxNQVvSiXvObLu29mOFmkgdsB4cRTlV+EE=
|
github.com/coreos/etcd v3.3.16+incompatible h1:hQaR//OAeI1FQ3G5bGRL9VpFOCurqnEHSup4W693Tb4=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
|
github.com/coreos/go-oidc v2.1.0+incompatible h1:sdJrfw8akMnCuUlaZU3tE/uYXFgfqom8DBE9so9EBsM=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
|
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
|
||||||
|
4
staging/src/k8s.io/kube-aggregator/go.sum
generated
4
staging/src/k8s.io/kube-aggregator/go.sum
generated
@ -33,8 +33,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
|||||||
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible h1:+9RjdC18gMxNQVvSiXvObLu29mOFmkgdsB4cRTlV+EE=
|
github.com/coreos/etcd v3.3.16+incompatible h1:hQaR//OAeI1FQ3G5bGRL9VpFOCurqnEHSup4W693Tb4=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
2
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
2
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
@ -43,7 +43,7 @@ github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17
|
|||||||
github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||||
|
4
staging/src/k8s.io/sample-apiserver/go.sum
generated
4
staging/src/k8s.io/sample-apiserver/go.sum
generated
@ -33,8 +33,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
|||||||
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
github.com/coreos/bbolt v1.3.1-coreos.6 h1:uTXKg9gY70s9jMAKdfljFQcuh4e/BXOM+V+d00KFj3A=
|
||||||
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
github.com/coreos/bbolt v1.3.1-coreos.6/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible h1:+9RjdC18gMxNQVvSiXvObLu29mOFmkgdsB4cRTlV+EE=
|
github.com/coreos/etcd v3.3.16+incompatible h1:hQaR//OAeI1FQ3G5bGRL9VpFOCurqnEHSup4W693Tb4=
|
||||||
github.com/coreos/etcd v3.3.15+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
github.com/coreos/etcd v3.3.16+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||||
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
|
||||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||||
|
23
vendor/github.com/coreos/etcd/clientv3/balancer/resolver/endpoint/endpoint.go
generated
vendored
23
vendor/github.com/coreos/etcd/clientv3/balancer/resolver/endpoint/endpoint.go
generated
vendored
@ -16,7 +16,9 @@
|
|||||||
package endpoint
|
package endpoint
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
@ -228,13 +230,18 @@ func ParseTarget(target string) (string, string, error) {
|
|||||||
return parts[0], parts[1], nil
|
return parts[0], parts[1], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseHostPort splits a "<host>:<port>" string into the host and port parts.
|
// Dialer dials a endpoint using net.Dialer.
|
||||||
// The port part is optional.
|
// Context cancelation and timeout are supported.
|
||||||
func ParseHostPort(hostPort string) (host string, port string) {
|
func Dialer(ctx context.Context, dialEp string) (net.Conn, error) {
|
||||||
parts := strings.SplitN(hostPort, ":", 2)
|
proto, host, _ := ParseEndpoint(dialEp)
|
||||||
host = parts[0]
|
select {
|
||||||
if len(parts) > 1 {
|
case <-ctx.Done():
|
||||||
port = parts[1]
|
return nil, ctx.Err()
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
return host, port
|
dialer := &net.Dialer{}
|
||||||
|
if deadline, ok := ctx.Deadline(); ok {
|
||||||
|
dialer.Deadline = deadline
|
||||||
|
}
|
||||||
|
return dialer.DialContext(ctx, proto, host)
|
||||||
}
|
}
|
||||||
|
47
vendor/github.com/coreos/etcd/clientv3/client.go
generated
vendored
47
vendor/github.com/coreos/etcd/clientv3/client.go
generated
vendored
@ -25,13 +25,13 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
|
||||||
"github.com/coreos/etcd/clientv3/balancer"
|
"github.com/coreos/etcd/clientv3/balancer"
|
||||||
"github.com/coreos/etcd/clientv3/balancer/picker"
|
"github.com/coreos/etcd/clientv3/balancer/picker"
|
||||||
"github.com/coreos/etcd/clientv3/balancer/resolver/endpoint"
|
"github.com/coreos/etcd/clientv3/balancer/resolver/endpoint"
|
||||||
"github.com/coreos/etcd/clientv3/credentials"
|
"github.com/coreos/etcd/clientv3/credentials"
|
||||||
"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes"
|
"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes"
|
||||||
"github.com/coreos/etcd/pkg/logutil"
|
"github.com/coreos/etcd/pkg/logutil"
|
||||||
|
"github.com/google/uuid"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/codes"
|
"google.golang.org/grpc/codes"
|
||||||
@ -226,24 +226,17 @@ func (c *Client) dialSetupOpts(creds grpccredentials.TransportCredentials, dopts
|
|||||||
}
|
}
|
||||||
opts = append(opts, dopts...)
|
opts = append(opts, dopts...)
|
||||||
|
|
||||||
// Provide a net dialer that supports cancelation and timeout.
|
dialer := endpoint.Dialer
|
||||||
f := func(dialEp string, t time.Duration) (net.Conn, error) {
|
|
||||||
proto, host, _ := endpoint.ParseEndpoint(dialEp)
|
|
||||||
select {
|
|
||||||
case <-c.ctx.Done():
|
|
||||||
return nil, c.ctx.Err()
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
dialer := &net.Dialer{Timeout: t}
|
|
||||||
return dialer.DialContext(c.ctx, proto, host)
|
|
||||||
}
|
|
||||||
opts = append(opts, grpc.WithDialer(f))
|
|
||||||
|
|
||||||
if creds != nil {
|
if creds != nil {
|
||||||
opts = append(opts, grpc.WithTransportCredentials(creds))
|
opts = append(opts, grpc.WithTransportCredentials(creds))
|
||||||
|
// gRPC load balancer workaround. See credentials.transportCredential for details.
|
||||||
|
if credsDialer, ok := creds.(TransportCredentialsWithDialer); ok {
|
||||||
|
dialer = credsDialer.Dialer
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
opts = append(opts, grpc.WithInsecure())
|
opts = append(opts, grpc.WithInsecure())
|
||||||
}
|
}
|
||||||
|
opts = append(opts, grpc.WithContextDialer(dialer))
|
||||||
|
|
||||||
// Interceptor retry and backoff.
|
// Interceptor retry and backoff.
|
||||||
// TODO: Replace all of clientv3/retry.go with interceptor based retry, or with
|
// TODO: Replace all of clientv3/retry.go with interceptor based retry, or with
|
||||||
@ -262,7 +255,10 @@ func (c *Client) dialSetupOpts(creds grpccredentials.TransportCredentials, dopts
|
|||||||
|
|
||||||
// Dial connects to a single endpoint using the client's config.
|
// Dial connects to a single endpoint using the client's config.
|
||||||
func (c *Client) Dial(ep string) (*grpc.ClientConn, error) {
|
func (c *Client) Dial(ep string) (*grpc.ClientConn, error) {
|
||||||
creds := c.directDialCreds(ep)
|
creds, err := c.directDialCreds(ep)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// Use the grpc passthrough resolver to directly dial a single endpoint.
|
// Use the grpc passthrough resolver to directly dial a single endpoint.
|
||||||
// This resolver passes through the 'unix' and 'unixs' endpoints schemes used
|
// This resolver passes through the 'unix' and 'unixs' endpoints schemes used
|
||||||
// by etcd without modification, allowing us to directly dial endpoints and
|
// by etcd without modification, allowing us to directly dial endpoints and
|
||||||
@ -365,8 +361,8 @@ func (c *Client) dial(target string, creds grpccredentials.TransportCredentials,
|
|||||||
return conn, nil
|
return conn, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) directDialCreds(ep string) grpccredentials.TransportCredentials {
|
func (c *Client) directDialCreds(ep string) (grpccredentials.TransportCredentials, error) {
|
||||||
_, hostPort, scheme := endpoint.ParseEndpoint(ep)
|
_, host, scheme := endpoint.ParseEndpoint(ep)
|
||||||
creds := c.creds
|
creds := c.creds
|
||||||
if len(scheme) != 0 {
|
if len(scheme) != 0 {
|
||||||
creds = c.processCreds(scheme)
|
creds = c.processCreds(scheme)
|
||||||
@ -375,12 +371,17 @@ func (c *Client) directDialCreds(ep string) grpccredentials.TransportCredentials
|
|||||||
// Set the server name must to the endpoint hostname without port since grpc
|
// Set the server name must to the endpoint hostname without port since grpc
|
||||||
// otherwise attempts to check if x509 cert is valid for the full endpoint
|
// otherwise attempts to check if x509 cert is valid for the full endpoint
|
||||||
// including the scheme and port, which fails.
|
// including the scheme and port, which fails.
|
||||||
host, _ := endpoint.ParseHostPort(hostPort)
|
overrideServerName, _, err := net.SplitHostPort(host)
|
||||||
clone.OverrideServerName(host)
|
if err != nil {
|
||||||
|
// Either the host didn't have a port or the host could not be parsed. Either way, continue with the
|
||||||
|
// original host string.
|
||||||
|
overrideServerName = host
|
||||||
|
}
|
||||||
|
clone.OverrideServerName(overrideServerName)
|
||||||
creds = clone
|
creds = clone
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return creds
|
return creds, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) dialWithBalancerCreds(ep string) grpccredentials.TransportCredentials {
|
func (c *Client) dialWithBalancerCreds(ep string) grpccredentials.TransportCredentials {
|
||||||
@ -659,3 +660,9 @@ func IsConnCanceled(err error) bool {
|
|||||||
// <= gRPC v1.7.x returns 'errors.New("grpc: the client connection is closing")'
|
// <= gRPC v1.7.x returns 'errors.New("grpc: the client connection is closing")'
|
||||||
return strings.Contains(err.Error(), "grpc: the client connection is closing")
|
return strings.Contains(err.Error(), "grpc: the client connection is closing")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TransportCredentialsWithDialer is for a gRPC load balancer workaround. See credentials.transportCredential for details.
|
||||||
|
type TransportCredentialsWithDialer interface {
|
||||||
|
grpccredentials.TransportCredentials
|
||||||
|
Dialer(ctx context.Context, dialEp string) (net.Conn, error)
|
||||||
|
}
|
||||||
|
1
vendor/github.com/coreos/etcd/clientv3/credentials/BUILD
generated
vendored
1
vendor/github.com/coreos/etcd/clientv3/credentials/BUILD
generated
vendored
@ -7,6 +7,7 @@ go_library(
|
|||||||
importpath = "github.com/coreos/etcd/clientv3/credentials",
|
importpath = "github.com/coreos/etcd/clientv3/credentials",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
|
"//vendor/github.com/coreos/etcd/clientv3/balancer/resolver/endpoint:go_default_library",
|
||||||
"//vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes:go_default_library",
|
"//vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes:go_default_library",
|
||||||
"//vendor/google.golang.org/grpc/credentials:go_default_library",
|
"//vendor/google.golang.org/grpc/credentials:go_default_library",
|
||||||
],
|
],
|
||||||
|
60
vendor/github.com/coreos/etcd/clientv3/credentials/credentials.go
generated
vendored
60
vendor/github.com/coreos/etcd/clientv3/credentials/credentials.go
generated
vendored
@ -22,6 +22,7 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
"github.com/coreos/etcd/clientv3/balancer/resolver/endpoint"
|
||||||
"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes"
|
"github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes"
|
||||||
grpccredentials "google.golang.org/grpc/credentials"
|
grpccredentials "google.golang.org/grpc/credentials"
|
||||||
)
|
)
|
||||||
@ -65,38 +66,37 @@ func (b *bundle) NewWithMode(mode string) (grpccredentials.Bundle, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// transportCredential implements "grpccredentials.TransportCredentials" interface.
|
// transportCredential implements "grpccredentials.TransportCredentials" interface.
|
||||||
|
// transportCredential wraps TransportCredentials to track which
|
||||||
|
// addresses are dialed for which endpoints, and then sets the authority when checking the endpoint's cert to the
|
||||||
|
// hostname or IP of the dialed endpoint.
|
||||||
|
// This is a workaround of a gRPC load balancer issue. gRPC uses the dialed target's service name as the authority when
|
||||||
|
// checking all endpoint certs, which does not work for etcd servers using their hostname or IP as the Subject Alternative Name
|
||||||
|
// in their TLS certs.
|
||||||
|
// To enable, include both WithTransportCredentials(creds) and WithContextDialer(creds.Dialer)
|
||||||
|
// when dialing.
|
||||||
type transportCredential struct {
|
type transportCredential struct {
|
||||||
gtc grpccredentials.TransportCredentials
|
gtc grpccredentials.TransportCredentials
|
||||||
|
mu sync.Mutex
|
||||||
|
// addrToEndpoint maps from the connection addresses that are dialed to the hostname or IP of the
|
||||||
|
// endpoint provided to the dialer when dialing
|
||||||
|
addrToEndpoint map[string]string
|
||||||
}
|
}
|
||||||
|
|
||||||
func newTransportCredential(cfg *tls.Config) *transportCredential {
|
func newTransportCredential(cfg *tls.Config) *transportCredential {
|
||||||
return &transportCredential{
|
return &transportCredential{
|
||||||
gtc: grpccredentials.NewTLS(cfg),
|
gtc: grpccredentials.NewTLS(cfg),
|
||||||
|
addrToEndpoint: map[string]string{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *transportCredential) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (net.Conn, grpccredentials.AuthInfo, error) {
|
func (tc *transportCredential) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (net.Conn, grpccredentials.AuthInfo, error) {
|
||||||
// Only overwrite when authority is an IP address!
|
// Set the authority when checking the endpoint's cert to the hostname or IP of the dialed endpoint
|
||||||
// Let's say, a server runs SRV records on "etcd.local" that resolves
|
tc.mu.Lock()
|
||||||
// to "m1.etcd.local", and its SAN field also includes "m1.etcd.local".
|
dialEp, ok := tc.addrToEndpoint[rawConn.RemoteAddr().String()]
|
||||||
// But what if SAN does not include its resolved IP address (e.g. 127.0.0.1)?
|
tc.mu.Unlock()
|
||||||
// Then, the server should only authenticate using its DNS hostname "m1.etcd.local",
|
if ok {
|
||||||
// instead of overwriting it with its IP address.
|
_, host, _ := endpoint.ParseEndpoint(dialEp)
|
||||||
// And we do not overwrite "localhost" either. Only overwrite IP addresses!
|
authority = host
|
||||||
if isIP(authority) {
|
|
||||||
target := rawConn.RemoteAddr().String()
|
|
||||||
if authority != target {
|
|
||||||
// When user dials with "grpc.WithDialer", "grpc.DialContext" "cc.parsedTarget"
|
|
||||||
// update only happens once. This is problematic, because when TLS is enabled,
|
|
||||||
// retries happen through "grpc.WithDialer" with static "cc.parsedTarget" from
|
|
||||||
// the initial dial call.
|
|
||||||
// If the server authenticates by IP addresses, we want to set a new endpoint as
|
|
||||||
// a new authority. Otherwise
|
|
||||||
// "transport: authentication handshake failed: x509: certificate is valid for 127.0.0.1, 192.168.121.180, not 192.168.223.156"
|
|
||||||
// when the new dial target is "192.168.121.180" whose certificate host name is also "192.168.121.180"
|
|
||||||
// but client tries to authenticate with previously set "cc.parsedTarget" field "192.168.223.156"
|
|
||||||
authority = target
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return tc.gtc.ClientHandshake(ctx, authority, rawConn)
|
return tc.gtc.ClientHandshake(ctx, authority, rawConn)
|
||||||
}
|
}
|
||||||
@ -115,8 +115,15 @@ func (tc *transportCredential) Info() grpccredentials.ProtocolInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (tc *transportCredential) Clone() grpccredentials.TransportCredentials {
|
func (tc *transportCredential) Clone() grpccredentials.TransportCredentials {
|
||||||
|
copy := map[string]string{}
|
||||||
|
tc.mu.Lock()
|
||||||
|
for k, v := range tc.addrToEndpoint {
|
||||||
|
copy[k] = v
|
||||||
|
}
|
||||||
|
tc.mu.Unlock()
|
||||||
return &transportCredential{
|
return &transportCredential{
|
||||||
gtc: tc.gtc.Clone(),
|
gtc: tc.gtc.Clone(),
|
||||||
|
addrToEndpoint: copy,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,6 +131,17 @@ func (tc *transportCredential) OverrideServerName(serverNameOverride string) err
|
|||||||
return tc.gtc.OverrideServerName(serverNameOverride)
|
return tc.gtc.OverrideServerName(serverNameOverride)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (tc *transportCredential) Dialer(ctx context.Context, dialEp string) (net.Conn, error) {
|
||||||
|
// Keep track of which addresses are dialed for which endpoints
|
||||||
|
conn, err := endpoint.Dialer(ctx, dialEp)
|
||||||
|
if conn != nil {
|
||||||
|
tc.mu.Lock()
|
||||||
|
tc.addrToEndpoint[conn.RemoteAddr().String()] = dialEp
|
||||||
|
tc.mu.Unlock()
|
||||||
|
}
|
||||||
|
return conn, err
|
||||||
|
}
|
||||||
|
|
||||||
// perRPCCredential implements "grpccredentials.PerRPCCredentials" interface.
|
// perRPCCredential implements "grpccredentials.PerRPCCredentials" interface.
|
||||||
type perRPCCredential struct {
|
type perRPCCredential struct {
|
||||||
authToken string
|
authToken string
|
||||||
|
33
vendor/github.com/coreos/etcd/mvcc/kvstore.go
generated
vendored
33
vendor/github.com/coreos/etcd/mvcc/kvstore.go
generated
vendored
@ -309,14 +309,7 @@ func (s *store) Restore(b backend.Backend) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *store) restore() error {
|
func (s *store) restore() error {
|
||||||
b := s.b
|
s.setupMetricsReporter()
|
||||||
|
|
||||||
reportDbTotalSizeInBytesMu.Lock()
|
|
||||||
reportDbTotalSizeInBytes = func() float64 { return float64(b.Size()) }
|
|
||||||
reportDbTotalSizeInBytesMu.Unlock()
|
|
||||||
reportDbTotalSizeInUseInBytesMu.Lock()
|
|
||||||
reportDbTotalSizeInUseInBytes = func() float64 { return float64(b.SizeInUse()) }
|
|
||||||
reportDbTotalSizeInUseInBytesMu.Unlock()
|
|
||||||
|
|
||||||
min, max := newRevBytes(), newRevBytes()
|
min, max := newRevBytes(), newRevBytes()
|
||||||
revToBytes(revision{main: 1}, min)
|
revToBytes(revision{main: 1}, min)
|
||||||
@ -496,6 +489,30 @@ func (s *store) ConsistentIndex() uint64 {
|
|||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *store) setupMetricsReporter() {
|
||||||
|
b := s.b
|
||||||
|
reportDbTotalSizeInBytesMu.Lock()
|
||||||
|
reportDbTotalSizeInBytes = func() float64 { return float64(b.Size()) }
|
||||||
|
reportDbTotalSizeInBytesMu.Unlock()
|
||||||
|
reportDbTotalSizeInUseInBytesMu.Lock()
|
||||||
|
reportDbTotalSizeInUseInBytes = func() float64 { return float64(b.SizeInUse()) }
|
||||||
|
reportDbTotalSizeInUseInBytesMu.Unlock()
|
||||||
|
reportCurrentRevMu.Lock()
|
||||||
|
reportCurrentRev = func() float64 {
|
||||||
|
s.revMu.RLock()
|
||||||
|
defer s.revMu.RUnlock()
|
||||||
|
return float64(s.currentRev)
|
||||||
|
}
|
||||||
|
reportCurrentRevMu.Unlock()
|
||||||
|
reportCompactRevMu.Lock()
|
||||||
|
reportCompactRev = func() float64 {
|
||||||
|
s.revMu.RLock()
|
||||||
|
defer s.revMu.RUnlock()
|
||||||
|
return float64(s.compactMainRev)
|
||||||
|
}
|
||||||
|
reportCompactRevMu.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
// appendMarkTombstone appends tombstone mark to normal revision bytes.
|
// appendMarkTombstone appends tombstone mark to normal revision bytes.
|
||||||
func appendMarkTombstone(b []byte) []byte {
|
func appendMarkTombstone(b []byte) []byte {
|
||||||
if len(b) != revBytesLen {
|
if len(b) != revBytesLen {
|
||||||
|
34
vendor/github.com/coreos/etcd/mvcc/metrics.go
generated
vendored
34
vendor/github.com/coreos/etcd/mvcc/metrics.go
generated
vendored
@ -206,6 +206,38 @@ var (
|
|||||||
// highest bucket start of 0.01 sec * 2^14 == 163.84 sec
|
// highest bucket start of 0.01 sec * 2^14 == 163.84 sec
|
||||||
Buckets: prometheus.ExponentialBuckets(.01, 2, 15),
|
Buckets: prometheus.ExponentialBuckets(.01, 2, 15),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
currentRev = prometheus.NewGaugeFunc(prometheus.GaugeOpts{
|
||||||
|
Namespace: "etcd_debugging",
|
||||||
|
Subsystem: "mvcc",
|
||||||
|
Name: "current_revision",
|
||||||
|
Help: "The current revision of store.",
|
||||||
|
},
|
||||||
|
func() float64 {
|
||||||
|
reportCurrentRevMu.RLock()
|
||||||
|
defer reportCurrentRevMu.RUnlock()
|
||||||
|
return reportCurrentRev()
|
||||||
|
},
|
||||||
|
)
|
||||||
|
// overridden by mvcc initialization
|
||||||
|
reportCurrentRevMu sync.RWMutex
|
||||||
|
reportCurrentRev = func() float64 { return 0 }
|
||||||
|
|
||||||
|
compactRev = prometheus.NewGaugeFunc(prometheus.GaugeOpts{
|
||||||
|
Namespace: "etcd_debugging",
|
||||||
|
Subsystem: "mvcc",
|
||||||
|
Name: "compact_revision",
|
||||||
|
Help: "The revision of the last compaction in store.",
|
||||||
|
},
|
||||||
|
func() float64 {
|
||||||
|
reportCompactRevMu.RLock()
|
||||||
|
defer reportCompactRevMu.RUnlock()
|
||||||
|
return reportCompactRev()
|
||||||
|
},
|
||||||
|
)
|
||||||
|
// overridden by mvcc initialization
|
||||||
|
reportCompactRevMu sync.RWMutex
|
||||||
|
reportCompactRev = func() float64 { return 0 }
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -228,6 +260,8 @@ func init() {
|
|||||||
prometheus.MustRegister(dbTotalSizeInUse)
|
prometheus.MustRegister(dbTotalSizeInUse)
|
||||||
prometheus.MustRegister(hashDurations)
|
prometheus.MustRegister(hashDurations)
|
||||||
prometheus.MustRegister(hashRevDurations)
|
prometheus.MustRegister(hashRevDurations)
|
||||||
|
prometheus.MustRegister(currentRev)
|
||||||
|
prometheus.MustRegister(compactRev)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReportEventReceived reports that an event is received.
|
// ReportEventReceived reports that an event is received.
|
||||||
|
9
vendor/github.com/coreos/etcd/pkg/transport/listener.go
generated
vendored
9
vendor/github.com/coreos/etcd/pkg/transport/listener.go
generated
vendored
@ -53,6 +53,9 @@ func wrapTLS(addr, scheme string, tlsinfo *TLSInfo, l net.Listener) (net.Listene
|
|||||||
if scheme != "https" && scheme != "unixs" {
|
if scheme != "https" && scheme != "unixs" {
|
||||||
return l, nil
|
return l, nil
|
||||||
}
|
}
|
||||||
|
if tlsinfo != nil && tlsinfo.SkipClientSANVerify {
|
||||||
|
return NewTLSListener(l, tlsinfo)
|
||||||
|
}
|
||||||
return newTLSListener(l, tlsinfo, checkSAN)
|
return newTLSListener(l, tlsinfo, checkSAN)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,6 +68,8 @@ type TLSInfo struct {
|
|||||||
CRLFile string
|
CRLFile string
|
||||||
InsecureSkipVerify bool
|
InsecureSkipVerify bool
|
||||||
|
|
||||||
|
SkipClientSANVerify bool
|
||||||
|
|
||||||
// ServerName ensures the cert matches the given host in case of discovery / virtual hosting
|
// ServerName ensures the cert matches the given host in case of discovery / virtual hosting
|
||||||
ServerName string
|
ServerName string
|
||||||
|
|
||||||
@ -95,7 +100,7 @@ func (info TLSInfo) Empty() bool {
|
|||||||
return info.CertFile == "" && info.KeyFile == ""
|
return info.CertFile == "" && info.KeyFile == ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func SelfCert(dirpath string, hosts []string) (info TLSInfo, err error) {
|
func SelfCert(dirpath string, hosts []string, additionalUsages ...x509.ExtKeyUsage) (info TLSInfo, err error) {
|
||||||
if err = os.MkdirAll(dirpath, 0700); err != nil {
|
if err = os.MkdirAll(dirpath, 0700); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -124,7 +129,7 @@ func SelfCert(dirpath string, hosts []string) (info TLSInfo, err error) {
|
|||||||
NotAfter: time.Now().Add(365 * (24 * time.Hour)),
|
NotAfter: time.Now().Add(365 * (24 * time.Hour)),
|
||||||
|
|
||||||
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
|
KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature,
|
||||||
ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth},
|
ExtKeyUsage: append([]x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, additionalUsages...),
|
||||||
BasicConstraintsValid: true,
|
BasicConstraintsValid: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
vendor/github.com/coreos/etcd/version/version.go
generated
vendored
2
vendor/github.com/coreos/etcd/version/version.go
generated
vendored
@ -26,7 +26,7 @@ import (
|
|||||||
var (
|
var (
|
||||||
// MinClusterVersion is the min cluster version this etcd binary is compatible with.
|
// MinClusterVersion is the min cluster version this etcd binary is compatible with.
|
||||||
MinClusterVersion = "3.0.0"
|
MinClusterVersion = "3.0.0"
|
||||||
Version = "3.3.15"
|
Version = "3.3.16"
|
||||||
APIVersion = "unknown"
|
APIVersion = "unknown"
|
||||||
|
|
||||||
// Git SHA Value will be set during build
|
// Git SHA Value will be set during build
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -194,7 +194,7 @@ github.com/coredns/corefile-migration/migration
|
|||||||
github.com/coredns/corefile-migration/migration/corefile
|
github.com/coredns/corefile-migration/migration/corefile
|
||||||
# github.com/coreos/bbolt v1.3.1-coreos.6 => github.com/coreos/bbolt v1.3.1-coreos.6
|
# github.com/coreos/bbolt v1.3.1-coreos.6 => github.com/coreos/bbolt v1.3.1-coreos.6
|
||||||
github.com/coreos/bbolt
|
github.com/coreos/bbolt
|
||||||
# github.com/coreos/etcd v3.3.15+incompatible => github.com/coreos/etcd v3.3.15+incompatible
|
# github.com/coreos/etcd v3.3.16+incompatible => github.com/coreos/etcd v3.3.16+incompatible
|
||||||
github.com/coreos/etcd/alarm
|
github.com/coreos/etcd/alarm
|
||||||
github.com/coreos/etcd/auth
|
github.com/coreos/etcd/auth
|
||||||
github.com/coreos/etcd/auth/authpb
|
github.com/coreos/etcd/auth/authpb
|
||||||
|
Loading…
Reference in New Issue
Block a user