mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
Update sigs.k8s.io/structured-merge-diff to v4.4.1
This commit is contained in:
parent
f3c13d8d8a
commit
dec443b305
2
go.mod
2
go.mod
@ -127,7 +127,7 @@ require (
|
|||||||
k8s.io/sample-apiserver v0.0.0
|
k8s.io/sample-apiserver v0.0.0
|
||||||
k8s.io/system-validators v1.8.0
|
k8s.io/system-validators v1.8.0
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
go.sum
4
go.sum
@ -1443,8 +1443,8 @@ sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 h1:vq2Tt
|
|||||||
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3/go.mod h1:/d88dHCvoy7d0AKFT0yytezSGZKjsZBVs9YTkBHSGFk=
|
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3/go.mod h1:/d88dHCvoy7d0AKFT0yytezSGZKjsZBVs9YTkBHSGFk=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -32,7 +32,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.100.1 // indirect
|
k8s.io/klog/v2 v2.100.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/api/go.sum
generated
4
staging/src/k8s.io/api/go.sum
generated
@ -118,7 +118,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -34,7 +34,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -548,8 +548,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -26,7 +26,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/apimachinery/go.sum
generated
4
staging/src/k8s.io/apimachinery/go.sum
generated
@ -161,7 +161,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -52,7 +52,7 @@ require (
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/apiserver/go.sum
generated
4
staging/src/k8s.io/apiserver/go.sum
generated
@ -543,7 +543,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -67,7 +67,7 @@ require (
|
|||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/cli-runtime/go.sum
generated
4
staging/src/k8s.io/cli-runtime/go.sum
generated
@ -266,7 +266,7 @@ sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKU
|
|||||||
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY=
|
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -30,7 +30,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/client-go/go.sum
generated
4
staging/src/k8s.io/client-go/go.sum
generated
@ -174,7 +174,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -106,7 +106,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/cloud-provider/go.sum
generated
4
staging/src/k8s.io/cloud-provider/go.sum
generated
@ -461,7 +461,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -29,7 +29,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/cluster-bootstrap/go.sum
generated
4
staging/src/k8s.io/cluster-bootstrap/go.sum
generated
@ -111,7 +111,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -9,7 +9,7 @@ require (
|
|||||||
k8s.io/apimachinery v0.0.0
|
k8s.io/apimachinery v0.0.0
|
||||||
k8s.io/client-go v0.0.0
|
k8s.io/client-go v0.0.0
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
@ -147,7 +147,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -39,7 +39,7 @@ require (
|
|||||||
golang.org/x/tools v0.12.0 // indirect
|
golang.org/x/tools v0.12.0 // indirect
|
||||||
google.golang.org/protobuf v1.31.0 // indirect
|
google.golang.org/protobuf v1.31.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/code-generator/go.sum
generated
4
staging/src/k8s.io/code-generator/go.sum
generated
@ -150,8 +150,8 @@ k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdz
|
|||||||
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -78,7 +78,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/api v0.0.0 // indirect
|
k8s.io/api v0.0.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/component-base/go.sum
generated
4
staging/src/k8s.io/component-base/go.sum
generated
@ -273,7 +273,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -46,7 +46,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/component-helpers/go.sum
generated
4
staging/src/k8s.io/component-helpers/go.sum
generated
@ -164,7 +164,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -99,7 +99,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/controller-manager/go.sum
generated
4
staging/src/k8s.io/controller-manager/go.sum
generated
@ -456,7 +456,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -28,7 +28,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/csi-translation-lib/go.sum
generated
4
staging/src/k8s.io/csi-translation-lib/go.sum
generated
@ -109,7 +109,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -52,7 +52,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -59,7 +59,7 @@ require (
|
|||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/endpointslice/go.sum
generated
4
staging/src/k8s.io/endpointslice/go.sum
generated
@ -215,7 +215,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -22,7 +22,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.100.1
|
k8s.io/klog/v2 v2.100.1
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
4
staging/src/k8s.io/kube-aggregator/go.sum
generated
4
staging/src/k8s.io/kube-aggregator/go.sum
generated
@ -470,8 +470,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -27,7 +27,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.100.1 // indirect
|
k8s.io/klog/v2 v2.100.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
@ -166,7 +166,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -39,7 +39,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.100.1 // indirect
|
k8s.io/klog/v2 v2.100.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/kube-proxy/go.sum
generated
4
staging/src/k8s.io/kube-proxy/go.sum
generated
@ -173,7 +173,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -26,7 +26,7 @@ require (
|
|||||||
k8s.io/klog/v2 v2.100.1 // indirect
|
k8s.io/klog/v2 v2.100.1 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/kube-scheduler/go.sum
generated
4
staging/src/k8s.io/kube-scheduler/go.sum
generated
@ -142,7 +142,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -43,7 +43,7 @@ require (
|
|||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
|
||||||
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3
|
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
sigs.k8s.io/yaml v1.3.0
|
sigs.k8s.io/yaml v1.3.0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/kubectl/go.sum
generated
4
staging/src/k8s.io/kubectl/go.sum
generated
@ -334,7 +334,7 @@ sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 h1:vq2Tt
|
|||||||
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3/go.mod h1:/d88dHCvoy7d0AKFT0yytezSGZKjsZBVs9YTkBHSGFk=
|
sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3/go.mod h1:/d88dHCvoy7d0AKFT0yytezSGZKjsZBVs9YTkBHSGFk=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -56,7 +56,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
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/kubelet/go.sum
generated
4
staging/src/k8s.io/kubelet/go.sum
generated
@ -249,7 +249,7 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -91,7 +91,7 @@ require (
|
|||||||
k8s.io/component-helpers v0.0.0 // indirect
|
k8s.io/component-helpers v0.0.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
4
staging/src/k8s.io/legacy-cloud-providers/go.sum
generated
@ -816,7 +816,7 @@ rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -53,7 +53,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/metrics/go.sum
generated
4
staging/src/k8s.io/metrics/go.sum
generated
@ -175,8 +175,8 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -103,7 +103,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
4
staging/src/k8s.io/pod-security-admission/go.sum
generated
4
staging/src/k8s.io/pod-security-admission/go.sum
generated
@ -456,7 +456,7 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -14,7 +14,7 @@ require (
|
|||||||
k8s.io/component-base v0.0.0
|
k8s.io/component-base v0.0.0
|
||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
4
staging/src/k8s.io/sample-apiserver/go.sum
generated
4
staging/src/k8s.io/sample-apiserver/go.sum
generated
@ -466,8 +466,8 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 h1:TgtAeesdhpm2S
|
|||||||
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -64,7 +64,7 @@ require (
|
|||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect
|
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/sample-cli-plugin/go.sum
generated
4
staging/src/k8s.io/sample-cli-plugin/go.sum
generated
@ -266,7 +266,7 @@ sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKU
|
|||||||
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY=
|
sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
|
||||||
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
@ -53,7 +53,7 @@ require (
|
|||||||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
|
||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||||
sigs.k8s.io/yaml v1.3.0 // indirect
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
|
4
staging/src/k8s.io/sample-controller/go.sum
generated
4
staging/src/k8s.io/sample-controller/go.sum
generated
@ -177,8 +177,8 @@ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSn
|
|||||||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 h1:UZbZAZfX0wV2zr7YZorDz6GXROfDFj6LvqCRm4VUVKk=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.3.0/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||||
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
|
||||||
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
|
||||||
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -2542,7 +2542,7 @@ sigs.k8s.io/kustomize/kyaml/yaml/merge2
|
|||||||
sigs.k8s.io/kustomize/kyaml/yaml/merge3
|
sigs.k8s.io/kustomize/kyaml/yaml/merge3
|
||||||
sigs.k8s.io/kustomize/kyaml/yaml/schema
|
sigs.k8s.io/kustomize/kyaml/yaml/schema
|
||||||
sigs.k8s.io/kustomize/kyaml/yaml/walk
|
sigs.k8s.io/kustomize/kyaml/yaml/walk
|
||||||
# sigs.k8s.io/structured-merge-diff/v4 v4.3.0
|
# sigs.k8s.io/structured-merge-diff/v4 v4.4.1
|
||||||
## explicit; go 1.13
|
## explicit; go 1.13
|
||||||
sigs.k8s.io/structured-merge-diff/v4/fieldpath
|
sigs.k8s.io/structured-merge-diff/v4/fieldpath
|
||||||
sigs.k8s.io/structured-merge-diff/v4/merge
|
sigs.k8s.io/structured-merge-diff/v4/merge
|
||||||
|
45
vendor/sigs.k8s.io/structured-merge-diff/v4/fieldpath/pathelementmap.go
generated
vendored
45
vendor/sigs.k8s.io/structured-merge-diff/v4/fieldpath/pathelementmap.go
generated
vendored
@ -28,20 +28,15 @@ import (
|
|||||||
// for PathElementSet and SetNodeMap, so we could probably share the
|
// for PathElementSet and SetNodeMap, so we could probably share the
|
||||||
// code.
|
// code.
|
||||||
type PathElementValueMap struct {
|
type PathElementValueMap struct {
|
||||||
members sortedPathElementValues
|
valueMap PathElementMap
|
||||||
}
|
}
|
||||||
|
|
||||||
func MakePathElementValueMap(size int) PathElementValueMap {
|
func MakePathElementValueMap(size int) PathElementValueMap {
|
||||||
return PathElementValueMap{
|
return PathElementValueMap{
|
||||||
members: make(sortedPathElementValues, 0, size),
|
valueMap: MakePathElementMap(size),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type pathElementValue struct {
|
|
||||||
PathElement PathElement
|
|
||||||
Value value.Value
|
|
||||||
}
|
|
||||||
|
|
||||||
type sortedPathElementValues []pathElementValue
|
type sortedPathElementValues []pathElementValue
|
||||||
|
|
||||||
// Implement the sort interface; this would permit bulk creation, which would
|
// Implement the sort interface; this would permit bulk creation, which would
|
||||||
@ -53,7 +48,40 @@ func (spev sortedPathElementValues) Less(i, j int) bool {
|
|||||||
func (spev sortedPathElementValues) Swap(i, j int) { spev[i], spev[j] = spev[j], spev[i] }
|
func (spev sortedPathElementValues) Swap(i, j int) { spev[i], spev[j] = spev[j], spev[i] }
|
||||||
|
|
||||||
// Insert adds the pathelement and associated value in the map.
|
// Insert adds the pathelement and associated value in the map.
|
||||||
|
// If insert is called twice with the same PathElement, the value is replaced.
|
||||||
func (s *PathElementValueMap) Insert(pe PathElement, v value.Value) {
|
func (s *PathElementValueMap) Insert(pe PathElement, v value.Value) {
|
||||||
|
s.valueMap.Insert(pe, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get retrieves the value associated with the given PathElement from the map.
|
||||||
|
// (nil, false) is returned if there is no such PathElement.
|
||||||
|
func (s *PathElementValueMap) Get(pe PathElement) (value.Value, bool) {
|
||||||
|
v, ok := s.valueMap.Get(pe)
|
||||||
|
if !ok {
|
||||||
|
return nil, false
|
||||||
|
}
|
||||||
|
return v.(value.Value), true
|
||||||
|
}
|
||||||
|
|
||||||
|
// PathElementValueMap is a map from PathElement to interface{}.
|
||||||
|
type PathElementMap struct {
|
||||||
|
members sortedPathElementValues
|
||||||
|
}
|
||||||
|
|
||||||
|
type pathElementValue struct {
|
||||||
|
PathElement PathElement
|
||||||
|
Value interface{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func MakePathElementMap(size int) PathElementMap {
|
||||||
|
return PathElementMap{
|
||||||
|
members: make(sortedPathElementValues, 0, size),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Insert adds the pathelement and associated value in the map.
|
||||||
|
// If insert is called twice with the same PathElement, the value is replaced.
|
||||||
|
func (s *PathElementMap) Insert(pe PathElement, v interface{}) {
|
||||||
loc := sort.Search(len(s.members), func(i int) bool {
|
loc := sort.Search(len(s.members), func(i int) bool {
|
||||||
return !s.members[i].PathElement.Less(pe)
|
return !s.members[i].PathElement.Less(pe)
|
||||||
})
|
})
|
||||||
@ -62,6 +90,7 @@ func (s *PathElementValueMap) Insert(pe PathElement, v value.Value) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if s.members[loc].PathElement.Equals(pe) {
|
if s.members[loc].PathElement.Equals(pe) {
|
||||||
|
s.members[loc].Value = v
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
s.members = append(s.members, pathElementValue{})
|
s.members = append(s.members, pathElementValue{})
|
||||||
@ -71,7 +100,7 @@ func (s *PathElementValueMap) Insert(pe PathElement, v value.Value) {
|
|||||||
|
|
||||||
// Get retrieves the value associated with the given PathElement from the map.
|
// Get retrieves the value associated with the given PathElement from the map.
|
||||||
// (nil, false) is returned if there is no such PathElement.
|
// (nil, false) is returned if there is no such PathElement.
|
||||||
func (s *PathElementValueMap) Get(pe PathElement) (value.Value, bool) {
|
func (s *PathElementMap) Get(pe PathElement) (interface{}, bool) {
|
||||||
loc := sort.Search(len(s.members), func(i int) bool {
|
loc := sort.Search(len(s.members), func(i int) bool {
|
||||||
return !s.members[i].PathElement.Less(pe)
|
return !s.members[i].PathElement.Less(pe)
|
||||||
})
|
})
|
||||||
|
33
vendor/sigs.k8s.io/structured-merge-diff/v4/merge/update.go
generated
vendored
33
vendor/sigs.k8s.io/structured-merge-diff/v4/merge/update.go
generated
vendored
@ -34,8 +34,6 @@ type UpdaterBuilder struct {
|
|||||||
Converter Converter
|
Converter Converter
|
||||||
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
|
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
|
||||||
|
|
||||||
EnableUnions bool
|
|
||||||
|
|
||||||
// Stop comparing the new object with old object after applying.
|
// Stop comparing the new object with old object after applying.
|
||||||
// This was initially used to avoid spurious etcd update, but
|
// This was initially used to avoid spurious etcd update, but
|
||||||
// since that's vastly inefficient, we've come-up with a better
|
// since that's vastly inefficient, we've come-up with a better
|
||||||
@ -49,7 +47,6 @@ func (u *UpdaterBuilder) BuildUpdater() *Updater {
|
|||||||
return &Updater{
|
return &Updater{
|
||||||
Converter: u.Converter,
|
Converter: u.Converter,
|
||||||
IgnoredFields: u.IgnoredFields,
|
IgnoredFields: u.IgnoredFields,
|
||||||
enableUnions: u.EnableUnions,
|
|
||||||
returnInputOnNoop: u.ReturnInputOnNoop,
|
returnInputOnNoop: u.ReturnInputOnNoop,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,19 +60,9 @@ type Updater struct {
|
|||||||
// Deprecated: This will eventually become private.
|
// Deprecated: This will eventually become private.
|
||||||
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
|
IgnoredFields map[fieldpath.APIVersion]*fieldpath.Set
|
||||||
|
|
||||||
enableUnions bool
|
|
||||||
|
|
||||||
returnInputOnNoop bool
|
returnInputOnNoop bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// EnableUnionFeature turns on union handling. It is disabled by default until the
|
|
||||||
// feature is complete.
|
|
||||||
//
|
|
||||||
// Deprecated: Use the builder instead.
|
|
||||||
func (s *Updater) EnableUnionFeature() {
|
|
||||||
s.enableUnions = true
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, workflow string, force bool) (fieldpath.ManagedFields, *typed.Comparison, error) {
|
func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, workflow string, force bool) (fieldpath.ManagedFields, *typed.Comparison, error) {
|
||||||
conflicts := fieldpath.ManagedFields{}
|
conflicts := fieldpath.ManagedFields{}
|
||||||
removed := fieldpath.ManagedFields{}
|
removed := fieldpath.ManagedFields{}
|
||||||
@ -160,12 +147,6 @@ func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldp
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
return nil, fieldpath.ManagedFields{}, err
|
||||||
}
|
}
|
||||||
if s.enableUnions {
|
|
||||||
newObject, err = liveObject.NormalizeUnions(newObject)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
managers, compare, err := s.update(liveObject, newObject, version, managers, manager, true)
|
managers, compare, err := s.update(liveObject, newObject, version, managers, manager, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
return nil, fieldpath.ManagedFields{}, err
|
||||||
@ -179,7 +160,7 @@ func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldp
|
|||||||
ignored = fieldpath.NewSet()
|
ignored = fieldpath.NewSet()
|
||||||
}
|
}
|
||||||
managers[manager] = fieldpath.NewVersionedSet(
|
managers[manager] = fieldpath.NewVersionedSet(
|
||||||
managers[manager].Set().Union(compare.Modified).Union(compare.Added).Difference(compare.Removed).RecursiveDifference(ignored),
|
managers[manager].Set().Difference(compare.Removed).Union(compare.Modified).Union(compare.Added).RecursiveDifference(ignored),
|
||||||
version,
|
version,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
@ -198,22 +179,10 @@ func (s *Updater) Apply(liveObject, configObject *typed.TypedValue, version fiel
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
return nil, fieldpath.ManagedFields{}, err
|
||||||
}
|
}
|
||||||
if s.enableUnions {
|
|
||||||
configObject, err = configObject.NormalizeUnionsApply(configObject)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
newObject, err := liveObject.Merge(configObject)
|
newObject, err := liveObject.Merge(configObject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to merge config: %v", err)
|
return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to merge config: %v", err)
|
||||||
}
|
}
|
||||||
if s.enableUnions {
|
|
||||||
newObject, err = configObject.NormalizeUnionsApply(newObject)
|
|
||||||
if err != nil {
|
|
||||||
return nil, fieldpath.ManagedFields{}, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lastSet := managers[manager]
|
lastSet := managers[manager]
|
||||||
set, err := configObject.ToFieldSet()
|
set, err := configObject.ToFieldSet()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
1
vendor/sigs.k8s.io/structured-merge-diff/v4/schema/schemaschema.go
generated
vendored
1
vendor/sigs.k8s.io/structured-merge-diff/v4/schema/schemaschema.go
generated
vendored
@ -145,6 +145,7 @@ var SchemaSchemaYAML = `types:
|
|||||||
list:
|
list:
|
||||||
elementType:
|
elementType:
|
||||||
scalar: string
|
scalar: string
|
||||||
|
elementRelationship: atomic
|
||||||
- name: untyped
|
- name: untyped
|
||||||
map:
|
map:
|
||||||
fields:
|
fields:
|
||||||
|
460
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/compare.go
generated
vendored
Normal file
460
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/compare.go
generated
vendored
Normal file
@ -0,0 +1,460 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2018 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 typed
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
|
||||||
|
"sigs.k8s.io/structured-merge-diff/v4/schema"
|
||||||
|
"sigs.k8s.io/structured-merge-diff/v4/value"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Comparison is the return value of a TypedValue.Compare() operation.
|
||||||
|
//
|
||||||
|
// No field will appear in more than one of the three fieldsets. If all of the
|
||||||
|
// fieldsets are empty, then the objects must have been equal.
|
||||||
|
type Comparison struct {
|
||||||
|
// Removed contains any fields removed by rhs (the right-hand-side
|
||||||
|
// object in the comparison).
|
||||||
|
Removed *fieldpath.Set
|
||||||
|
// Modified contains fields present in both objects but different.
|
||||||
|
Modified *fieldpath.Set
|
||||||
|
// Added contains any fields added by rhs.
|
||||||
|
Added *fieldpath.Set
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsSame returns true if the comparison returned no changes (the two
|
||||||
|
// compared objects are similar).
|
||||||
|
func (c *Comparison) IsSame() bool {
|
||||||
|
return c.Removed.Empty() && c.Modified.Empty() && c.Added.Empty()
|
||||||
|
}
|
||||||
|
|
||||||
|
// String returns a human readable version of the comparison.
|
||||||
|
func (c *Comparison) String() string {
|
||||||
|
bld := strings.Builder{}
|
||||||
|
if !c.Modified.Empty() {
|
||||||
|
bld.WriteString(fmt.Sprintf("- Modified Fields:\n%v\n", c.Modified))
|
||||||
|
}
|
||||||
|
if !c.Added.Empty() {
|
||||||
|
bld.WriteString(fmt.Sprintf("- Added Fields:\n%v\n", c.Added))
|
||||||
|
}
|
||||||
|
if !c.Removed.Empty() {
|
||||||
|
bld.WriteString(fmt.Sprintf("- Removed Fields:\n%v\n", c.Removed))
|
||||||
|
}
|
||||||
|
return bld.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExcludeFields fields from the compare recursively removes the fields
|
||||||
|
// from the entire comparison
|
||||||
|
func (c *Comparison) ExcludeFields(fields *fieldpath.Set) *Comparison {
|
||||||
|
if fields == nil || fields.Empty() {
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
c.Removed = c.Removed.RecursiveDifference(fields)
|
||||||
|
c.Modified = c.Modified.RecursiveDifference(fields)
|
||||||
|
c.Added = c.Added.RecursiveDifference(fields)
|
||||||
|
return c
|
||||||
|
}
|
||||||
|
|
||||||
|
type compareWalker struct {
|
||||||
|
lhs value.Value
|
||||||
|
rhs value.Value
|
||||||
|
schema *schema.Schema
|
||||||
|
typeRef schema.TypeRef
|
||||||
|
|
||||||
|
// Current path that we are comparing
|
||||||
|
path fieldpath.Path
|
||||||
|
|
||||||
|
// Resulting comparison.
|
||||||
|
comparison *Comparison
|
||||||
|
|
||||||
|
// internal housekeeping--don't set when constructing.
|
||||||
|
inLeaf bool // Set to true if we're in a "big leaf"--atomic map/list
|
||||||
|
|
||||||
|
// Allocate only as many walkers as needed for the depth by storing them here.
|
||||||
|
spareWalkers *[]*compareWalker
|
||||||
|
|
||||||
|
allocator value.Allocator
|
||||||
|
}
|
||||||
|
|
||||||
|
// compare compares stuff.
|
||||||
|
func (w *compareWalker) compare(prefixFn func() string) (errs ValidationErrors) {
|
||||||
|
if w.lhs == nil && w.rhs == nil {
|
||||||
|
// check this condidition here instead of everywhere below.
|
||||||
|
return errorf("at least one of lhs and rhs must be provided")
|
||||||
|
}
|
||||||
|
a, ok := w.schema.Resolve(w.typeRef)
|
||||||
|
if !ok {
|
||||||
|
return errorf("schema error: no type found matching: %v", *w.typeRef.NamedType)
|
||||||
|
}
|
||||||
|
|
||||||
|
alhs := deduceAtom(a, w.lhs)
|
||||||
|
arhs := deduceAtom(a, w.rhs)
|
||||||
|
|
||||||
|
// deduceAtom does not fix the type for nil values
|
||||||
|
// nil is a wildcard and will accept whatever form the other operand takes
|
||||||
|
if w.rhs == nil {
|
||||||
|
errs = append(errs, handleAtom(alhs, w.typeRef, w)...)
|
||||||
|
} else if w.lhs == nil || alhs.Equals(&arhs) {
|
||||||
|
errs = append(errs, handleAtom(arhs, w.typeRef, w)...)
|
||||||
|
} else {
|
||||||
|
w2 := *w
|
||||||
|
errs = append(errs, handleAtom(alhs, w.typeRef, &w2)...)
|
||||||
|
errs = append(errs, handleAtom(arhs, w.typeRef, w)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
if !w.inLeaf {
|
||||||
|
if w.lhs == nil {
|
||||||
|
w.comparison.Added.Insert(w.path)
|
||||||
|
} else if w.rhs == nil {
|
||||||
|
w.comparison.Removed.Insert(w.path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return errs.WithLazyPrefix(prefixFn)
|
||||||
|
}
|
||||||
|
|
||||||
|
// doLeaf should be called on leaves before descending into children, if there
|
||||||
|
// will be a descent. It modifies w.inLeaf.
|
||||||
|
func (w *compareWalker) doLeaf() {
|
||||||
|
if w.inLeaf {
|
||||||
|
// We're in a "big leaf", an atomic map or list. Ignore
|
||||||
|
// subsequent leaves.
|
||||||
|
return
|
||||||
|
}
|
||||||
|
w.inLeaf = true
|
||||||
|
|
||||||
|
// We don't recurse into leaf fields for merging.
|
||||||
|
if w.lhs == nil {
|
||||||
|
w.comparison.Added.Insert(w.path)
|
||||||
|
} else if w.rhs == nil {
|
||||||
|
w.comparison.Removed.Insert(w.path)
|
||||||
|
} else if !value.EqualsUsing(w.allocator, w.rhs, w.lhs) {
|
||||||
|
// TODO: Equality is not sufficient for this.
|
||||||
|
// Need to implement equality check on the value type.
|
||||||
|
w.comparison.Modified.Insert(w.path)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) doScalar(t *schema.Scalar) ValidationErrors {
|
||||||
|
// Make sure at least one side is a valid scalar.
|
||||||
|
lerrs := validateScalar(t, w.lhs, "lhs: ")
|
||||||
|
rerrs := validateScalar(t, w.rhs, "rhs: ")
|
||||||
|
if len(lerrs) > 0 && len(rerrs) > 0 {
|
||||||
|
return append(lerrs, rerrs...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// All scalars are leaf fields.
|
||||||
|
w.doLeaf()
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) prepareDescent(pe fieldpath.PathElement, tr schema.TypeRef, cmp *Comparison) *compareWalker {
|
||||||
|
if w.spareWalkers == nil {
|
||||||
|
// first descent.
|
||||||
|
w.spareWalkers = &[]*compareWalker{}
|
||||||
|
}
|
||||||
|
var w2 *compareWalker
|
||||||
|
if n := len(*w.spareWalkers); n > 0 {
|
||||||
|
w2, *w.spareWalkers = (*w.spareWalkers)[n-1], (*w.spareWalkers)[:n-1]
|
||||||
|
} else {
|
||||||
|
w2 = &compareWalker{}
|
||||||
|
}
|
||||||
|
*w2 = *w
|
||||||
|
w2.typeRef = tr
|
||||||
|
w2.path = append(w2.path, pe)
|
||||||
|
w2.lhs = nil
|
||||||
|
w2.rhs = nil
|
||||||
|
w2.comparison = cmp
|
||||||
|
return w2
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) finishDescent(w2 *compareWalker) {
|
||||||
|
// if the descent caused a realloc, ensure that we reuse the buffer
|
||||||
|
// for the next sibling.
|
||||||
|
w.path = w2.path[:len(w2.path)-1]
|
||||||
|
*w.spareWalkers = append(*w.spareWalkers, w2)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) derefMap(prefix string, v value.Value) (value.Map, ValidationErrors) {
|
||||||
|
if v == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
m, err := mapValue(w.allocator, v)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errorf("%v: %v", prefix, err)
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) visitListItems(t *schema.List, lhs, rhs value.List) (errs ValidationErrors) {
|
||||||
|
rLen := 0
|
||||||
|
if rhs != nil {
|
||||||
|
rLen = rhs.Length()
|
||||||
|
}
|
||||||
|
lLen := 0
|
||||||
|
if lhs != nil {
|
||||||
|
lLen = lhs.Length()
|
||||||
|
}
|
||||||
|
|
||||||
|
maxLength := rLen
|
||||||
|
if lLen > maxLength {
|
||||||
|
maxLength = lLen
|
||||||
|
}
|
||||||
|
// Contains all the unique PEs between lhs and rhs, exactly once.
|
||||||
|
// Order doesn't matter since we're just tracking ownership in a set.
|
||||||
|
allPEs := make([]fieldpath.PathElement, 0, maxLength)
|
||||||
|
|
||||||
|
// Gather all the elements from lhs, indexed by PE, in a list for duplicates.
|
||||||
|
lValues := fieldpath.MakePathElementMap(lLen)
|
||||||
|
for i := 0; i < lLen; i++ {
|
||||||
|
child := lhs.At(i)
|
||||||
|
pe, err := listItemToPathElement(w.allocator, w.schema, t, child)
|
||||||
|
if err != nil {
|
||||||
|
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
||||||
|
// If we can't construct the path element, we can't
|
||||||
|
// even report errors deeper in the schema, so bail on
|
||||||
|
// this element.
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if v, found := lValues.Get(pe); found {
|
||||||
|
list := v.([]value.Value)
|
||||||
|
lValues.Insert(pe, append(list, child))
|
||||||
|
} else {
|
||||||
|
lValues.Insert(pe, []value.Value{child})
|
||||||
|
allPEs = append(allPEs, pe)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gather all the elements from rhs, indexed by PE, in a list for duplicates.
|
||||||
|
rValues := fieldpath.MakePathElementMap(rLen)
|
||||||
|
for i := 0; i < rLen; i++ {
|
||||||
|
rValue := rhs.At(i)
|
||||||
|
pe, err := listItemToPathElement(w.allocator, w.schema, t, rValue)
|
||||||
|
if err != nil {
|
||||||
|
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
||||||
|
// If we can't construct the path element, we can't
|
||||||
|
// even report errors deeper in the schema, so bail on
|
||||||
|
// this element.
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if v, found := rValues.Get(pe); found {
|
||||||
|
list := v.([]value.Value)
|
||||||
|
rValues.Insert(pe, append(list, rValue))
|
||||||
|
} else {
|
||||||
|
rValues.Insert(pe, []value.Value{rValue})
|
||||||
|
if _, found := lValues.Get(pe); !found {
|
||||||
|
allPEs = append(allPEs, pe)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, pe := range allPEs {
|
||||||
|
lList := []value.Value(nil)
|
||||||
|
if l, ok := lValues.Get(pe); ok {
|
||||||
|
lList = l.([]value.Value)
|
||||||
|
}
|
||||||
|
rList := []value.Value(nil)
|
||||||
|
if l, ok := rValues.Get(pe); ok {
|
||||||
|
rList = l.([]value.Value)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case len(lList) == 0 && len(rList) == 0:
|
||||||
|
// We shouldn't be here anyway.
|
||||||
|
return
|
||||||
|
// Normal use-case:
|
||||||
|
// We have no duplicates for this PE, compare items one-to-one.
|
||||||
|
case len(lList) <= 1 && len(rList) <= 1:
|
||||||
|
lValue := value.Value(nil)
|
||||||
|
if len(lList) != 0 {
|
||||||
|
lValue = lList[0]
|
||||||
|
}
|
||||||
|
rValue := value.Value(nil)
|
||||||
|
if len(rList) != 0 {
|
||||||
|
rValue = rList[0]
|
||||||
|
}
|
||||||
|
errs = append(errs, w.compareListItem(t, pe, lValue, rValue)...)
|
||||||
|
// Duplicates before & after use-case:
|
||||||
|
// Compare the duplicates lists as if they were atomic, mark modified if they changed.
|
||||||
|
case len(lList) >= 2 && len(rList) >= 2:
|
||||||
|
listEqual := func(lList, rList []value.Value) bool {
|
||||||
|
if len(lList) != len(rList) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for i := range lList {
|
||||||
|
if !value.Equals(lList[i], rList[i]) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if !listEqual(lList, rList) {
|
||||||
|
w.comparison.Modified.Insert(append(w.path, pe))
|
||||||
|
}
|
||||||
|
// Duplicates before & not anymore use-case:
|
||||||
|
// Rcursively add new non-duplicate items, Remove duplicate marker,
|
||||||
|
case len(lList) >= 2:
|
||||||
|
if len(rList) != 0 {
|
||||||
|
errs = append(errs, w.compareListItem(t, pe, nil, rList[0])...)
|
||||||
|
}
|
||||||
|
w.comparison.Removed.Insert(append(w.path, pe))
|
||||||
|
// New duplicates use-case:
|
||||||
|
// Recursively remove old non-duplicate items, add duplicate marker.
|
||||||
|
case len(rList) >= 2:
|
||||||
|
if len(lList) != 0 {
|
||||||
|
errs = append(errs, w.compareListItem(t, pe, lList[0], nil)...)
|
||||||
|
}
|
||||||
|
w.comparison.Added.Insert(append(w.path, pe))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) indexListPathElements(t *schema.List, list value.List) ([]fieldpath.PathElement, fieldpath.PathElementValueMap, ValidationErrors) {
|
||||||
|
var errs ValidationErrors
|
||||||
|
length := 0
|
||||||
|
if list != nil {
|
||||||
|
length = list.Length()
|
||||||
|
}
|
||||||
|
observed := fieldpath.MakePathElementValueMap(length)
|
||||||
|
pes := make([]fieldpath.PathElement, 0, length)
|
||||||
|
for i := 0; i < length; i++ {
|
||||||
|
child := list.At(i)
|
||||||
|
pe, err := listItemToPathElement(w.allocator, w.schema, t, child)
|
||||||
|
if err != nil {
|
||||||
|
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
||||||
|
// If we can't construct the path element, we can't
|
||||||
|
// even report errors deeper in the schema, so bail on
|
||||||
|
// this element.
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// Ignore repeated occurences of `pe`.
|
||||||
|
if _, found := observed.Get(pe); found {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
observed.Insert(pe, child)
|
||||||
|
pes = append(pes, pe)
|
||||||
|
}
|
||||||
|
return pes, observed, errs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) compareListItem(t *schema.List, pe fieldpath.PathElement, lChild, rChild value.Value) ValidationErrors {
|
||||||
|
w2 := w.prepareDescent(pe, t.ElementType, w.comparison)
|
||||||
|
w2.lhs = lChild
|
||||||
|
w2.rhs = rChild
|
||||||
|
errs := w2.compare(pe.String)
|
||||||
|
w.finishDescent(w2)
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) derefList(prefix string, v value.Value) (value.List, ValidationErrors) {
|
||||||
|
if v == nil {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
l, err := listValue(w.allocator, v)
|
||||||
|
if err != nil {
|
||||||
|
return nil, errorf("%v: %v", prefix, err)
|
||||||
|
}
|
||||||
|
return l, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) doList(t *schema.List) (errs ValidationErrors) {
|
||||||
|
lhs, _ := w.derefList("lhs: ", w.lhs)
|
||||||
|
if lhs != nil {
|
||||||
|
defer w.allocator.Free(lhs)
|
||||||
|
}
|
||||||
|
rhs, _ := w.derefList("rhs: ", w.rhs)
|
||||||
|
if rhs != nil {
|
||||||
|
defer w.allocator.Free(rhs)
|
||||||
|
}
|
||||||
|
|
||||||
|
// If both lhs and rhs are empty/null, treat it as a
|
||||||
|
// leaf: this helps preserve the empty/null
|
||||||
|
// distinction.
|
||||||
|
emptyPromoteToLeaf := (lhs == nil || lhs.Length() == 0) && (rhs == nil || rhs.Length() == 0)
|
||||||
|
|
||||||
|
if t.ElementRelationship == schema.Atomic || emptyPromoteToLeaf {
|
||||||
|
w.doLeaf()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if lhs == nil && rhs == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
errs = w.visitListItems(t, lhs, rhs)
|
||||||
|
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) visitMapItem(t *schema.Map, out map[string]interface{}, key string, lhs, rhs value.Value) (errs ValidationErrors) {
|
||||||
|
fieldType := t.ElementType
|
||||||
|
if sf, ok := t.FindField(key); ok {
|
||||||
|
fieldType = sf.Type
|
||||||
|
}
|
||||||
|
pe := fieldpath.PathElement{FieldName: &key}
|
||||||
|
w2 := w.prepareDescent(pe, fieldType, w.comparison)
|
||||||
|
w2.lhs = lhs
|
||||||
|
w2.rhs = rhs
|
||||||
|
errs = append(errs, w2.compare(pe.String)...)
|
||||||
|
w.finishDescent(w2)
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) visitMapItems(t *schema.Map, lhs, rhs value.Map) (errs ValidationErrors) {
|
||||||
|
out := map[string]interface{}{}
|
||||||
|
|
||||||
|
value.MapZipUsing(w.allocator, lhs, rhs, value.Unordered, func(key string, lhsValue, rhsValue value.Value) bool {
|
||||||
|
errs = append(errs, w.visitMapItem(t, out, key, lhsValue, rhsValue)...)
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
|
func (w *compareWalker) doMap(t *schema.Map) (errs ValidationErrors) {
|
||||||
|
lhs, _ := w.derefMap("lhs: ", w.lhs)
|
||||||
|
if lhs != nil {
|
||||||
|
defer w.allocator.Free(lhs)
|
||||||
|
}
|
||||||
|
rhs, _ := w.derefMap("rhs: ", w.rhs)
|
||||||
|
if rhs != nil {
|
||||||
|
defer w.allocator.Free(rhs)
|
||||||
|
}
|
||||||
|
// If both lhs and rhs are empty/null, treat it as a
|
||||||
|
// leaf: this helps preserve the empty/null
|
||||||
|
// distinction.
|
||||||
|
emptyPromoteToLeaf := (lhs == nil || lhs.Empty()) && (rhs == nil || rhs.Empty())
|
||||||
|
|
||||||
|
if t.ElementRelationship == schema.Atomic || emptyPromoteToLeaf {
|
||||||
|
w.doLeaf()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if lhs == nil && rhs == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
errs = append(errs, w.visitMapItems(t, lhs, rhs)...)
|
||||||
|
|
||||||
|
return errs
|
||||||
|
}
|
23
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/helpers.go
generated
vendored
23
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/helpers.go
generated
vendored
@ -197,7 +197,7 @@ func getAssociativeKeyDefault(s *schema.Schema, list *schema.List, fieldName str
|
|||||||
return field.Default, nil
|
return field.Default, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func keyedAssociativeListItemToPathElement(a value.Allocator, s *schema.Schema, list *schema.List, index int, child value.Value) (fieldpath.PathElement, error) {
|
func keyedAssociativeListItemToPathElement(a value.Allocator, s *schema.Schema, list *schema.List, child value.Value) (fieldpath.PathElement, error) {
|
||||||
pe := fieldpath.PathElement{}
|
pe := fieldpath.PathElement{}
|
||||||
if child.IsNull() {
|
if child.IsNull() {
|
||||||
// null entries are illegal.
|
// null entries are illegal.
|
||||||
@ -225,7 +225,7 @@ func keyedAssociativeListItemToPathElement(a value.Allocator, s *schema.Schema,
|
|||||||
return pe, nil
|
return pe, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func setItemToPathElement(list *schema.List, index int, child value.Value) (fieldpath.PathElement, error) {
|
func setItemToPathElement(child value.Value) (fieldpath.PathElement, error) {
|
||||||
pe := fieldpath.PathElement{}
|
pe := fieldpath.PathElement{}
|
||||||
switch {
|
switch {
|
||||||
case child.IsMap():
|
case child.IsMap():
|
||||||
@ -245,16 +245,15 @@ func setItemToPathElement(list *schema.List, index int, child value.Value) (fiel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func listItemToPathElement(a value.Allocator, s *schema.Schema, list *schema.List, index int, child value.Value) (fieldpath.PathElement, error) {
|
func listItemToPathElement(a value.Allocator, s *schema.Schema, list *schema.List, child value.Value) (fieldpath.PathElement, error) {
|
||||||
if list.ElementRelationship == schema.Associative {
|
if list.ElementRelationship != schema.Associative {
|
||||||
if len(list.Keys) > 0 {
|
return fieldpath.PathElement{}, errors.New("invalid indexing of non-associative list")
|
||||||
return keyedAssociativeListItemToPathElement(a, s, list, index, child)
|
|
||||||
}
|
|
||||||
|
|
||||||
// If there's no keys, then we must be a set of primitives.
|
|
||||||
return setItemToPathElement(list, index, child)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use the index as a key for atomic lists.
|
if len(list.Keys) > 0 {
|
||||||
return fieldpath.PathElement{Index: &index}, nil
|
return keyedAssociativeListItemToPathElement(a, s, list, child)
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there's no keys, then we must be a set of primitives.
|
||||||
|
return setItemToPathElement(child)
|
||||||
}
|
}
|
||||||
|
50
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go
generated
vendored
50
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/merge.go
generated
vendored
@ -180,14 +180,18 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err
|
|||||||
}
|
}
|
||||||
out := make([]interface{}, 0, outLen)
|
out := make([]interface{}, 0, outLen)
|
||||||
|
|
||||||
rhsOrder, observedRHS, rhsErrs := w.indexListPathElements(t, rhs)
|
rhsPEs, observedRHS, rhsErrs := w.indexListPathElements(t, rhs, false)
|
||||||
errs = append(errs, rhsErrs...)
|
errs = append(errs, rhsErrs...)
|
||||||
lhsOrder, observedLHS, lhsErrs := w.indexListPathElements(t, lhs)
|
lhsPEs, observedLHS, lhsErrs := w.indexListPathElements(t, lhs, true)
|
||||||
errs = append(errs, lhsErrs...)
|
errs = append(errs, lhsErrs...)
|
||||||
|
|
||||||
|
if len(errs) != 0 {
|
||||||
|
return errs
|
||||||
|
}
|
||||||
|
|
||||||
sharedOrder := make([]*fieldpath.PathElement, 0, rLen)
|
sharedOrder := make([]*fieldpath.PathElement, 0, rLen)
|
||||||
for i := range rhsOrder {
|
for i := range rhsPEs {
|
||||||
pe := &rhsOrder[i]
|
pe := &rhsPEs[i]
|
||||||
if _, ok := observedLHS.Get(*pe); ok {
|
if _, ok := observedLHS.Get(*pe); ok {
|
||||||
sharedOrder = append(sharedOrder, pe)
|
sharedOrder = append(sharedOrder, pe)
|
||||||
}
|
}
|
||||||
@ -199,13 +203,15 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err
|
|||||||
sharedOrder = sharedOrder[1:]
|
sharedOrder = sharedOrder[1:]
|
||||||
}
|
}
|
||||||
|
|
||||||
lLen, rLen = len(lhsOrder), len(rhsOrder)
|
mergedRHS := fieldpath.MakePathElementMap(len(rhsPEs))
|
||||||
|
lLen, rLen = len(lhsPEs), len(rhsPEs)
|
||||||
for lI, rI := 0, 0; lI < lLen || rI < rLen; {
|
for lI, rI := 0, 0; lI < lLen || rI < rLen; {
|
||||||
if lI < lLen && rI < rLen {
|
if lI < lLen && rI < rLen {
|
||||||
pe := lhsOrder[lI]
|
pe := lhsPEs[lI]
|
||||||
if pe.Equals(rhsOrder[rI]) {
|
if pe.Equals(rhsPEs[rI]) {
|
||||||
// merge LHS & RHS items
|
// merge LHS & RHS items
|
||||||
lChild, _ := observedLHS.Get(pe)
|
mergedRHS.Insert(pe, struct{}{})
|
||||||
|
lChild, _ := observedLHS.Get(pe) // may be nil if the PE is duplicaated.
|
||||||
rChild, _ := observedRHS.Get(pe)
|
rChild, _ := observedRHS.Get(pe)
|
||||||
mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild)
|
mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild)
|
||||||
errs = append(errs, errs...)
|
errs = append(errs, errs...)
|
||||||
@ -222,17 +228,17 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err
|
|||||||
}
|
}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if _, ok := observedRHS.Get(pe); ok && nextShared != nil && !nextShared.Equals(lhsOrder[lI]) {
|
if _, ok := observedRHS.Get(pe); ok && nextShared != nil && !nextShared.Equals(lhsPEs[lI]) {
|
||||||
// shared item, but not the one we want in this round
|
// shared item, but not the one we want in this round
|
||||||
lI++
|
lI++
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if lI < lLen {
|
if lI < lLen {
|
||||||
pe := lhsOrder[lI]
|
pe := lhsPEs[lI]
|
||||||
if _, ok := observedRHS.Get(pe); !ok {
|
if _, ok := observedRHS.Get(pe); !ok {
|
||||||
// take LHS item
|
// take LHS item using At to make sure we get the right item (observed may not contain the right item).
|
||||||
lChild, _ := observedLHS.Get(pe)
|
lChild := lhs.AtUsing(w.allocator, lI)
|
||||||
mergeOut, errs := w.mergeListItem(t, pe, lChild, nil)
|
mergeOut, errs := w.mergeListItem(t, pe, lChild, nil)
|
||||||
errs = append(errs, errs...)
|
errs = append(errs, errs...)
|
||||||
if mergeOut != nil {
|
if mergeOut != nil {
|
||||||
@ -240,12 +246,16 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err
|
|||||||
}
|
}
|
||||||
lI++
|
lI++
|
||||||
continue
|
continue
|
||||||
|
} else if _, ok := mergedRHS.Get(pe); ok {
|
||||||
|
// we've already merged it with RHS, we don't want to duplicate it, skip it.
|
||||||
|
lI++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if rI < rLen {
|
if rI < rLen {
|
||||||
// Take the RHS item, merge with matching LHS item if possible
|
// Take the RHS item, merge with matching LHS item if possible
|
||||||
pe := rhsOrder[rI]
|
pe := rhsPEs[rI]
|
||||||
lChild, _ := observedLHS.Get(pe) // may be nil
|
mergedRHS.Insert(pe, struct{}{})
|
||||||
|
lChild, _ := observedLHS.Get(pe) // may be nil if absent or duplicaated.
|
||||||
rChild, _ := observedRHS.Get(pe)
|
rChild, _ := observedRHS.Get(pe)
|
||||||
mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild)
|
mergeOut, errs := w.mergeListItem(t, pe, lChild, rChild)
|
||||||
errs = append(errs, errs...)
|
errs = append(errs, errs...)
|
||||||
@ -272,7 +282,7 @@ func (w *mergingWalker) visitListItems(t *schema.List, lhs, rhs value.List) (err
|
|||||||
return errs
|
return errs
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *mergingWalker) indexListPathElements(t *schema.List, list value.List) ([]fieldpath.PathElement, fieldpath.PathElementValueMap, ValidationErrors) {
|
func (w *mergingWalker) indexListPathElements(t *schema.List, list value.List, allowDuplicates bool) ([]fieldpath.PathElement, fieldpath.PathElementValueMap, ValidationErrors) {
|
||||||
var errs ValidationErrors
|
var errs ValidationErrors
|
||||||
length := 0
|
length := 0
|
||||||
if list != nil {
|
if list != nil {
|
||||||
@ -282,7 +292,7 @@ func (w *mergingWalker) indexListPathElements(t *schema.List, list value.List) (
|
|||||||
pes := make([]fieldpath.PathElement, 0, length)
|
pes := make([]fieldpath.PathElement, 0, length)
|
||||||
for i := 0; i < length; i++ {
|
for i := 0; i < length; i++ {
|
||||||
child := list.At(i)
|
child := list.At(i)
|
||||||
pe, err := listItemToPathElement(w.allocator, w.schema, t, i, child)
|
pe, err := listItemToPathElement(w.allocator, w.schema, t, child)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
||||||
// If we can't construct the path element, we can't
|
// If we can't construct the path element, we can't
|
||||||
@ -290,11 +300,15 @@ func (w *mergingWalker) indexListPathElements(t *schema.List, list value.List) (
|
|||||||
// this element.
|
// this element.
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if _, found := observed.Get(pe); found {
|
if _, found := observed.Get(pe); found && !allowDuplicates {
|
||||||
errs = append(errs, errorf("duplicate entries for key %v", pe.String())...)
|
errs = append(errs, errorf("duplicate entries for key %v", pe.String())...)
|
||||||
continue
|
continue
|
||||||
|
} else if !found {
|
||||||
|
observed.Insert(pe, child)
|
||||||
|
} else {
|
||||||
|
// Duplicated items are not merged with the new value, make them nil.
|
||||||
|
observed.Insert(pe, value.NewValueInterface(nil))
|
||||||
}
|
}
|
||||||
observed.Insert(pe, child)
|
|
||||||
pes = append(pes, pe)
|
pes = append(pes, pe)
|
||||||
}
|
}
|
||||||
return pes, observed, errs
|
return pes, observed, errs
|
||||||
|
12
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/parser.go
generated
vendored
12
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/parser.go
generated
vendored
@ -93,13 +93,13 @@ func (p ParseableType) IsValid() bool {
|
|||||||
|
|
||||||
// FromYAML parses a yaml string into an object with the current schema
|
// FromYAML parses a yaml string into an object with the current schema
|
||||||
// and the type "typename" or an error if validation fails.
|
// and the type "typename" or an error if validation fails.
|
||||||
func (p ParseableType) FromYAML(object YAMLObject) (*TypedValue, error) {
|
func (p ParseableType) FromYAML(object YAMLObject, opts ...ValidationOptions) (*TypedValue, error) {
|
||||||
var v interface{}
|
var v interface{}
|
||||||
err := yaml.Unmarshal([]byte(object), &v)
|
err := yaml.Unmarshal([]byte(object), &v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return AsTyped(value.NewValueInterface(v), p.Schema, p.TypeRef)
|
return AsTyped(value.NewValueInterface(v), p.Schema, p.TypeRef, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FromUnstructured converts a go "interface{}" type, typically an
|
// FromUnstructured converts a go "interface{}" type, typically an
|
||||||
@ -108,8 +108,8 @@ func (p ParseableType) FromYAML(object YAMLObject) (*TypedValue, error) {
|
|||||||
// The provided interface{} must be one of: map[string]interface{},
|
// The provided interface{} must be one of: map[string]interface{},
|
||||||
// map[interface{}]interface{}, []interface{}, int types, float types,
|
// map[interface{}]interface{}, []interface{}, int types, float types,
|
||||||
// string or boolean. Nested interface{} must also be one of these types.
|
// string or boolean. Nested interface{} must also be one of these types.
|
||||||
func (p ParseableType) FromUnstructured(in interface{}) (*TypedValue, error) {
|
func (p ParseableType) FromUnstructured(in interface{}, opts ...ValidationOptions) (*TypedValue, error) {
|
||||||
return AsTyped(value.NewValueInterface(in), p.Schema, p.TypeRef)
|
return AsTyped(value.NewValueInterface(in), p.Schema, p.TypeRef, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FromStructured converts a go "interface{}" type, typically an structured object in
|
// FromStructured converts a go "interface{}" type, typically an structured object in
|
||||||
@ -117,12 +117,12 @@ func (p ParseableType) FromUnstructured(in interface{}) (*TypedValue, error) {
|
|||||||
// schema validation. The provided "interface{}" value must be a pointer so that the
|
// schema validation. The provided "interface{}" value must be a pointer so that the
|
||||||
// value can be modified via reflection. The provided "interface{}" may contain structs
|
// value can be modified via reflection. The provided "interface{}" may contain structs
|
||||||
// and types that are converted to Values by the jsonMarshaler interface.
|
// and types that are converted to Values by the jsonMarshaler interface.
|
||||||
func (p ParseableType) FromStructured(in interface{}) (*TypedValue, error) {
|
func (p ParseableType) FromStructured(in interface{}, opts ...ValidationOptions) (*TypedValue, error) {
|
||||||
v, err := value.NewValueReflect(in)
|
v, err := value.NewValueReflect(in)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error creating struct value reflector: %v", err)
|
return nil, fmt.Errorf("error creating struct value reflector: %v", err)
|
||||||
}
|
}
|
||||||
return AsTyped(v, p.Schema, p.TypeRef)
|
return AsTyped(v, p.Schema, p.TypeRef, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeducedParseableType is a ParseableType that deduces the type from
|
// DeducedParseableType is a ParseableType that deduces the type from
|
||||||
|
4
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/remove.go
generated
vendored
4
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/remove.go
generated
vendored
@ -74,9 +74,9 @@ func (w *removingWalker) doList(t *schema.List) (errs ValidationErrors) {
|
|||||||
iter := l.RangeUsing(w.allocator)
|
iter := l.RangeUsing(w.allocator)
|
||||||
defer w.allocator.Free(iter)
|
defer w.allocator.Free(iter)
|
||||||
for iter.Next() {
|
for iter.Next() {
|
||||||
i, item := iter.Item()
|
_, item := iter.Item()
|
||||||
// Ignore error because we have already validated this list
|
// Ignore error because we have already validated this list
|
||||||
pe, _ := listItemToPathElement(w.allocator, w.schema, t, i, item)
|
pe, _ := listItemToPathElement(w.allocator, w.schema, t, item)
|
||||||
path, _ := fieldpath.MakePath(pe)
|
path, _ := fieldpath.MakePath(pe)
|
||||||
// save items on the path when we shouldExtract
|
// save items on the path when we shouldExtract
|
||||||
// but ignore them when we are removing (i.e. !w.shouldExtract)
|
// but ignore them when we are removing (i.e. !w.shouldExtract)
|
||||||
|
24
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/tofieldset.go
generated
vendored
24
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/tofieldset.go
generated
vendored
@ -94,9 +94,31 @@ func (v *toFieldSetWalker) doScalar(t *schema.Scalar) ValidationErrors {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (v *toFieldSetWalker) visitListItems(t *schema.List, list value.List) (errs ValidationErrors) {
|
func (v *toFieldSetWalker) visitListItems(t *schema.List, list value.List) (errs ValidationErrors) {
|
||||||
|
// Keeps track of the PEs we've seen
|
||||||
|
seen := fieldpath.MakePathElementSet(list.Length())
|
||||||
|
// Keeps tracks of the PEs we've counted as duplicates
|
||||||
|
duplicates := fieldpath.MakePathElementSet(list.Length())
|
||||||
for i := 0; i < list.Length(); i++ {
|
for i := 0; i < list.Length(); i++ {
|
||||||
child := list.At(i)
|
child := list.At(i)
|
||||||
pe, _ := listItemToPathElement(v.allocator, v.schema, t, i, child)
|
pe, _ := listItemToPathElement(v.allocator, v.schema, t, child)
|
||||||
|
if seen.Has(pe) {
|
||||||
|
if duplicates.Has(pe) {
|
||||||
|
// do nothing
|
||||||
|
} else {
|
||||||
|
v.set.Insert(append(v.path, pe))
|
||||||
|
duplicates.Insert(pe)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
seen.Insert(pe)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for i := 0; i < list.Length(); i++ {
|
||||||
|
child := list.At(i)
|
||||||
|
pe, _ := listItemToPathElement(v.allocator, v.schema, t, child)
|
||||||
|
if duplicates.Has(pe) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
v2 := v.prepareDescent(pe, t.ElementType)
|
v2 := v.prepareDescent(pe, t.ElementType)
|
||||||
v2.value = child
|
v2.value = child
|
||||||
errs = append(errs, v2.toFieldSet()...)
|
errs = append(errs, v2.toFieldSet()...)
|
||||||
|
184
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/typed.go
generated
vendored
184
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/typed.go
generated
vendored
@ -17,8 +17,6 @@ limitations under the License.
|
|||||||
package typed
|
package typed
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
|
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
|
||||||
@ -26,16 +24,24 @@ import (
|
|||||||
"sigs.k8s.io/structured-merge-diff/v4/value"
|
"sigs.k8s.io/structured-merge-diff/v4/value"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// ValidationOptions is the list of all the options available when running the validation.
|
||||||
|
type ValidationOptions int
|
||||||
|
|
||||||
|
const (
|
||||||
|
// AllowDuplicates means that sets and associative lists can have duplicate similar items.
|
||||||
|
AllowDuplicates ValidationOptions = iota
|
||||||
|
)
|
||||||
|
|
||||||
// AsTyped accepts a value and a type and returns a TypedValue. 'v' must have
|
// AsTyped accepts a value and a type and returns a TypedValue. 'v' must have
|
||||||
// type 'typeName' in the schema. An error is returned if the v doesn't conform
|
// type 'typeName' in the schema. An error is returned if the v doesn't conform
|
||||||
// to the schema.
|
// to the schema.
|
||||||
func AsTyped(v value.Value, s *schema.Schema, typeRef schema.TypeRef) (*TypedValue, error) {
|
func AsTyped(v value.Value, s *schema.Schema, typeRef schema.TypeRef, opts ...ValidationOptions) (*TypedValue, error) {
|
||||||
tv := &TypedValue{
|
tv := &TypedValue{
|
||||||
value: v,
|
value: v,
|
||||||
typeRef: typeRef,
|
typeRef: typeRef,
|
||||||
schema: s,
|
schema: s,
|
||||||
}
|
}
|
||||||
if err := tv.Validate(); err != nil {
|
if err := tv.Validate(opts...); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return tv, nil
|
return tv, nil
|
||||||
@ -81,8 +87,14 @@ func (tv TypedValue) Schema() *schema.Schema {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Validate returns an error with a list of every spec violation.
|
// Validate returns an error with a list of every spec violation.
|
||||||
func (tv TypedValue) Validate() error {
|
func (tv TypedValue) Validate(opts ...ValidationOptions) error {
|
||||||
w := tv.walker()
|
w := tv.walker()
|
||||||
|
for _, opt := range opts {
|
||||||
|
switch opt {
|
||||||
|
case AllowDuplicates:
|
||||||
|
w.allowDuplicates = true
|
||||||
|
}
|
||||||
|
}
|
||||||
defer w.finished()
|
defer w.finished()
|
||||||
if errs := w.validate(nil); len(errs) != 0 {
|
if errs := w.validate(nil); len(errs) != 0 {
|
||||||
return errs
|
return errs
|
||||||
@ -117,6 +129,10 @@ func (tv TypedValue) Merge(pso *TypedValue) (*TypedValue, error) {
|
|||||||
return merge(&tv, pso, ruleKeepRHS, nil)
|
return merge(&tv, pso, ruleKeepRHS, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var cmpwPool = sync.Pool{
|
||||||
|
New: func() interface{} { return &compareWalker{} },
|
||||||
|
}
|
||||||
|
|
||||||
// Compare compares the two objects. See the comments on the `Comparison`
|
// Compare compares the two objects. See the comments on the `Comparison`
|
||||||
// struct for details on the return value.
|
// struct for details on the return value.
|
||||||
//
|
//
|
||||||
@ -124,34 +140,44 @@ func (tv TypedValue) Merge(pso *TypedValue) (*TypedValue, error) {
|
|||||||
// match), or an error will be returned. Validation errors will be returned if
|
// match), or an error will be returned. Validation errors will be returned if
|
||||||
// the objects don't conform to the schema.
|
// the objects don't conform to the schema.
|
||||||
func (tv TypedValue) Compare(rhs *TypedValue) (c *Comparison, err error) {
|
func (tv TypedValue) Compare(rhs *TypedValue) (c *Comparison, err error) {
|
||||||
c = &Comparison{
|
lhs := tv
|
||||||
|
if lhs.schema != rhs.schema {
|
||||||
|
return nil, errorf("expected objects with types from the same schema")
|
||||||
|
}
|
||||||
|
if !lhs.typeRef.Equals(&rhs.typeRef) {
|
||||||
|
return nil, errorf("expected objects of the same type, but got %v and %v", lhs.typeRef, rhs.typeRef)
|
||||||
|
}
|
||||||
|
|
||||||
|
cmpw := cmpwPool.Get().(*compareWalker)
|
||||||
|
defer func() {
|
||||||
|
cmpw.lhs = nil
|
||||||
|
cmpw.rhs = nil
|
||||||
|
cmpw.schema = nil
|
||||||
|
cmpw.typeRef = schema.TypeRef{}
|
||||||
|
cmpw.comparison = nil
|
||||||
|
cmpw.inLeaf = false
|
||||||
|
|
||||||
|
cmpwPool.Put(cmpw)
|
||||||
|
}()
|
||||||
|
|
||||||
|
cmpw.lhs = lhs.value
|
||||||
|
cmpw.rhs = rhs.value
|
||||||
|
cmpw.schema = lhs.schema
|
||||||
|
cmpw.typeRef = lhs.typeRef
|
||||||
|
cmpw.comparison = &Comparison{
|
||||||
Removed: fieldpath.NewSet(),
|
Removed: fieldpath.NewSet(),
|
||||||
Modified: fieldpath.NewSet(),
|
Modified: fieldpath.NewSet(),
|
||||||
Added: fieldpath.NewSet(),
|
Added: fieldpath.NewSet(),
|
||||||
}
|
}
|
||||||
a := value.NewFreelistAllocator()
|
if cmpw.allocator == nil {
|
||||||
_, err = merge(&tv, rhs, func(w *mergingWalker) {
|
cmpw.allocator = value.NewFreelistAllocator()
|
||||||
if w.lhs == nil {
|
|
||||||
c.Added.Insert(w.path)
|
|
||||||
} else if w.rhs == nil {
|
|
||||||
c.Removed.Insert(w.path)
|
|
||||||
} else if !value.EqualsUsing(a, w.rhs, w.lhs) {
|
|
||||||
// TODO: Equality is not sufficient for this.
|
|
||||||
// Need to implement equality check on the value type.
|
|
||||||
c.Modified.Insert(w.path)
|
|
||||||
}
|
|
||||||
}, func(w *mergingWalker) {
|
|
||||||
if w.lhs == nil {
|
|
||||||
c.Added.Insert(w.path)
|
|
||||||
} else if w.rhs == nil {
|
|
||||||
c.Removed.Insert(w.path)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c, nil
|
errs := cmpw.compare(nil)
|
||||||
|
if len(errs) > 0 {
|
||||||
|
return nil, errs
|
||||||
|
}
|
||||||
|
return cmpw.comparison, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveItems removes each provided list or map item from the value.
|
// RemoveItems removes each provided list or map item from the value.
|
||||||
@ -166,63 +192,6 @@ func (tv TypedValue) ExtractItems(items *fieldpath.Set) *TypedValue {
|
|||||||
return &tv
|
return &tv
|
||||||
}
|
}
|
||||||
|
|
||||||
// NormalizeUnions takes the new object and normalizes the union:
|
|
||||||
// - If discriminator changed to non-nil, and a new field has been added
|
|
||||||
// that doesn't match, an error is returned,
|
|
||||||
// - If discriminator hasn't changed and two fields or more are set, an
|
|
||||||
// error is returned,
|
|
||||||
// - If discriminator changed to non-nil, all other fields but the
|
|
||||||
// discriminated one will be cleared,
|
|
||||||
// - Otherwise, If only one field is left, update discriminator to that value.
|
|
||||||
//
|
|
||||||
// Please note: union behavior isn't finalized yet and this is still experimental.
|
|
||||||
func (tv TypedValue) NormalizeUnions(new *TypedValue) (*TypedValue, error) {
|
|
||||||
var errs ValidationErrors
|
|
||||||
var normalizeFn = func(w *mergingWalker) {
|
|
||||||
if w.rhs != nil {
|
|
||||||
v := w.rhs.Unstructured()
|
|
||||||
w.out = &v
|
|
||||||
}
|
|
||||||
if err := normalizeUnions(w); err != nil {
|
|
||||||
errs = append(errs, errorf(err.Error())...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
out, mergeErrs := merge(&tv, new, func(w *mergingWalker) {}, normalizeFn)
|
|
||||||
if mergeErrs != nil {
|
|
||||||
errs = append(errs, mergeErrs.(ValidationErrors)...)
|
|
||||||
}
|
|
||||||
if len(errs) > 0 {
|
|
||||||
return nil, errs
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// NormalizeUnionsApply specifically normalize unions on apply. It
|
|
||||||
// validates that the applied union is correct (there should be no
|
|
||||||
// ambiguity there), and clear the fields according to the sent intent.
|
|
||||||
//
|
|
||||||
// Please note: union behavior isn't finalized yet and this is still experimental.
|
|
||||||
func (tv TypedValue) NormalizeUnionsApply(new *TypedValue) (*TypedValue, error) {
|
|
||||||
var errs ValidationErrors
|
|
||||||
var normalizeFn = func(w *mergingWalker) {
|
|
||||||
if w.rhs != nil {
|
|
||||||
v := w.rhs.Unstructured()
|
|
||||||
w.out = &v
|
|
||||||
}
|
|
||||||
if err := normalizeUnionsApply(w); err != nil {
|
|
||||||
errs = append(errs, errorf(err.Error())...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
out, mergeErrs := merge(&tv, new, func(w *mergingWalker) {}, normalizeFn)
|
|
||||||
if mergeErrs != nil {
|
|
||||||
errs = append(errs, mergeErrs.(ValidationErrors)...)
|
|
||||||
}
|
|
||||||
if len(errs) > 0 {
|
|
||||||
return nil, errs
|
|
||||||
}
|
|
||||||
return out, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (tv TypedValue) Empty() *TypedValue {
|
func (tv TypedValue) Empty() *TypedValue {
|
||||||
tv.value = value.NewValueInterface(nil)
|
tv.value = value.NewValueInterface(nil)
|
||||||
return &tv
|
return &tv
|
||||||
@ -278,50 +247,3 @@ func merge(lhs, rhs *TypedValue, rule, postRule mergeRule) (*TypedValue, error)
|
|||||||
}
|
}
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comparison is the return value of a TypedValue.Compare() operation.
|
|
||||||
//
|
|
||||||
// No field will appear in more than one of the three fieldsets. If all of the
|
|
||||||
// fieldsets are empty, then the objects must have been equal.
|
|
||||||
type Comparison struct {
|
|
||||||
// Removed contains any fields removed by rhs (the right-hand-side
|
|
||||||
// object in the comparison).
|
|
||||||
Removed *fieldpath.Set
|
|
||||||
// Modified contains fields present in both objects but different.
|
|
||||||
Modified *fieldpath.Set
|
|
||||||
// Added contains any fields added by rhs.
|
|
||||||
Added *fieldpath.Set
|
|
||||||
}
|
|
||||||
|
|
||||||
// IsSame returns true if the comparison returned no changes (the two
|
|
||||||
// compared objects are similar).
|
|
||||||
func (c *Comparison) IsSame() bool {
|
|
||||||
return c.Removed.Empty() && c.Modified.Empty() && c.Added.Empty()
|
|
||||||
}
|
|
||||||
|
|
||||||
// String returns a human readable version of the comparison.
|
|
||||||
func (c *Comparison) String() string {
|
|
||||||
bld := strings.Builder{}
|
|
||||||
if !c.Modified.Empty() {
|
|
||||||
bld.WriteString(fmt.Sprintf("- Modified Fields:\n%v\n", c.Modified))
|
|
||||||
}
|
|
||||||
if !c.Added.Empty() {
|
|
||||||
bld.WriteString(fmt.Sprintf("- Added Fields:\n%v\n", c.Added))
|
|
||||||
}
|
|
||||||
if !c.Removed.Empty() {
|
|
||||||
bld.WriteString(fmt.Sprintf("- Removed Fields:\n%v\n", c.Removed))
|
|
||||||
}
|
|
||||||
return bld.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
// ExcludeFields fields from the compare recursively removes the fields
|
|
||||||
// from the entire comparison
|
|
||||||
func (c *Comparison) ExcludeFields(fields *fieldpath.Set) *Comparison {
|
|
||||||
if fields == nil || fields.Empty() {
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
c.Removed = c.Removed.RecursiveDifference(fields)
|
|
||||||
c.Modified = c.Modified.RecursiveDifference(fields)
|
|
||||||
c.Added = c.Added.RecursiveDifference(fields)
|
|
||||||
return c
|
|
||||||
}
|
|
||||||
|
276
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/union.go
generated
vendored
276
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/union.go
generated
vendored
@ -1,276 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2019 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 typed
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"sigs.k8s.io/structured-merge-diff/v4/schema"
|
|
||||||
"sigs.k8s.io/structured-merge-diff/v4/value"
|
|
||||||
)
|
|
||||||
|
|
||||||
func normalizeUnions(w *mergingWalker) error {
|
|
||||||
atom, found := w.schema.Resolve(w.typeRef)
|
|
||||||
if !found {
|
|
||||||
panic(fmt.Sprintf("Unable to resolve schema in normalize union: %v/%v", w.schema, w.typeRef))
|
|
||||||
}
|
|
||||||
// Unions can only be in structures, and the struct must not have been removed
|
|
||||||
if atom.Map == nil || w.out == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var old value.Map
|
|
||||||
if w.lhs != nil && !w.lhs.IsNull() {
|
|
||||||
old = w.lhs.AsMap()
|
|
||||||
}
|
|
||||||
for _, union := range atom.Map.Unions {
|
|
||||||
if err := newUnion(&union).Normalize(old, w.rhs.AsMap(), value.NewValueInterface(*w.out).AsMap()); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func normalizeUnionsApply(w *mergingWalker) error {
|
|
||||||
atom, found := w.schema.Resolve(w.typeRef)
|
|
||||||
if !found {
|
|
||||||
panic(fmt.Sprintf("Unable to resolve schema in normalize union: %v/%v", w.schema, w.typeRef))
|
|
||||||
}
|
|
||||||
// Unions can only be in structures, and the struct must not have been removed
|
|
||||||
if atom.Map == nil || w.out == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var old value.Map
|
|
||||||
if w.lhs != nil && !w.lhs.IsNull() {
|
|
||||||
old = w.lhs.AsMap()
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, union := range atom.Map.Unions {
|
|
||||||
out := value.NewValueInterface(*w.out)
|
|
||||||
if err := newUnion(&union).NormalizeApply(old, w.rhs.AsMap(), out.AsMap()); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
*w.out = out.Unstructured()
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type discriminated string
|
|
||||||
type field string
|
|
||||||
|
|
||||||
type discriminatedNames struct {
|
|
||||||
f2d map[field]discriminated
|
|
||||||
d2f map[discriminated]field
|
|
||||||
}
|
|
||||||
|
|
||||||
func newDiscriminatedName(f2d map[field]discriminated) discriminatedNames {
|
|
||||||
d2f := map[discriminated]field{}
|
|
||||||
for key, value := range f2d {
|
|
||||||
d2f[value] = key
|
|
||||||
}
|
|
||||||
return discriminatedNames{
|
|
||||||
f2d: f2d,
|
|
||||||
d2f: d2f,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dn discriminatedNames) toField(d discriminated) field {
|
|
||||||
if f, ok := dn.d2f[d]; ok {
|
|
||||||
return f
|
|
||||||
}
|
|
||||||
return field(d)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dn discriminatedNames) toDiscriminated(f field) discriminated {
|
|
||||||
if d, ok := dn.f2d[f]; ok {
|
|
||||||
return d
|
|
||||||
}
|
|
||||||
return discriminated(f)
|
|
||||||
}
|
|
||||||
|
|
||||||
type discriminator struct {
|
|
||||||
name string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *discriminator) Set(m value.Map, v discriminated) {
|
|
||||||
if d == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
m.Set(d.name, value.NewValueInterface(string(v)))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *discriminator) Get(m value.Map) discriminated {
|
|
||||||
if d == nil || m == nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
val, ok := m.Get(d.name)
|
|
||||||
if !ok {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
if !val.IsString() {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return discriminated(val.AsString())
|
|
||||||
}
|
|
||||||
|
|
||||||
type fieldsSet map[field]struct{}
|
|
||||||
|
|
||||||
// newFieldsSet returns a map of the fields that are part of the union and are set
|
|
||||||
// in the given map.
|
|
||||||
func newFieldsSet(m value.Map, fields []field) fieldsSet {
|
|
||||||
if m == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
set := fieldsSet{}
|
|
||||||
for _, f := range fields {
|
|
||||||
if subField, ok := m.Get(string(f)); ok && !subField.IsNull() {
|
|
||||||
set.Add(f)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return set
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) Add(f field) {
|
|
||||||
if fs == nil {
|
|
||||||
fs = map[field]struct{}{}
|
|
||||||
}
|
|
||||||
fs[f] = struct{}{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) One() *field {
|
|
||||||
for f := range fs {
|
|
||||||
return &f
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) Has(f field) bool {
|
|
||||||
_, ok := fs[f]
|
|
||||||
return ok
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) List() []field {
|
|
||||||
fields := []field{}
|
|
||||||
for f := range fs {
|
|
||||||
fields = append(fields, f)
|
|
||||||
}
|
|
||||||
return fields
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) Difference(o fieldsSet) fieldsSet {
|
|
||||||
n := fieldsSet{}
|
|
||||||
for f := range fs {
|
|
||||||
if !o.Has(f) {
|
|
||||||
n.Add(f)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return n
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fs fieldsSet) String() string {
|
|
||||||
s := []string{}
|
|
||||||
for k := range fs {
|
|
||||||
s = append(s, string(k))
|
|
||||||
}
|
|
||||||
return strings.Join(s, ", ")
|
|
||||||
}
|
|
||||||
|
|
||||||
type union struct {
|
|
||||||
deduceInvalidDiscriminator bool
|
|
||||||
d *discriminator
|
|
||||||
dn discriminatedNames
|
|
||||||
f []field
|
|
||||||
}
|
|
||||||
|
|
||||||
func newUnion(su *schema.Union) *union {
|
|
||||||
u := &union{}
|
|
||||||
if su.Discriminator != nil {
|
|
||||||
u.d = &discriminator{name: *su.Discriminator}
|
|
||||||
}
|
|
||||||
f2d := map[field]discriminated{}
|
|
||||||
for _, f := range su.Fields {
|
|
||||||
u.f = append(u.f, field(f.FieldName))
|
|
||||||
f2d[field(f.FieldName)] = discriminated(f.DiscriminatorValue)
|
|
||||||
}
|
|
||||||
u.dn = newDiscriminatedName(f2d)
|
|
||||||
u.deduceInvalidDiscriminator = su.DeduceInvalidDiscriminator
|
|
||||||
return u
|
|
||||||
}
|
|
||||||
|
|
||||||
// clear removes all the fields in map that are part of the union, but
|
|
||||||
// the one we decided to keep.
|
|
||||||
func (u *union) clear(m value.Map, f field) {
|
|
||||||
for _, fieldName := range u.f {
|
|
||||||
if field(fieldName) != f {
|
|
||||||
m.Delete(string(fieldName))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (u *union) Normalize(old, new, out value.Map) error {
|
|
||||||
os := newFieldsSet(old, u.f)
|
|
||||||
ns := newFieldsSet(new, u.f)
|
|
||||||
diff := ns.Difference(os)
|
|
||||||
|
|
||||||
if u.d.Get(old) != u.d.Get(new) && u.d.Get(new) != "" {
|
|
||||||
if len(diff) == 1 && u.d.Get(new) != u.dn.toDiscriminated(*diff.One()) {
|
|
||||||
return fmt.Errorf("discriminator (%v) and field changed (%v) don't match", u.d.Get(new), diff.One())
|
|
||||||
}
|
|
||||||
if len(diff) > 1 {
|
|
||||||
return fmt.Errorf("multiple new fields added: %v", diff)
|
|
||||||
}
|
|
||||||
u.clear(out, u.dn.toField(u.d.Get(new)))
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(ns) > 1 {
|
|
||||||
return fmt.Errorf("multiple fields set without discriminator change: %v", ns)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set discriminiator if it needs to be deduced.
|
|
||||||
if u.deduceInvalidDiscriminator && len(ns) == 1 {
|
|
||||||
u.d.Set(out, u.dn.toDiscriminated(*ns.One()))
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (u *union) NormalizeApply(applied, merged, out value.Map) error {
|
|
||||||
as := newFieldsSet(applied, u.f)
|
|
||||||
if len(as) > 1 {
|
|
||||||
return fmt.Errorf("more than one field of union applied: %v", as)
|
|
||||||
}
|
|
||||||
if len(as) == 0 {
|
|
||||||
// None is set, just leave.
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
// We have exactly one, discriminiator must match if set
|
|
||||||
if u.d.Get(applied) != "" && u.d.Get(applied) != u.dn.toDiscriminated(*as.One()) {
|
|
||||||
return fmt.Errorf("applied discriminator (%v) doesn't match applied field (%v)", u.d.Get(applied), *as.One())
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update discriminiator if needed
|
|
||||||
if u.deduceInvalidDiscriminator {
|
|
||||||
u.d.Set(out, u.dn.toDiscriminated(*as.One()))
|
|
||||||
}
|
|
||||||
// Clear others fields.
|
|
||||||
u.clear(out, *as.One())
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
8
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/validate.go
generated
vendored
8
vendor/sigs.k8s.io/structured-merge-diff/v4/typed/validate.go
generated
vendored
@ -33,6 +33,7 @@ func (tv TypedValue) walker() *validatingObjectWalker {
|
|||||||
v.value = tv.value
|
v.value = tv.value
|
||||||
v.schema = tv.schema
|
v.schema = tv.schema
|
||||||
v.typeRef = tv.typeRef
|
v.typeRef = tv.typeRef
|
||||||
|
v.allowDuplicates = false
|
||||||
if v.allocator == nil {
|
if v.allocator == nil {
|
||||||
v.allocator = value.NewFreelistAllocator()
|
v.allocator = value.NewFreelistAllocator()
|
||||||
}
|
}
|
||||||
@ -49,6 +50,9 @@ type validatingObjectWalker struct {
|
|||||||
value value.Value
|
value value.Value
|
||||||
schema *schema.Schema
|
schema *schema.Schema
|
||||||
typeRef schema.TypeRef
|
typeRef schema.TypeRef
|
||||||
|
// If set to true, duplicates will be allowed in
|
||||||
|
// associativeLists/sets.
|
||||||
|
allowDuplicates bool
|
||||||
|
|
||||||
// Allocate only as many walkers as needed for the depth by storing them here.
|
// Allocate only as many walkers as needed for the depth by storing them here.
|
||||||
spareWalkers *[]*validatingObjectWalker
|
spareWalkers *[]*validatingObjectWalker
|
||||||
@ -129,7 +133,7 @@ func (v *validatingObjectWalker) visitListItems(t *schema.List, list value.List)
|
|||||||
pe.Index = &i
|
pe.Index = &i
|
||||||
} else {
|
} else {
|
||||||
var err error
|
var err error
|
||||||
pe, err = listItemToPathElement(v.allocator, v.schema, t, i, child)
|
pe, err = listItemToPathElement(v.allocator, v.schema, t, child)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
errs = append(errs, errorf("element %v: %v", i, err.Error())...)
|
||||||
// If we can't construct the path element, we can't
|
// If we can't construct the path element, we can't
|
||||||
@ -137,7 +141,7 @@ func (v *validatingObjectWalker) visitListItems(t *schema.List, list value.List)
|
|||||||
// this element.
|
// this element.
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if observedKeys.Has(pe) {
|
if observedKeys.Has(pe) && !v.allowDuplicates {
|
||||||
errs = append(errs, errorf("duplicate entries for key %v", pe.String())...)
|
errs = append(errs, errorf("duplicate entries for key %v", pe.String())...)
|
||||||
}
|
}
|
||||||
observedKeys.Insert(pe)
|
observedKeys.Insert(pe)
|
||||||
|
Loading…
Reference in New Issue
Block a user