diff --git a/.werf/defines/parse-base-images-map.tmpl b/.werf/defines/parse-base-images-map.tmpl index b4be6b80a3..0a6d8b1b72 100644 --- a/.werf/defines/parse-base-images-map.tmpl +++ b/.werf/defines/parse-base-images-map.tmpl @@ -1,11 +1,28 @@ +{{- define "project_images"}} +{{- $globImages := "images/*/werf.inc.yaml" }} +{{- $globPackages := "images/packages/*/werf.inc.yaml" }} +{{- $globRootWerf := "werf.yaml" }} +{{- $regexp := "(builder|tools|libs|base)/([a-zA-Z0-9._-]+)" }} +{{- $globAll := merge (.Files.Glob $globImages) (.Files.Glob $globPackages) (.Files.Glob $globRootWerf) }} +{{- $imagesMap := dict }} +{{- range $path, $content := $globAll }} +{{- $findImg := regexFindAll $regexp $content -1 }} +{{- range $findImg }} +{{- $_ := set $imagesMap . "" }} +{{- end }} +{{- end }} +{{- $imagesMap | toJson }} +{{- end }} + {{- define "parse_base_images_map" }} {{- $deckhouseImages := .Files.Get "build/base-images/deckhouse_images.yml" | fromYaml }} {{/* # deckhouse_images has a format # /: "sha256:abcde12345 */}} +{{- $usedImagesDict := (include "project_images" . | fromJson) }} {{- range $k, $v := $deckhouseImages }} -{{ $baseImagePath := (printf "%s@%s" $deckhouseImages.REGISTRY_PATH (trimSuffix "/" $v)) }} +{{- $baseImagePath := (printf "%s@%s" $deckhouseImages.REGISTRY_PATH (trimSuffix "/" $v)) }} {{- if ne $k "REGISTRY_PATH" }} {{- $_ := set $deckhouseImages $k $baseImagePath }} {{- end }} @@ -14,9 +31,11 @@ {{- $_ := set . "Images" (mustMerge $deckhouseImages) }} {{/* # base images artifacts */}} {{- range $k, $v := .Images }} +{{- if hasKey $usedImagesDict $k }} --- image: {{ $k }} from: {{ $v }} final: false +{{- end }} {{- end }} {{- end }} diff --git a/build/base-images/deckhouse_images.yml b/build/base-images/deckhouse_images.yml index cea12d0791..9b29ba0ce7 100644 --- a/build/base-images/deckhouse_images.yml +++ b/build/base-images/deckhouse_images.yml @@ -1,294 +1,306 @@ -# version=v0.5.38 +# version=v0.5.47 # REGISTRY_PATH is a special key which is concatenated with other base images REGISTRY_PATH: registry.deckhouse.io/base_images -base/distroless: "sha256:a6e0220edd70c87368869f45a66c10c684709fe2ffdbaf8471d3d055f698de91" # fromImage: builder/scratch -base/nginx: "sha256:51918a6586931cfc70e87b3b08e0f9c7d6c40e57ca05016d9441becb53c8ccaa" # fromImage: tools/nginx-release-1.28.0 -base/nginx-release-1.28.0: "sha256:51918a6586931cfc70e87b3b08e0f9c7d6c40e57ca05016d9441becb53c8ccaa" # fromImage: tools/nginx-release-1.28.0 -base/python: "sha256:93bec8557300544fb6723837adafc8d72a8c7e5a81c92a847d5e7dce4c0911b5" # fromImage: builder/scratch -base/python-v3.12.10: "sha256:93bec8557300544fb6723837adafc8d72a8c7e5a81c92a847d5e7dce4c0911b5" # fromImage: builder/scratch -base/redis: "sha256:ca1f5271089dda8f473b86e9ab9883229f16f341b555292a860253d4e7876fd0" # fromImage: builder/scratch -base/redis-7.4.5: "sha256:ca1f5271089dda8f473b86e9ab9883229f16f341b555292a860253d4e7876fd0" # fromImage: builder/scratch -base/ruby: "sha256:e95e692539498f322e5f0eb47160c85491f3f6c41e8d411f428695f41080a1a1" # fromImage: base/distroless -base/ruby-bundler: "sha256:79256ecb70ef6b280c9b2a3184fa92c878ccccfd66b6cd73a25d9ba9fee338a0" # fromImage: builder/alpine -base/ruby-bundler-v3_4_7: "sha256:79256ecb70ef6b280c9b2a3184fa92c878ccccfd66b6cd73a25d9ba9fee338a0" # fromImage: builder/alpine -base/ruby-v3_4_7: "sha256:e95e692539498f322e5f0eb47160c85491f3f6c41e8d411f428695f41080a1a1" # fromImage: base/distroless -base/scratch: "sha256:cfac1c6b53f9365ee59ffe94c90211253f2a85ece372a6a9dfad61f4e0ab0bea" # fromImage: builder/scratch -base/shell-operator: "sha256:d3a00f5f05a8d0dc031b3eaf3bb42de80c646f76d0a9184d67d9b361e9005cf2" # fromImage: builder/scratch -base/shell-operator-v1.9.3: "sha256:d3a00f5f05a8d0dc031b3eaf3bb42de80c646f76d0a9184d67d9b361e9005cf2" # fromImage: builder/scratch -builder/alpine: "sha256:2ffd38fd342a64e79ed28cf52d71216bf119b28d96b9871184acfea672a7acc8" # from: alpine:3.22.2 +base/distroless: "sha256:3b38e7d3ee131f1ecaf276204ad465d70f476ce457014e23d4ec7aaf9b80549f" # from: builder/scratch +base/nginx-release-1.28.0: "sha256:4ad77f0cdc956c4a4ab0f173d8d705d39900adc7d1f4760f96cb1f7625932088" # from: tools/nginx-release-1.28.0 +base/nginx: "sha256:4ad77f0cdc956c4a4ab0f173d8d705d39900adc7d1f4760f96cb1f7625932088" # from: tools/nginx-release-1.28.0 +base/python: "sha256:734631c678d72654cfd0b5e0ad7bee8200fa224486a8c4836ca2700e4cbb2ee2" # from: builder/scratch +base/python-v3.12.12: "sha256:734631c678d72654cfd0b5e0ad7bee8200fa224486a8c4836ca2700e4cbb2ee2" # from: builder/scratch +base/redis-7.4.5: "sha256:2376fb51b3fe652bbfc4c136444fed5e48272ed91fef642d1825ca331d7a419a" # from: builder/scratch +base/redis: "sha256:2376fb51b3fe652bbfc4c136444fed5e48272ed91fef642d1825ca331d7a419a" # from: builder/scratch +base/ruby-bundler: "sha256:fb2d4bd5817976c0a53a9e20672189edb2ec30392cfacb85100d8f0e6f41f7da" # from: builder/alpine +base/ruby-bundler-v3_4_7: "sha256:fb2d4bd5817976c0a53a9e20672189edb2ec30392cfacb85100d8f0e6f41f7da" # from: builder/alpine +base/ruby: "sha256:785ea11e03b32b9ee1444d634b4f03e1353d6ff3d5220fe26c938fc01fa741f7" # from: base/distroless +base/ruby-v3_4_7: "sha256:785ea11e03b32b9ee1444d634b4f03e1353d6ff3d5220fe26c938fc01fa741f7" # from: base/distroless +base/scratch: "sha256:cfac1c6b53f9365ee59ffe94c90211253f2a85ece372a6a9dfad61f4e0ab0bea" # from: builder/scratch +base/shell-operator: "sha256:4b245b24d6070b2c1eecade2d515cbcdb19a5269cbf07425dfb3027f56f67a9e" # from: builder/scratch +base/shell-operator-v1.9.3: "sha256:4b245b24d6070b2c1eecade2d515cbcdb19a5269cbf07425dfb3027f56f67a9e" # from: builder/scratch builder/alpine-3.21: "sha256:7b5050553bf256aec2c8c8e67179e689f13f6877e45a036755c6bc3113be7239" # from: alpine:3.21.5 builder/alpine-3.22: "sha256:2ffd38fd342a64e79ed28cf52d71216bf119b28d96b9871184acfea672a7acc8" # from: alpine:3.22.2 -builder/alpine-svace: "sha256:ea53c5b323bd5bf9df8a16360cf83fc02610ddb27710599f85b72ceb04132b39" # fromImage: builder/alpine-3.22 -builder/alpine-svace-3.21: "sha256:901c0f38672089fc4098cee3426790354defb054e147c903a26e91448a691ecf" # fromImage: builder/alpine-3.21 -builder/alpine-svace-3.22: "sha256:ea53c5b323bd5bf9df8a16360cf83fc02610ddb27710599f85b72ceb04132b39" # fromImage: builder/alpine-3.22 -builder/alt: "sha256:f9f8dceeb403cbdd6f1393a8bb5eae55643e55917c701fcc9d638f5234681106" # from: registry.altlinux.org/p11/alt:20250625 -builder/alt-2025-10-29: "sha256:f9f8dceeb403cbdd6f1393a8bb5eae55643e55917c701fcc9d638f5234681106" # from: registry.altlinux.org/p11/alt:20250625 -builder/debian: "sha256:0ed78087f23de3d6a9e3bb75bc6df7e2d17373cf7f4d45568a8d265cfd0ca0e2" # from: debian:trixie-slim -builder/debian-12.11-slim: "sha256:12427020b18306124815a1edbcd2a774068b82f21e558d8271b7f457ce6f53f5" # from: debian:12.11-slim -builder/debian-svace: "sha256:d0a6896d37b29c22757c0c8f33782bdcb255b38d5dbf1ee9f7961f156de88a50" # fromImage: builder/debian -builder/debian-svace-12.11-slim: "sha256:d0a6896d37b29c22757c0c8f33782bdcb255b38d5dbf1ee9f7961f156de88a50" # fromImage: builder/debian -builder/debian-svace-trixie-slim: "sha256:d0a6896d37b29c22757c0c8f33782bdcb255b38d5dbf1ee9f7961f156de88a50" # fromImage: builder/debian -builder/debian-trixie-slim: "sha256:0ed78087f23de3d6a9e3bb75bc6df7e2d17373cf7f4d45568a8d265cfd0ca0e2" # from: debian:trixie-slim -builder/golang-alpine: "sha256:b5b10c06033baa5d37152610c4c86ba44079257581229ae9d663c66263de4c66" # fromImage: builder/alpine -builder/golang-alpine-1.24: "sha256:69bf124658d134df780a10fc7544ba9c0681b9b54e8b1f5c634205ee0bb83267" # fromImage: builder/alpine -builder/golang-alpine-1.25: "sha256:b5b10c06033baa5d37152610c4c86ba44079257581229ae9d663c66263de4c66" # fromImage: builder/alpine -builder/golang-alpine-svace: "sha256:00094bb59b51bd887fbc02a99daaa0592e418d6493adf0b08c4425c65a1d5aac" # fromImage: builder/golang-alpine-1.25 -builder/golang-alpine-svace-1.24: "sha256:a164badd96db4b8306ff5519c8becadfb43666748896866c1efd42376e75a8a8" # fromImage: builder/golang-alpine-1.24 -builder/golang-alpine-svace-1.25: "sha256:00094bb59b51bd887fbc02a99daaa0592e418d6493adf0b08c4425c65a1d5aac" # fromImage: builder/golang-alpine-1.25 -builder/golang-alt: "sha256:4554086aedf3692b9ab70a47cf4f5929569888bbdaa0de400554674706a7c544" # fromImage: builder/alt -builder/golang-alt-1.24.9: "sha256:b77245d9a1506813c494491612bad34aa4fd0fd5c122527536ea9f6bf8621b37" # fromImage: builder/alt -builder/golang-alt-1.25.3: "sha256:4554086aedf3692b9ab70a47cf4f5929569888bbdaa0de400554674706a7c544" # fromImage: builder/alt -builder/golang-alt-svace: "sha256:d4cd94b251df9d3612dceb4c6ce655d476d4df20264c958a576edc2091e23501" # fromImage: builder/golang-alt-1.25.3 -builder/golang-alt-svace-1.24.9: "sha256:82659c57ddfeaa988ea73c10da0f69d217f0b5a59db723e1b6834bfee35d69c8" # fromImage: builder/golang-alt-1.24.9 -builder/golang-alt-svace-1.25.3: "sha256:d4cd94b251df9d3612dceb4c6ce655d476d4df20264c958a576edc2091e23501" # fromImage: builder/golang-alt-1.25.3 -builder/golang-bookworm: "sha256:4707da2eb80666dd9274d1349d1cc377017a2367aeb504c6f9a26d5069e06146" # from: golang:1.25.3-bookworm -builder/golang-bookworm-1.24: "sha256:f85ad58334fc42695e66be434cf914155d09d33e4fdf580e07693f0d1495d10c" # from: golang:1.24.9-bookworm -builder/golang-bookworm-1.25: "sha256:4707da2eb80666dd9274d1349d1cc377017a2367aeb504c6f9a26d5069e06146" # from: golang:1.25.3-bookworm -builder/golang-bookworm-svace: "sha256:3c5d28c0bbfbaf7933dd322f50c0153277424cb84f92a0d5f27b4430da664c1d" # fromImage: builder/golang-bookworm-1.25 -builder/golang-bookworm-svace-1.24: "sha256:7adee6bbb7317f391315d13bad4cdf23cb8dcceec551a33d7d781087af30848c" # fromImage: builder/golang-bookworm-1.24 -builder/golang-bookworm-svace-1.25: "sha256:3c5d28c0bbfbaf7933dd322f50c0153277424cb84f92a0d5f27b4430da664c1d" # fromImage: builder/golang-bookworm-1.25 -builder/golang-bullseye: "sha256:0269f022b1acfc847f2ca3a1cdf800da631e72128b66c40d9b5f3208c9c10e90" # from: golang:1.24.6-bullseye -builder/golang-bullseye-1.24: "sha256:0269f022b1acfc847f2ca3a1cdf800da631e72128b66c40d9b5f3208c9c10e90" # from: golang:1.24.6-bullseye -builder/golang-gost-alpine: "sha256:b5a6edc1628c1eb1b291623670c58737f1c29feb4f202c6638626eb569cee224" # from: golang:1.24.9-alpine3.22 -builder/golang-gost-alpine-1.24: "sha256:b5a6edc1628c1eb1b291623670c58737f1c29feb4f202c6638626eb569cee224" # from: golang:1.24.9-alpine3.22 -builder/golang-gost-bookworm: "sha256:b2a89299104d7283a4162a253917a804f91ae5b698b657bef3c2ed228aec40f7" # from: golang:1.24.9-bookworm -builder/golang-gost-bookworm-1.24: "sha256:b2a89299104d7283a4162a253917a804f91ae5b698b657bef3c2ed228aec40f7" # from: golang:1.24.9-bookworm -builder/golang-gost-bullseye: "sha256:19eb83c63c7aa03e0093c71a8e9cfae7d7482b4f415ca09be85d2e47929ba342" # from: golang:1.24.6-bullseye -builder/golang-gost-bullseye-1.24: "sha256:19eb83c63c7aa03e0093c71a8e9cfae7d7482b4f415ca09be85d2e47929ba342" # from: golang:1.24.6-bullseye -builder/node-alpine: "sha256:e9840ca02afe6ff64c9bebd64c241060cd9ba4f9e362dc6c12d4c7eac732b63a" # from: node:22.16.0-alpine3.20 -builder/node-alpine-22.16: "sha256:e9840ca02afe6ff64c9bebd64c241060cd9ba4f9e362dc6c12d4c7eac732b63a" # from: node:22.16.0-alpine3.20 -builder/node-alpine-23.10: "sha256:3129386eaf2eef748806fbc8e278bfe7fcca463870d0fc85bdd799ea021558e5" # from: node:23.10.0-alpine3.20 +builder/alpine: "sha256:2ffd38fd342a64e79ed28cf52d71216bf119b28d96b9871184acfea672a7acc8" # from: alpine:3.22.2 +builder/alpine-svace-3.21: "sha256:8c899f28cc6b0603e485e301b1e5de32e3a24940f255d34bc472704bce9813b8" # from: builder/alpine-3.21 +builder/alpine-svace-3.22: "sha256:0d14a09d7f3073d82a99afaec09beba5a9800092982d42388cf3a695a0d2d075" # from: builder/alpine-3.22 +builder/alpine-svace: "sha256:0d14a09d7f3073d82a99afaec09beba5a9800092982d42388cf3a695a0d2d075" # from: builder/alpine-3.22 +builder/alt-2025-11-02: "sha256:f1b131ab710bd9ea9654a4efb9873cfda1955400ed85fe0de7d7f99416beb0f7" # from: registry.altlinux.org/p11/alt:20250625 +builder/alt: "sha256:f1b131ab710bd9ea9654a4efb9873cfda1955400ed85fe0de7d7f99416beb0f7" # from: registry.altlinux.org/p11/alt:20250625 +builder/debian-12.11-slim: "sha256:9bc9233a888cee8c0f5e729412eb936eb38fb19a0edee1e679250394361f382b" # from: debian:12.11-slim +builder/debian: "sha256:812dbade4ae21d3e778f950f9bceb11c155381dc17424c3fb135f28f325e921d" # from: debian:trixie-slim +builder/debian-svace-12.11-slim: "sha256:8c0f046a169dcc7efea41127f5a0c6e88452dc647e1564e5a110b3dba8552487" # from: builder/debian-12.11-slim +builder/debian-svace: "sha256:74246bbb4f7688893fc99bd56a23add30b51c3f03c80df2f0e30c02e384c3828" # from: builder/debian-trixie-slim +builder/debian-svace-trixie-slim: "sha256:74246bbb4f7688893fc99bd56a23add30b51c3f03c80df2f0e30c02e384c3828" # from: builder/debian-trixie-slim +builder/debian-trixie-slim: "sha256:812dbade4ae21d3e778f950f9bceb11c155381dc17424c3fb135f28f325e921d" # from: debian:trixie-slim +builder/golang-alpine-1.24: "sha256:9c08afa586ef1dd33cca7e323fc8eb3f90bd2aa8e0b9b8e1f5ccdd3a962cf057" # from: builder/alpine +builder/golang-alpine-1.25: "sha256:90f1c9518e04ea55fb8ed8f820dda248bcbf04d37c4ee6909a97071bba4c71d5" # from: builder/alpine +builder/golang-alpine: "sha256:90f1c9518e04ea55fb8ed8f820dda248bcbf04d37c4ee6909a97071bba4c71d5" # from: builder/alpine +builder/golang-alpine-svace-1.24: "sha256:e7e9b6f98eca6b749639aa8c587e05f83f205c037236c5a1c01573b7e4369c6d" # from: builder/golang-alpine-1.24 +builder/golang-alpine-svace-1.25: "sha256:7fe7a6f3811069302cced5b4641f448cc4cd73c195c36746bc75d3d9fa607641" # from: builder/golang-alpine-1.25 +builder/golang-alpine-svace: "sha256:7fe7a6f3811069302cced5b4641f448cc4cd73c195c36746bc75d3d9fa607641" # from: builder/golang-alpine-1.25 +builder/golang-alt-1.24: "sha256:57f605d60c2a86b8f835148d7c43c74c7153357d378d2634ba4f30db8ff7b197" # from: builder/alt +builder/golang-alt-1.25: "sha256:9e5f3b461c417e16a2f3d8099e04ef0f7e2651b3fc0a5916e2693be032a5a49a" # from: builder/alt +builder/golang-alt: "sha256:9e5f3b461c417e16a2f3d8099e04ef0f7e2651b3fc0a5916e2693be032a5a49a" # from: builder/alt +builder/golang-alt-svace-1.24: "sha256:5dc4b641944c71db965382783aa24e99cb7ab23d80f1df474544ccbb70815bf5" # from: builder/golang-alt-1.24 +builder/golang-alt-svace-1.25: "sha256:f1c4d12aedbef77fa4102264d0a5b83fdd4388bea4ec3d06a47334479115fdd3" # from: builder/golang-alt-1.25 +builder/golang-alt-svace: "sha256:f1c4d12aedbef77fa4102264d0a5b83fdd4388bea4ec3d06a47334479115fdd3" # from: builder/golang-alt-1.25 +builder/golang-bookworm-1.24: "sha256:db989ac0f457cb35bb7a26eaed8a4352fab3ffe7cc80a71caf1500051acfd146" # from: golang:1.24.11-bookworm +builder/golang-bookworm-1.25: "sha256:6178495a9b938fc2cebd5444659260e877c439e0c5595567e0d98c127099af25" # from: golang:1.25.5-bookworm +builder/golang-bookworm: "sha256:6178495a9b938fc2cebd5444659260e877c439e0c5595567e0d98c127099af25" # from: golang:1.25.5-bookworm +builder/golang-bookworm-svace-1.24: "sha256:c288d28a679e743355b11df2f00e7a4625f4bc91e340acaa37ef24e1957bf9b1" # from: builder/golang-bookworm-1.24 +builder/golang-bookworm-svace-1.25: "sha256:7e685e8d6bcb704e2506d080449695e4ec599590b071bf552e8bd1f1e94e7829" # from: builder/golang-bookworm-1.25 +builder/golang-bookworm-svace: "sha256:7e685e8d6bcb704e2506d080449695e4ec599590b071bf552e8bd1f1e94e7829" # from: builder/golang-bookworm-1.25 +builder/golang-bullseye-1.24: "sha256:8dff898211ccabc1e15a2940ce09f5d90f2cb3b91de5ab4eec1ed15cc1e74470" # from: golang:1.24.6-bullseye +builder/golang-bullseye: "sha256:8dff898211ccabc1e15a2940ce09f5d90f2cb3b91de5ab4eec1ed15cc1e74470" # from: golang:1.24.6-bullseye +builder/golang-gost-alpine-1.24: "sha256:0a464278f064e397d0ec6e488b5ba982eb42d03295026d57e25cbe3779930da0" # from: golang:1.24.11-alpine3.22 +builder/golang-gost-alpine: "sha256:0a464278f064e397d0ec6e488b5ba982eb42d03295026d57e25cbe3779930da0" # from: golang:1.24.11-alpine3.22 +builder/golang-gost-bookworm-1.24: "sha256:c8a70b98e56c5efd0088dee03b65c1f381ab3efcb9d3ff1e28e54d793d618a65" # from: golang:1.24.11-bookworm +builder/golang-gost-bookworm: "sha256:c8a70b98e56c5efd0088dee03b65c1f381ab3efcb9d3ff1e28e54d793d618a65" # from: golang:1.24.11-bookworm +builder/golang-gost-bullseye-1.24: "sha256:900fe64a8f50be86ec92d4e97c4a942ddadbb3cd5b3ced4ea5792f5bd7d66702" # from: golang:1.24.6-bullseye +builder/golang-gost-bullseye: "sha256:900fe64a8f50be86ec92d4e97c4a942ddadbb3cd5b3ced4ea5792f5bd7d66702" # from: golang:1.24.6-bullseye +builder/node-alpine-22.16: "sha256:c280ef343bd3ccbf1ec6c923f930ddaf7551755b9d8a8196074244753b63d864" # from: node:22.16.0-alpine3.20 +builder/node-alpine-23.10: "sha256:e00d53497096d81617c01e588e09962221d068c0c17558c8636130019c70cb59" # from: node:23.10.0-alpine3.20 +builder/node-alpine: "sha256:c280ef343bd3ccbf1ec6c923f930ddaf7551755b9d8a8196074244753b63d864" # from: node:22.16.0-alpine3.20 builder/scratch: "sha256:1b7d59d0fd717710beaebed73c82caac21babcd7c6d22899a92a1e4fd5eafdfd" # from: registry.werf.io/werf/scratch -builder/src: "sha256:238d6f94cb2d71c342d9ee88c5143c02698e6674363b6a6695493e919f2098dc" # fromImage: builder/alt -libs/abseil-cpp: "sha256:73ddf2f018737ed2f19a5c2dd77b798cbb16082253eb482fb1dbd3e92d2e8c13" # fromImage: builder/scratch -libs/abseil-cpp-20240722.1: "sha256:73ddf2f018737ed2f19a5c2dd77b798cbb16082253eb482fb1dbd3e92d2e8c13" # fromImage: builder/scratch -libs/argp-standalone: "sha256:fb2c47ee03932945377f2b228490392f574008416ddbd1bedcb707c16b4d0449" # fromImage: builder/scratch -libs/argp-standalone-1.5.0: "sha256:fb2c47ee03932945377f2b228490392f574008416ddbd1bedcb707c16b4d0449" # fromImage: builder/scratch -libs/brotli: "sha256:817fbfacd85d41e6a800e5b42c50ac1afbb8d52326469267fb259473136d8956" # fromImage: builder/scratch -libs/brotli-v1.1.0: "sha256:817fbfacd85d41e6a800e5b42c50ac1afbb8d52326469267fb259473136d8956" # fromImage: builder/scratch -libs/bzip2: "sha256:36d5d1f8b3fc330ac7258870ac05ec362e6dced61fce026ce26b8b1bb16ce8ab" # fromImage: builder/scratch -libs/bzip2-bzip2-1.0.8: "sha256:36d5d1f8b3fc330ac7258870ac05ec362e6dced61fce026ce26b8b1bb16ce8ab" # fromImage: builder/scratch -libs/c-ares: "sha256:690e4ba3be22f4c5e1b6c41cdc7416aaec6e6cb1bbc39293a0168e4b95dabde2" # fromImage: builder/scratch -libs/c-ares-v1.34.5: "sha256:690e4ba3be22f4c5e1b6c41cdc7416aaec6e6cb1bbc39293a0168e4b95dabde2" # fromImage: builder/scratch -libs/gdbm: "sha256:4bf1c7f69198a028053771bb8a8a9df38817bb54b34c88579b314700b262a540" # fromImage: builder/scratch -libs/gdbm-v1.24: "sha256:4bf1c7f69198a028053771bb8a8a9df38817bb54b34c88579b314700b262a540" # fromImage: builder/scratch -libs/glibc: "sha256:cb2a32a0d87adf744a7938a6d7c8ca1b21a36f73a25fb154c28a5b4d9e4b6ab4" # fromImage: builder/scratch -libs/glibc-v2.41: "sha256:cb2a32a0d87adf744a7938a6d7c8ca1b21a36f73a25fb154c28a5b4d9e4b6ab4" # fromImage: builder/scratch -libs/gmp: "sha256:e22f84b28165ae388d29a70c80542f64add9b23d85f951a90f2a9162d2138d63" # fromImage: builder/scratch -libs/gmp-6.3.0: "sha256:e22f84b28165ae388d29a70c80542f64add9b23d85f951a90f2a9162d2138d63" # fromImage: builder/scratch -libs/grpc: "sha256:f3f9af69ade2f46a8d8eb3b3f7edad520084fe389876db0261ff58133dd5db19" # fromImage: builder/scratch -libs/grpc-v1.62.1: "sha256:f3f9af69ade2f46a8d8eb3b3f7edad520084fe389876db0261ff58133dd5db19" # fromImage: builder/scratch -libs/icu: "sha256:dbaa69926965e0ceded92abd57418691d5554e48142fa044ed06efabf8f93b0c" # fromImage: builder/scratch -libs/icu-release-77-1: "sha256:dbaa69926965e0ceded92abd57418691d5554e48142fa044ed06efabf8f93b0c" # fromImage: builder/scratch -libs/json-c: "sha256:244dde50f470814fbd82785b564ea7e106e0e12b90346337c15e942935924f91" # fromImage: builder/scratch -libs/json-c-json-c-0.18-20240915: "sha256:244dde50f470814fbd82785b564ea7e106e0e12b90346337c15e942935924f91" # fromImage: builder/scratch -libs/keyutils: "sha256:33e99a8d79821c676660cf584aec09c1a181c0dbc971ef451337342e236fe9e0" # fromImage: builder/scratch -libs/keyutils-v1.6.1: "sha256:33e99a8d79821c676660cf584aec09c1a181c0dbc971ef451337342e236fe9e0" # fromImage: builder/scratch -libs/krb5: "sha256:0da9a1f52664943503b1fcfde884b3491874b8272e7b2af6493286db9306d93f" # fromImage: builder/scratch -libs/krb5-krb5-1.21.3-final: "sha256:0da9a1f52664943503b1fcfde884b3491874b8272e7b2af6493286db9306d93f" # fromImage: builder/scratch -libs/libaio: "sha256:1a622ecccbe10dc047b420c84b746ce2fc815b6939de1789b526541fdcf4016e" # fromImage: builder/scratch -libs/libaio-libaio-0.3.113: "sha256:1a622ecccbe10dc047b420c84b746ce2fc815b6939de1789b526541fdcf4016e" # fromImage: builder/scratch -libs/libcap: "sha256:3f426c651cd0f23edc97e0256648092ac54da6d1090f88ef8c407463dc63968e" # fromImage: builder/scratch -libs/libcap-v1.2.69: "sha256:44d3efa816a5d6cbb21787a9541e6735c9b85a736a57a72c43a53c2d6d2a3980" # fromImage: builder/scratch -libs/libcap-v1.2.71: "sha256:3f426c651cd0f23edc97e0256648092ac54da6d1090f88ef8c407463dc63968e" # fromImage: builder/scratch -libs/libedit: "sha256:add737dac982217cc7dd11f3280bab97098f766e2bdd5b774c9c4432f276a0ed" # fromImage: builder/scratch -libs/libedit-v20250104.3.1: "sha256:add737dac982217cc7dd11f3280bab97098f766e2bdd5b774c9c4432f276a0ed" # fromImage: builder/scratch -libs/libev: "sha256:977ce8afdefae70ea8f27e48677ef95e98ac8f5d6a8bd851beeedbe7b62d4773" # fromImage: builder/scratch -libs/libev-v4.33: "sha256:977ce8afdefae70ea8f27e48677ef95e98ac8f5d6a8bd851beeedbe7b62d4773" # fromImage: builder/scratch -libs/libevent: "sha256:611f73933b0291ec4786c7e298eaa333e0a08920ca1bf8360d17ced5cf89145b" # fromImage: builder/scratch -libs/libevent-release-2.2.1-alpha: "sha256:611f73933b0291ec4786c7e298eaa333e0a08920ca1bf8360d17ced5cf89145b" # fromImage: builder/scratch -libs/libffi: "sha256:0f7010b97d18c2e18316a202fd314174cf17fe35424b5ebc3f79bdc4472277b2" # fromImage: builder/scratch -libs/libffi-v3.4.8: "sha256:0f7010b97d18c2e18316a202fd314174cf17fe35424b5ebc3f79bdc4472277b2" # fromImage: builder/scratch -libs/libgcrypt: "sha256:03d58e0c6d3e9fe835fcd422af25fb3a32374ea28ea4e42a380008a641a08e16" # fromImage: builder/scratch -libs/libgcrypt-libgcrypt-1.11.1: "sha256:03d58e0c6d3e9fe835fcd422af25fb3a32374ea28ea4e42a380008a641a08e16" # fromImage: builder/scratch -libs/libgpg-error: "sha256:88507483fe3a86d65d597e5642f0e41d6044ca9f5d6d6f569e172d39beece3c8" # fromImage: builder/scratch -libs/libgpg-error-libgpg-error-1.55: "sha256:88507483fe3a86d65d597e5642f0e41d6044ca9f5d6d6f569e172d39beece3c8" # fromImage: builder/scratch -libs/libidn: "sha256:e327658d4a379775ba11831d82d5c86cdd08eb30c1fb39edbbf2a19069133d1f" # fromImage: builder/scratch -libs/libidn-v1.43: "sha256:e327658d4a379775ba11831d82d5c86cdd08eb30c1fb39edbbf2a19069133d1f" # fromImage: builder/scratch -libs/libidn2: "sha256:50773de8c44d0fc40dfbf408898395f4c52d77864e31261863fcb6ba0edb3c04" # fromImage: builder/scratch -libs/libidn2-v2.3.8: "sha256:50773de8c44d0fc40dfbf408898395f4c52d77864e31261863fcb6ba0edb3c04" # fromImage: builder/scratch -libs/libinih: "sha256:e7d4f7947bab25e663826ee64cbc75acdc7919c5730b4ce03bb09aa4074fde46" # fromImage: builder/scratch -libs/libinih-r60: "sha256:e7d4f7947bab25e663826ee64cbc75acdc7919c5730b4ce03bb09aa4074fde46" # fromImage: builder/scratch -libs/libmaxminddb: "sha256:d6f17a56375edf669dc82cee6b3b9ce5eb7e077a9987ae53585975217b1ddc62" # fromImage: builder/scratch -libs/libmaxminddb-1.12.2: "sha256:d6f17a56375edf669dc82cee6b3b9ce5eb7e077a9987ae53585975217b1ddc62" # fromImage: builder/scratch -libs/libmnl: "sha256:4f3379cda966bc78747ae2d3f5aa7024b95938b82603ebed24f9fc3c29e12020" # fromImage: builder/scratch -libs/libmnl-libmnl-1.0.5: "sha256:4f3379cda966bc78747ae2d3f5aa7024b95938b82603ebed24f9fc3c29e12020" # fromImage: builder/scratch -libs/libnetfilter_conntrack: "sha256:1a24ffff3ed6a597da22ccbd784f8d84d6d8f050667000f687ba3329469f2675" # fromImage: builder/scratch -libs/libnetfilter_conntrack-libnetfilter_conntrack-1.1.0: "sha256:1a24ffff3ed6a597da22ccbd784f8d84d6d8f050667000f687ba3329469f2675" # fromImage: builder/scratch -libs/libnetfilter_cthelper: "sha256:029eb3d309fc0c57237cd2bf0ab74fb0d751d5fef3f3da397426be2272550d39" # fromImage: builder/scratch -libs/libnetfilter_cthelper-libnetfilter_cthelper-1.0.1: "sha256:029eb3d309fc0c57237cd2bf0ab74fb0d751d5fef3f3da397426be2272550d39" # fromImage: builder/scratch -libs/libnetfilter_cttimeout: "sha256:6568b3326c09395c62614bfa26d8d1dfda0d5220e07f7c487ae4a70ad39ad2c2" # fromImage: builder/scratch -libs/libnetfilter_cttimeout-libnetfilter_cttimeout-1.0.1: "sha256:6568b3326c09395c62614bfa26d8d1dfda0d5220e07f7c487ae4a70ad39ad2c2" # fromImage: builder/scratch -libs/libnetfilter_queue: "sha256:4d7b3819f05b383366a92d2ef6fd4db1eec836603efc47ec014f8725155da3ee" # fromImage: builder/scratch -libs/libnetfilter_queue-libnetfilter_queue-1.0.5: "sha256:4d7b3819f05b383366a92d2ef6fd4db1eec836603efc47ec014f8725155da3ee" # fromImage: builder/scratch -libs/libnfnetlink: "sha256:e61b6ef9c5f2272b5ebd2413ab12803229bdd13567ae25787705fe8e71eb290f" # fromImage: builder/scratch -libs/libnfnetlink-libnfnetlink-1.0.2: "sha256:e61b6ef9c5f2272b5ebd2413ab12803229bdd13567ae25787705fe8e71eb290f" # fromImage: builder/scratch -libs/libnftnl: "sha256:9217bc3e65bb973ce6ce34292e2d8a7ef0dac0294589044020da91131b48c7e4" # fromImage: builder/scratch -libs/libnftnl-libnftnl-1.2.9: "sha256:9217bc3e65bb973ce6ce34292e2d8a7ef0dac0294589044020da91131b48c7e4" # fromImage: builder/scratch -libs/libnl: "sha256:0b7ec20c37f9396d0582de349fdcff40a666d5c63adaf91a1165590e9b037696" # fromImage: builder/scratch -libs/libnl-libnl3_2_25: "sha256:0b7ec20c37f9396d0582de349fdcff40a666d5c63adaf91a1165590e9b037696" # fromImage: builder/scratch -libs/libpq: "sha256:165ad1257a1099ce4dce141b6235aa6f881781ffeacdf2540622058cf7d7809a" # fromImage: builder/scratch -libs/libpq-REL_17_5: "sha256:165ad1257a1099ce4dce141b6235aa6f881781ffeacdf2540622058cf7d7809a" # fromImage: builder/scratch -libs/libpsl: "sha256:509710dc93610459c0b138d02f50a67fe687344f4476a77ae59513f9793ff178" # fromImage: builder/scratch -libs/libpsl-0.21.5: "sha256:509710dc93610459c0b138d02f50a67fe687344f4476a77ae59513f9793ff178" # fromImage: builder/scratch -libs/libtirpc: "sha256:f713164507859b9bad97f549f835cd9d903bd8ab5c521bc005c58cabda642999" # fromImage: builder/scratch -libs/libtirpc-libtirpc-1-3-6: "sha256:f713164507859b9bad97f549f835cd9d903bd8ab5c521bc005c58cabda642999" # fromImage: builder/scratch -libs/libunistring: "sha256:c7c7f2bea4e8fe0a87c2170120945e88d34e739e87f3cd388195ab4a2562759c" # fromImage: builder/scratch -libs/libunistring-v1.3: "sha256:c7c7f2bea4e8fe0a87c2170120945e88d34e739e87f3cd388195ab4a2562759c" # fromImage: builder/scratch -libs/libuv: "sha256:8e60be6fca82316421223e51fba016d237e658b1cb80867f38af4a995e48b9f0" # fromImage: builder/scratch -libs/libuv-v1.51.0: "sha256:8e60be6fca82316421223e51fba016d237e658b1cb80867f38af4a995e48b9f0" # fromImage: builder/scratch -libs/libxml2: "sha256:5b52df63ae1948afb6e2cb09a88041a28c9025b2312ccb156f6afe08b5f3850a" # fromImage: builder/scratch -libs/libxml2-v2.13.8: "sha256:c69456b587ac219e0d98efb05b3875cc4ef49579a76eb05c7ccd45623700badf" # fromImage: builder/scratch -libs/libxml2-v2.14.3: "sha256:5b52df63ae1948afb6e2cb09a88041a28c9025b2312ccb156f6afe08b5f3850a" # fromImage: builder/scratch -libs/libxslt: "sha256:ca8f5edfc698d1bb5d757698ac1d55bd96d23259a565ae45b7fd152f6d82686e" # fromImage: builder/scratch -libs/libxslt-v1.1.43: "sha256:ca8f5edfc698d1bb5d757698ac1d55bd96d23259a565ae45b7fd152f6d82686e" # fromImage: builder/scratch -libs/libyaml: "sha256:8aa5c369ca5cb856b74a0713d533a2c16307a44e1f5c723acb22d96294a94820" # fromImage: builder/scratch -libs/libyaml-0.2.5: "sha256:8aa5c369ca5cb856b74a0713d533a2c16307a44e1f5c723acb22d96294a94820" # fromImage: builder/scratch -libs/lmdb: "sha256:e5c674884d89c0538ea28a7194047f3e25a06d2d646a026b397b72437a0758ae" # fromImage: builder/scratch -libs/lmdb-LMDB_0.9.31: "sha256:e5c674884d89c0538ea28a7194047f3e25a06d2d646a026b397b72437a0758ae" # fromImage: builder/scratch -libs/lua-iconv: "sha256:700416c65f3303962753f3cef3b869b1b68796f721a5ee7c87df6d63f1225feb" # fromImage: builder/scratch -libs/lua-iconv-7-3: "sha256:700416c65f3303962753f3cef3b869b1b68796f721a5ee7c87df6d63f1225feb" # fromImage: builder/scratch -libs/lua-protobuf: "sha256:36d154f2bcb9731c66063f24834c4746b7fa057737fd55c0f7e07ed0140eec9c" # fromImage: builder/scratch -libs/lua-protobuf-0.5.1: "sha256:36d154f2bcb9731c66063f24834c4746b7fa057737fd55c0f7e07ed0140eec9c" # fromImage: builder/scratch -libs/mpc1: "sha256:79fde65236028cfecadda23962fe3e4780f9e823a9ea2fd0867f562cc8cbda9b" # fromImage: builder/scratch -libs/mpc1-1.3.1: "sha256:79fde65236028cfecadda23962fe3e4780f9e823a9ea2fd0867f562cc8cbda9b" # fromImage: builder/scratch -libs/mpfr4: "sha256:5383b02682c26796c66e56e1daa042aed9c24d3120bc30fb6f853384c25e96b2" # fromImage: builder/scratch -libs/mpfr4-4.2.1: "sha256:5383b02682c26796c66e56e1daa042aed9c24d3120bc30fb6f853384c25e96b2" # fromImage: builder/scratch -libs/musl: "sha256:1e2039a6d3df31d3ce001be546029567acbc3af7aa930713f4687cffc02f5609" # fromImage: builder/scratch -libs/musl-fts: "sha256:77d24706035aa2a19dc21dc9e539e846332a28e3c0ae4d3e2c3317841973edea" # fromImage: builder/scratch -libs/musl-fts-v1.2.7: "sha256:77d24706035aa2a19dc21dc9e539e846332a28e3c0ae4d3e2c3317841973edea" # fromImage: builder/scratch -libs/musl-obstack: "sha256:3a5f5a4fdf3e3e06b0bd58d603c40d2068b8e591f23316afe03030154783bee5" # fromImage: builder/scratch -libs/musl-obstack-v1.2.3: "sha256:3a5f5a4fdf3e3e06b0bd58d603c40d2068b8e591f23316afe03030154783bee5" # fromImage: builder/scratch -libs/musl-v1.2.5: "sha256:1e2039a6d3df31d3ce001be546029567acbc3af7aa930713f4687cffc02f5609" # fromImage: builder/scratch -libs/ncurses: "sha256:4c987e21e8ec0c4fd0122fdde1c75de5859c6425e349b3b1091344d32c919225" # fromImage: builder/scratch -libs/ncurses-v6_5_20250920: "sha256:4c987e21e8ec0c4fd0122fdde1c75de5859c6425e349b3b1091344d32c919225" # fromImage: builder/scratch -libs/nghttp2: "sha256:dc427dad1c5e1b418d2cab46bd4727be7ff0849017fee30042379665eb7dd504" # fromImage: builder/scratch -libs/nghttp2-v1.66.0: "sha256:dc427dad1c5e1b418d2cab46bd4727be7ff0849017fee30042379665eb7dd504" # fromImage: builder/scratch -libs/oniguruma: "sha256:4ba61a28867dbebc84319f9d67b5707001f2bbcde78b63acdfb0b5276c517d4c" # fromImage: builder/scratch -libs/oniguruma-v6.9.10: "sha256:4ba61a28867dbebc84319f9d67b5707001f2bbcde78b63acdfb0b5276c517d4c" # fromImage: builder/scratch -libs/pcre: "sha256:1179ceb64c3e6d9af79296c1f6f9f57f5c65917d41d0243ee5b8398e71baa712" # fromImage: builder/scratch -libs/pcre-8.45: "sha256:1179ceb64c3e6d9af79296c1f6f9f57f5c65917d41d0243ee5b8398e71baa712" # fromImage: builder/scratch -libs/pcre2: "sha256:c221630ff846d56b268ba95e8eba3c2d70c7825a7ea3e16c0e8313205bc5a836" # fromImage: builder/scratch -libs/pcre2-pcre2-10.45: "sha256:c221630ff846d56b268ba95e8eba3c2d70c7825a7ea3e16c0e8313205bc5a836" # fromImage: builder/scratch -libs/popt: "sha256:66b30f5a960897726a6a3fc5a159c838565e3a8ed1c2c510e8499f05e16f4ec3" # fromImage: builder/scratch -libs/popt-popt-1.19-release: "sha256:66b30f5a960897726a6a3fc5a159c838565e3a8ed1c2c510e8499f05e16f4ec3" # fromImage: builder/scratch -libs/protobuf: "sha256:687d9f7f8aeb4ae541336c9f22e247862375b390e08cd004ed87abf991923f7c" # fromImage: builder/scratch -libs/protobuf-v29.4: "sha256:687d9f7f8aeb4ae541336c9f22e247862375b390e08cd004ed87abf991923f7c" # fromImage: builder/scratch -libs/python-wheel: "sha256:88784e509bd4fc0628efdb8e2d0d66b59445dc7b0f33286f3b3188490d22ac0e" # fromImage: builder/scratch -libs/python-wheel-v0.1: "sha256:88784e509bd4fc0628efdb8e2d0d66b59445dc7b0f33286f3b3188490d22ac0e" # fromImage: builder/scratch -libs/re2: "sha256:16a6b0209a52e1e03fe1e29c71278f45c1caa3764a1424b339d1fb65c7bf0754" # fromImage: builder/scratch -libs/re2-2024-07-02: "sha256:16a6b0209a52e1e03fe1e29c71278f45c1caa3764a1424b339d1fb65c7bf0754" # fromImage: builder/scratch -libs/readline: "sha256:7de48f6d58acda37ec9518d32f2eecc177a09f14c90aaf30e7add7de9ddd9015" # fromImage: builder/scratch -libs/readline-readline-8.2: "sha256:7de48f6d58acda37ec9518d32f2eecc177a09f14c90aaf30e7add7de9ddd9015" # fromImage: builder/scratch -libs/skalibs: "sha256:2f733f99c73f584986da0d4f7a5b43512a6a54ba5222b8c65dca31a090a72932" # fromImage: builder/scratch -libs/skalibs-v2.14.3.0: "sha256:2f733f99c73f584986da0d4f7a5b43512a6a54ba5222b8c65dca31a090a72932" # fromImage: builder/scratch -libs/sqlite: "sha256:0fe24bdee37f259a6d086f1488bdcb181e58e6a8b8da87ddec1ade402108d6d3" # fromImage: builder/scratch -libs/sqlite-version-3.49.1: "sha256:0fe24bdee37f259a6d086f1488bdcb181e58e6a8b8da87ddec1ade402108d6d3" # fromImage: builder/scratch -libs/userspace-rcu: "sha256:291a34f41f8c175fd270fe4ffa111917217e027146ac37a734f15c7275946d04" # fromImage: builder/scratch -libs/userspace-rcu-v0.15.2: "sha256:291a34f41f8c175fd270fe4ffa111917217e027146ac37a734f15c7275946d04" # fromImage: builder/scratch -libs/utmps: "sha256:63c8970c8282e22bf936d7fcc8960def295cfc136b69bbd5776313988a70715b" # fromImage: builder/scratch -libs/utmps-v0.1.2.3: "sha256:63c8970c8282e22bf936d7fcc8960def295cfc136b69bbd5776313988a70715b" # fromImage: builder/scratch -libs/xz: "sha256:15ea440a408c8d55d3f65de32bb4b9b5072833cec3039d79a3cc5577ea6ff8de" # fromImage: builder/scratch -libs/xz-v5.8.1: "sha256:15ea440a408c8d55d3f65de32bb4b9b5072833cec3039d79a3cc5577ea6ff8de" # fromImage: builder/scratch -libs/yajl: "sha256:217691be047b67cd5e1a44220b1dae451d7bad424eae975b9cf013e07096f35c" # fromImage: builder/scratch -libs/yajl-2.1.0: "sha256:217691be047b67cd5e1a44220b1dae451d7bad424eae975b9cf013e07096f35c" # fromImage: builder/scratch -libs/zlib: "sha256:e05752a14a4a777ae2241943112bb4d02850d7eae20c0546f2ad113169277b78" # fromImage: builder/scratch -libs/zlib-v1.3.1: "sha256:e05752a14a4a777ae2241943112bb4d02850d7eae20c0546f2ad113169277b78" # fromImage: builder/scratch -libs/zstd: "sha256:1d8636883d88dfa5a53ed661834b1a8c60ecee216617a7538bbb7aeac4355762" # fromImage: builder/scratch -libs/zstd-v1.5.7: "sha256:1d8636883d88dfa5a53ed661834b1a8c60ecee216617a7538bbb7aeac4355762" # fromImage: builder/scratch -tools/bash: "sha256:ba80f8b285dc71ce7bab7fe2f55e3d3e3cd6a9fb120e6ff5f4f4f985397ba575" # fromImage: builder/scratch -tools/bash-completion: "sha256:632a7374bf29fa4ad19d80803e8a149c20030952e97bc22bb7db040752fb9df2" # fromImage: builder/scratch -tools/bash-completion-2.16.0: "sha256:632a7374bf29fa4ad19d80803e8a149c20030952e97bc22bb7db040752fb9df2" # fromImage: builder/scratch -tools/bash-v5.2.37: "sha256:ba80f8b285dc71ce7bab7fe2f55e3d3e3cd6a9fb120e6ff5f4f4f985397ba575" # fromImage: builder/scratch -tools/conntrack-tools: "sha256:8641b9643b02de809f03cdc508f22d5c6f275bc0eb85eb78e260d04924612f15" # fromImage: builder/scratch -tools/conntrack-tools-conntrack-tools-1.4.8: "sha256:8641b9643b02de809f03cdc508f22d5c6f275bc0eb85eb78e260d04924612f15" # fromImage: builder/scratch -tools/coreutils: "sha256:9b38bb9458ea788d43a74ce7a9d908280460743faa03dabc540275836872fa46" # fromImage: builder/scratch -tools/coreutils-v9.7: "sha256:9b38bb9458ea788d43a74ce7a9d908280460743faa03dabc540275836872fa46" # fromImage: builder/scratch -tools/cosign: "sha256:4b423d1f6ff8daeaf4616d3bb45b8bb032f15c2609e1094410330d9ec79ab855" # fromImage: builder/scratch -tools/cosign-v2.4.3: "sha256:4b423d1f6ff8daeaf4616d3bb45b8bb032f15c2609e1094410330d9ec79ab855" # fromImage: builder/scratch -tools/cryptsetup: "sha256:1fa1ee8217e119e4bb523e5c0f9791b7370c9309c4813438e038e8ae2d55fd78" # fromImage: builder/scratch -tools/cryptsetup-v2.7.5: "sha256:1fa1ee8217e119e4bb523e5c0f9791b7370c9309c4813438e038e8ae2d55fd78" # fromImage: builder/scratch -tools/curl: "sha256:139f987d7242278fb4e66c1c6d6c08baaedec0d6834522f82f741bcad3580be4" # fromImage: builder/scratch -tools/curl-curl-8_12_1: "sha256:139f987d7242278fb4e66c1c6d6c08baaedec0d6834522f82f741bcad3580be4" # fromImage: builder/scratch -tools/diffutils: "sha256:651fa40ab3cc12e79e5d67729b9825babf5480a0bf1fd3ee621e02a5c4e92b30" # fromImage: builder/scratch -tools/diffutils-v3.12: "sha256:651fa40ab3cc12e79e5d67729b9825babf5480a0bf1fd3ee621e02a5c4e92b30" # fromImage: builder/scratch -tools/dumb-init: "sha256:0e9bea110f3f10f1206a6dc12bf9625671a73c273a6221bc1fff74f9500a4c0e" # fromImage: builder/scratch -tools/dumb-init-v1.2.5: "sha256:0e9bea110f3f10f1206a6dc12bf9625671a73c273a6221bc1fff74f9500a4c0e" # fromImage: builder/scratch -tools/e2fsprogs: "sha256:d7ef86c4d5da1ee837657a9e2943245d6c806a774b5b0f2016d1aa728be61a87" # fromImage: builder/scratch -tools/e2fsprogs-v1.47.2: "sha256:d7ef86c4d5da1ee837657a9e2943245d6c806a774b5b0f2016d1aa728be61a87" # fromImage: builder/scratch -tools/elfutils: "sha256:ebc5c3ecf3a273c47414716d2d4f9e08158c103b30d06f3c07fa6476564a50dc" # fromImage: builder/scratch -tools/elfutils-elfutils-0.193: "sha256:ebc5c3ecf3a273c47414716d2d4f9e08158c103b30d06f3c07fa6476564a50dc" # fromImage: builder/scratch -tools/erofs-utils: "sha256:c3e0e2df2d7ff3c5e1f29e7bc9e46286ced50f13987f3e4ad2d730e1c5f6d1f9" # fromImage: builder/scratch -tools/erofs-utils-v1.8.10: "sha256:c3e0e2df2d7ff3c5e1f29e7bc9e46286ced50f13987f3e4ad2d730e1c5f6d1f9" # fromImage: builder/scratch -tools/ethtool: "sha256:7cd440a56caeaf24b63f3e9945d8964a1370ff2e66bc3e19e61a2fa570526573" # fromImage: builder/scratch -tools/ethtool-v6.15: "sha256:7cd440a56caeaf24b63f3e9945d8964a1370ff2e66bc3e19e61a2fa570526573" # fromImage: builder/scratch -tools/findutils: "sha256:dcc525b5c0af50a7e235f858d36e07d59570fa099e57b1e9caea24e2ff84ea95" # fromImage: builder/scratch -tools/findutils-v4.10.0: "sha256:dcc525b5c0af50a7e235f858d36e07d59570fa099e57b1e9caea24e2ff84ea95" # fromImage: builder/scratch -tools/gawk: "sha256:5dcb159e27b20bba3f540a574167771d6b46b83398e9c7243a5f4c0a9b2f22c3" # fromImage: builder/scratch -tools/gawk-v5.3.2: "sha256:5dcb159e27b20bba3f540a574167771d6b46b83398e9c7243a5f4c0a9b2f22c3" # fromImage: builder/scratch -tools/gcc: "sha256:e88d6934a86860371b9e0e71250b275028482f85671436666173b14db502985d" # fromImage: builder/scratch -tools/gcc-12.1.0: "sha256:e88d6934a86860371b9e0e71250b275028482f85671436666173b14db502985d" # fromImage: builder/scratch -tools/gcc-gnu: "sha256:0e8f44bd6914f8c982d41475b1ba8874f9878e8e987e934b2912bbaff73edd9d" # fromImage: builder/scratch -tools/gcc-gnu-releases/gcc-14.2.0: "sha256:0e8f44bd6914f8c982d41475b1ba8874f9878e8e987e934b2912bbaff73edd9d" # fromImage: builder/scratch -tools/git: "sha256:e261b7ddedad51155b3a9c2e83ea029e0db9bcce23343faab276171e1fa1e329" # fromImage: builder/scratch -tools/git-v2.50.1: "sha256:e261b7ddedad51155b3a9c2e83ea029e0db9bcce23343faab276171e1fa1e329" # fromImage: builder/scratch -tools/golang: "sha256:29f26e133f26e48cd85e2c5727c25919faaf1b996ccbad82aca81fb709f1196b" # fromImage: builder/scratch -tools/golang-1.24.9: "sha256:cad94728ed9f7244bbd36f9e8656090374125a33becea4c52db4b04a890c69d5" # fromImage: builder/scratch -tools/golang-1.25.3: "sha256:29f26e133f26e48cd85e2c5727c25919faaf1b996ccbad82aca81fb709f1196b" # fromImage: builder/scratch -tools/grep: "sha256:026c1bc0b268dfaab7ef942c258a69cd158bb561457efe121088ef672f0f1482" # fromImage: builder/scratch -tools/grep-grep-3.11: "sha256:026c1bc0b268dfaab7ef942c258a69cd158bb561457efe121088ef672f0f1482" # fromImage: builder/scratch -tools/iproute2: "sha256:b5a9f11235c6c2ebdce03d9526afe220d57251c06825c454c0e4fa8a8834eb30" # fromImage: builder/scratch -tools/iproute2-v6.12.0: "sha256:b5a9f11235c6c2ebdce03d9526afe220d57251c06825c454c0e4fa8a8834eb30" # fromImage: builder/scratch -tools/ipset: "sha256:0d64fe263a3ab323437c6ed563a2f4288e8e136f98c75d68dd0284341e944b92" # fromImage: builder/scratch -tools/ipset-v7.22: "sha256:0d64fe263a3ab323437c6ed563a2f4288e8e136f98c75d68dd0284341e944b92" # fromImage: builder/scratch -tools/iptables: "sha256:8a69dca5dd4dbfd2696b28d4202c87598a1c92a88300ebba2a07deec96a7a86e" # fromImage: builder/scratch -tools/iptables-v1.8.9: "sha256:8a69dca5dd4dbfd2696b28d4202c87598a1c92a88300ebba2a07deec96a7a86e" # fromImage: builder/scratch -tools/jq: "sha256:48801ebe80df7063dc54054d465abe1e7b3c44473c38ec6f29e148a01b96e3e8" # fromImage: builder/scratch -tools/jq-1.7.1: "sha256:48801ebe80df7063dc54054d465abe1e7b3c44473c38ec6f29e148a01b96e3e8" # fromImage: builder/scratch -tools/kmod: "sha256:8e94916849d9ef911e4bfe2ad732fdb222562317f519bede75a31447c3c7a882" # fromImage: builder/scratch -tools/kmod-v33: "sha256:8e94916849d9ef911e4bfe2ad732fdb222562317f519bede75a31447c3c7a882" # fromImage: builder/scratch -tools/less: "sha256:f7a5160c61d0cef6f45f1f7408d4ea746f1b6cb0b0be147515150993ec0cf8be" # fromImage: builder/scratch -tools/less-less-668: "sha256:f7a5160c61d0cef6f45f1f7408d4ea746f1b6cb0b0be147515150993ec0cf8be" # fromImage: builder/scratch -tools/libcap: "sha256:2862658859072ec0d6429e28da737d795349fa85ff1e7e62d578fe577ebb5897" # fromImage: builder/scratch -tools/libcap-v1.2.76: "sha256:2862658859072ec0d6429e28da737d795349fa85ff1e7e62d578fe577ebb5897" # fromImage: builder/scratch -tools/lua5-1: "sha256:a29b8d8bea674468a4003f30a63e1c1e32cfe096145ae5abaf48340f06f0202c" # fromImage: builder/scratch -tools/lua5-1-v5.1.5: "sha256:a29b8d8bea674468a4003f30a63e1c1e32cfe096145ae5abaf48340f06f0202c" # fromImage: builder/scratch -tools/luarocks5-1: "sha256:738fc4ad1792386136229abb7e6ef34d6175c669927ae9c49744295f4a6fac89" # fromImage: builder/scratch -tools/luarocks5-1-v3.12.2: "sha256:738fc4ad1792386136229abb7e6ef34d6175c669927ae9c49744295f4a6fac89" # fromImage: builder/scratch -tools/lvm2: "sha256:b917b000207763fef3f80809010d7ecdbe95d8392d194aa43050f1026e93da64" # fromImage: builder/scratch -tools/lvm2-v2_03_31: "sha256:b917b000207763fef3f80809010d7ecdbe95d8392d194aa43050f1026e93da64" # fromImage: builder/scratch -tools/memcached: "sha256:cc6cfe665fd44405a62f711a4c3df6ed425d0063a3491a0665d7b5d9f333b9f2" # fromImage: builder/scratch -tools/memcached-1.6.39: "sha256:cc6cfe665fd44405a62f711a4c3df6ed425d0063a3491a0665d7b5d9f333b9f2" # fromImage: builder/scratch -tools/nfs-utils: "sha256:9349079e079211c0f1fca348d68f956eccf2d67650f6949da45b04560ce21bae" # fromImage: builder/scratch -tools/nfs-utils-nfs-utils-2-8-2: "sha256:9349079e079211c0f1fca348d68f956eccf2d67650f6949da45b04560ce21bae" # fromImage: builder/scratch -tools/nginx: "sha256:bdd5a3781f4c27f116ae01193c316c5ca59d47de440bdf137ab5848a82d98f77" # fromImage: builder/scratch -tools/nginx-njs: "sha256:46ea2be7e0b5e9d88a6516abecacd2f1f80d3ba2a47729e4a5bbf2b51c83b8a6" # fromImage: builder/scratch -tools/nginx-njs-release-1.28.0: "sha256:46ea2be7e0b5e9d88a6516abecacd2f1f80d3ba2a47729e4a5bbf2b51c83b8a6" # fromImage: builder/scratch -tools/nginx-release-1.28.0: "sha256:bdd5a3781f4c27f116ae01193c316c5ca59d47de440bdf137ab5848a82d98f77" # fromImage: builder/scratch -tools/openssl: "sha256:896458be79e46e65908591d42695a913901ab62ec6a283be84e34532638c9835" # fromImage: builder/scratch -tools/openssl-3.6.0: "sha256:896458be79e46e65908591d42695a913901ab62ec6a283be84e34532638c9835" # fromImage: builder/scratch -tools/procps: "sha256:ed974c745caa6cb87df1b37955f83316b6a5d3e20c8c027c3dcae8bfb2b260a2" # fromImage: builder/scratch -tools/procps-v4.0.5: "sha256:ed974c745caa6cb87df1b37955f83316b6a5d3e20c8c027c3dcae8bfb2b260a2" # fromImage: builder/scratch -tools/pwru: "sha256:be838867c353696021a22d529932c886b2aef358134a1d5712b49dc1662915fe" # fromImage: builder/scratch -tools/pwru-v1.0.10: "sha256:be838867c353696021a22d529932c886b2aef358134a1d5712b49dc1662915fe" # fromImage: builder/scratch -tools/sed: "sha256:034af4bc8824a78eb576221a81393e0d2163eb641e120d0b65f1c4b84ecbdb6c" # fromImage: builder/scratch -tools/sed-v4.9: "sha256:034af4bc8824a78eb576221a81393e0d2163eb641e120d0b65f1c4b84ecbdb6c" # fromImage: builder/scratch -tools/semver: "sha256:c2a68ad5ee839aecc88a6ab9610f5dd9d1c3e8cdcd7d459e27c6d6303ceed620" # fromImage: builder/scratch -tools/semver-3.4.0: "sha256:c2a68ad5ee839aecc88a6ab9610f5dd9d1c3e8cdcd7d459e27c6d6303ceed620" # fromImage: builder/scratch -tools/shell-operator: "sha256:5f757ede35445372f17829ed99d51c8955ae0e8272e8724a7c7f1c64facf50dd" # fromImage: builder/scratch -tools/shell-operator-v1.9.3: "sha256:5f757ede35445372f17829ed99d51c8955ae0e8272e8724a7c7f1c64facf50dd" # fromImage: builder/scratch -tools/ssh: "sha256:0304dc786cc9feb89ff6d51f387388767d2272337c672e598163c6edc819b108" # fromImage: builder/scratch -tools/ssh-V_10_0_P2: "sha256:0304dc786cc9feb89ff6d51f387388767d2272337c672e598163c6edc819b108" # fromImage: builder/scratch -tools/tar: "sha256:b526c97902b6a929bdcf3ecbb7818138e4a4d1580a6af416ad44c9f78efe421f" # fromImage: builder/scratch -tools/tar-v1.35: "sha256:b526c97902b6a929bdcf3ecbb7818138e4a4d1580a6af416ad44c9f78efe421f" # fromImage: builder/scratch -tools/tini: "sha256:228b50ace690f09ed5a5efdecbcf8ffa0431e861e65147039fec8967ef13acae" # fromImage: builder/scratch -tools/tini-v0.19.0: "sha256:228b50ace690f09ed5a5efdecbcf8ffa0431e861e65147039fec8967ef13acae" # fromImage: builder/scratch -tools/util-linux: "sha256:b37362651b06e7875c06445e09d7cdc8abb473890ca28b15f342066391b1d55e" # fromImage: builder/scratch -tools/util-linux-v2.41: "sha256:b37362651b06e7875c06445e09d7cdc8abb473890ca28b15f342066391b1d55e" # fromImage: builder/scratch -tools/vim: "sha256:e60b06004aacaf9ff1e0e307818ef1c491ce4f954d7d9125fd83dbf53e586f65" # fromImage: builder/scratch -tools/vim-v9.1.1236: "sha256:e60b06004aacaf9ff1e0e307818ef1c491ce4f954d7d9125fd83dbf53e586f65" # fromImage: builder/scratch -tools/xfsprogs: "sha256:bb8b1e677b0be4a2bdf33c61d1e09803126ce32486ebda278ac66bd3d7e5a750" # fromImage: builder/scratch -tools/xfsprogs-v6.16.0: "sha256:bb8b1e677b0be4a2bdf33c61d1e09803126ce32486ebda278ac66bd3d7e5a750" # fromImage: builder/scratch -tools/yq: "sha256:8fe1b539bbebda51f079265a6c26339e917d87fe2b036c7ce804102546c90f66" # fromImage: builder/scratch -tools/yq-v4.45.1: "sha256:551458722e31cf275d8109a4cda9b9141f91d890edcb5a27c233f328db88dfbf" # fromImage: builder/scratch -tools/yq-v4.47.1: "sha256:8fe1b539bbebda51f079265a6c26339e917d87fe2b036c7ce804102546c90f66" # fromImage: builder/scratch +builder/src: "sha256:d088e5cb2f9396d9329c2513627295efeb14c58b4e053fba8c8325c66dbd165e" # from: builder/alt +libs/abseil-cpp-20240722.1: "sha256:3d1cc6fca7439c3e908b59d939ac748c7aef7fb3d29a66ca21b89e6e1814a97e" # from: builder/scratch +libs/abseil-cpp: "sha256:3d1cc6fca7439c3e908b59d939ac748c7aef7fb3d29a66ca21b89e6e1814a97e" # from: builder/scratch +libs/argp-standalone-1.5.0: "sha256:c41680b215eef77f9f83dce6740e8cf9c8122d4d75630c76c86137d31e4e62a7" # from: builder/scratch +libs/argp-standalone: "sha256:c41680b215eef77f9f83dce6740e8cf9c8122d4d75630c76c86137d31e4e62a7" # from: builder/scratch +libs/brotli: "sha256:650dba4cfc3de6fa16aa780f57d6195fb06582d0ee178bfa9eee60b8501866db" # from: builder/scratch +libs/brotli-v1.1.0: "sha256:650dba4cfc3de6fa16aa780f57d6195fb06582d0ee178bfa9eee60b8501866db" # from: builder/scratch +libs/bzip2-bzip2-1.0.8: "sha256:983531842a753b5e9b57bd44969b05c7a32a650eda5f6284eac937869be0b941" # from: builder/scratch +libs/bzip2: "sha256:983531842a753b5e9b57bd44969b05c7a32a650eda5f6284eac937869be0b941" # from: builder/scratch +libs/c-ares: "sha256:ac78b52b90759b0ff3a6b20bcb644de13a8a5ade6512ac7a4522652acc33e29b" # from: builder/scratch +libs/c-ares-v1.34.5: "sha256:ac78b52b90759b0ff3a6b20bcb644de13a8a5ade6512ac7a4522652acc33e29b" # from: builder/scratch +libs/gdbm: "sha256:e1ba7b5f6317d9df28b4f340ecf00eb6c09219a71067d0eaae6c5ba8322a21d7" # from: builder/scratch +libs/gdbm-v1.24: "sha256:e1ba7b5f6317d9df28b4f340ecf00eb6c09219a71067d0eaae6c5ba8322a21d7" # from: builder/scratch +libs/glibc: "sha256:e2c394cf03fae538990b2b486752a7be0d6bc2c3e54dc17b3d72aab1d5939398" # from: builder/scratch +libs/glibc-v2.41: "sha256:e2c394cf03fae538990b2b486752a7be0d6bc2c3e54dc17b3d72aab1d5939398" # from: builder/scratch +libs/gmp-6.3.0: "sha256:67270aa452d087ca8b2dc30258013cc888da7b1626fbc378cb7bd6601569753d" # from: builder/scratch +libs/gmp: "sha256:67270aa452d087ca8b2dc30258013cc888da7b1626fbc378cb7bd6601569753d" # from: builder/scratch +libs/grpc: "sha256:0e2e8220b0b1c122257ee375381ea9ccbe135ad2f32296446f2db23280d592a6" # from: builder/scratch +libs/grpc-v1.62.1: "sha256:0e2e8220b0b1c122257ee375381ea9ccbe135ad2f32296446f2db23280d592a6" # from: builder/scratch +libs/icu-release-77-1: "sha256:24a106f28960074a48d3c434a9c767209336ca782732737fd21391d2dd4ffb9f" # from: builder/scratch +libs/icu: "sha256:24a106f28960074a48d3c434a9c767209336ca782732737fd21391d2dd4ffb9f" # from: builder/scratch +libs/json-c-json-c-0.18-20240915: "sha256:d608a8137f1327e89e0a1aa413ac4fc6c1c19f12a002cf21b01228f67cf1a55d" # from: builder/scratch +libs/json-c: "sha256:d608a8137f1327e89e0a1aa413ac4fc6c1c19f12a002cf21b01228f67cf1a55d" # from: builder/scratch +libs/keyutils: "sha256:5919ccc24b8914a84ed3fc8b93fdf5ae6b7aaff3b8192ef5cfdacf44d8c1b164" # from: builder/scratch +libs/keyutils-v1.6.1: "sha256:5919ccc24b8914a84ed3fc8b93fdf5ae6b7aaff3b8192ef5cfdacf44d8c1b164" # from: builder/scratch +libs/krb5-krb5-1.21.3-final: "sha256:57b07b3b07f721afcda56f8d9926399407295502e60fc72236f865acdea44e0a" # from: builder/scratch +libs/krb5: "sha256:57b07b3b07f721afcda56f8d9926399407295502e60fc72236f865acdea44e0a" # from: builder/scratch +libs/libaio-libaio-0.3.113: "sha256:f68cdd78e57f9d894224e303a0653795e1d5cd2e88bfbe741e17f8c275e4a469" # from: builder/scratch +libs/libaio: "sha256:f68cdd78e57f9d894224e303a0653795e1d5cd2e88bfbe741e17f8c275e4a469" # from: builder/scratch +libs/libcap: "sha256:da1c5e1d7d478acd9035ee7436247a12baf2dfe50f396793355dd2bca2fdfcf1" # from: builder/scratch +libs/libcap-v1.2.69: "sha256:caa6511d0e7dbbf8ac0b9f2903c98db73a034607d988c6c0112c02462bcf8f5b" # from: builder/scratch +libs/libcap-v1.2.71: "sha256:da1c5e1d7d478acd9035ee7436247a12baf2dfe50f396793355dd2bca2fdfcf1" # from: builder/scratch +libs/libedit: "sha256:6b3dafaffc3511af08032c10a7d3840818471af34e1ea1ef69ebbb40e2b0fbfc" # from: builder/scratch +libs/libedit-v20250104.3.1: "sha256:6b3dafaffc3511af08032c10a7d3840818471af34e1ea1ef69ebbb40e2b0fbfc" # from: builder/scratch +libs/libevent-release-2.2.1-alpha: "sha256:1ddf79c8bb64fef4f53926a66b7ecec69f555e153753d6f048069ff2ba9df8d2" # from: builder/scratch +libs/libevent: "sha256:1ddf79c8bb64fef4f53926a66b7ecec69f555e153753d6f048069ff2ba9df8d2" # from: builder/scratch +libs/libev: "sha256:5cc42b45adad01f9f37f74931ea0475b6fecec7c01cbe51638dc902360d61d45" # from: builder/scratch +libs/libev-v4.33: "sha256:5cc42b45adad01f9f37f74931ea0475b6fecec7c01cbe51638dc902360d61d45" # from: builder/scratch +libs/libffi: "sha256:069fb0b540dc3fbf674ed8f9d608af6bb2c01d65a20e0e186181f51f6e5e7ef9" # from: builder/scratch +libs/libffi-v3.4.8: "sha256:069fb0b540dc3fbf674ed8f9d608af6bb2c01d65a20e0e186181f51f6e5e7ef9" # from: builder/scratch +libs/libgcrypt-libgcrypt-1.11.1: "sha256:2d14d039e378fdef03f05e44358fd2ae4ed6709a8512f238c3ca57a65982e82f" # from: builder/scratch +libs/libgcrypt: "sha256:2d14d039e378fdef03f05e44358fd2ae4ed6709a8512f238c3ca57a65982e82f" # from: builder/scratch +libs/libgpg-error-libgpg-error-1.55: "sha256:da606f9e53ee5f311397677a53cf3a99c584b3b198e785ebebbd6a1b305c5b13" # from: builder/scratch +libs/libgpg-error: "sha256:da606f9e53ee5f311397677a53cf3a99c584b3b198e785ebebbd6a1b305c5b13" # from: builder/scratch +libs/libidn2: "sha256:a311e1ba04936d0113a1f0d3161bfafbd517ee3feba94816c4444cef1dda0efd" # from: builder/scratch +libs/libidn2-v2.3.8: "sha256:a311e1ba04936d0113a1f0d3161bfafbd517ee3feba94816c4444cef1dda0efd" # from: builder/scratch +libs/libidn: "sha256:e3b3c5e71af5f67c94145687dec7d2f934bd57ebf971a275df757fc5bd1d52a0" # from: builder/scratch +libs/libidn-v1.43: "sha256:e3b3c5e71af5f67c94145687dec7d2f934bd57ebf971a275df757fc5bd1d52a0" # from: builder/scratch +libs/libinih-r60: "sha256:e4debe80fa02b2ba43b99a22833afb31fe6f9ed8c1adcd30f9ff718c3f6da69c" # from: builder/scratch +libs/libinih: "sha256:e4debe80fa02b2ba43b99a22833afb31fe6f9ed8c1adcd30f9ff718c3f6da69c" # from: builder/scratch +libs/libmaxminddb-1.12.2: "sha256:20063733ea91790a3aacc0af7439765acf19597c60f72a1d3294947d50a9a4b3" # from: builder/scratch +libs/libmaxminddb: "sha256:20063733ea91790a3aacc0af7439765acf19597c60f72a1d3294947d50a9a4b3" # from: builder/scratch +libs/libmnl-libmnl-1.0.5: "sha256:728f2d81baa17f3d8acd31f917c98bbf52d284885d735362a3f8eb3f231b0d37" # from: builder/scratch +libs/libmnl: "sha256:728f2d81baa17f3d8acd31f917c98bbf52d284885d735362a3f8eb3f231b0d37" # from: builder/scratch +libs/libnetfilter_conntrack-libnetfilter_conntrack-1.1.0: "sha256:d074a35c8d93ac77d96c117bf80c5f1e6916ce5f6c8706d76e4db6a37526e462" # from: builder/scratch +libs/libnetfilter_conntrack: "sha256:d074a35c8d93ac77d96c117bf80c5f1e6916ce5f6c8706d76e4db6a37526e462" # from: builder/scratch +libs/libnetfilter_cthelper-libnetfilter_cthelper-1.0.1: "sha256:13fa0f7c5e854463e4bed866a41a8542f6dd137652646a90f787522ffa9088db" # from: builder/scratch +libs/libnetfilter_cthelper: "sha256:13fa0f7c5e854463e4bed866a41a8542f6dd137652646a90f787522ffa9088db" # from: builder/scratch +libs/libnetfilter_cttimeout-libnetfilter_cttimeout-1.0.1: "sha256:f179be64669cdaec5b590369547c43938e217fde99a13ef55e521bb1f5281545" # from: builder/scratch +libs/libnetfilter_cttimeout: "sha256:f179be64669cdaec5b590369547c43938e217fde99a13ef55e521bb1f5281545" # from: builder/scratch +libs/libnetfilter_queue-libnetfilter_queue-1.0.5: "sha256:c42bec2029c5ce1d6a46e7135c40168e80e3fc286b0873599051e1c40151cbdd" # from: builder/scratch +libs/libnetfilter_queue: "sha256:c42bec2029c5ce1d6a46e7135c40168e80e3fc286b0873599051e1c40151cbdd" # from: builder/scratch +libs/libnfnetlink-libnfnetlink-1.0.2: "sha256:8d77c1c5b3465e90434b99d28d1d769f3837adabca3ad4b866a1143bc4269be2" # from: builder/scratch +libs/libnfnetlink: "sha256:8d77c1c5b3465e90434b99d28d1d769f3837adabca3ad4b866a1143bc4269be2" # from: builder/scratch +libs/libnftnl-libnftnl-1.2.9: "sha256:f41ff2a8451c5e2fe4e6756a7cab68c2ecd36dca70561b31e92aac3aadfa8765" # from: builder/scratch +libs/libnftnl: "sha256:f41ff2a8451c5e2fe4e6756a7cab68c2ecd36dca70561b31e92aac3aadfa8765" # from: builder/scratch +libs/libnl-libnl3_2_25: "sha256:d9f60f36520671fe5892ee501ebe85047127d604aaa6e201718ee97d341d0d6c" # from: builder/scratch +libs/libnl: "sha256:d9f60f36520671fe5892ee501ebe85047127d604aaa6e201718ee97d341d0d6c" # from: builder/scratch +libs/libnvme: "sha256:fef7cababf5393dd36e757c097efaf1d891ba1c2711ce6a1db68d2ec1dd98e34" # from: builder/scratch +libs/libnvme-v1.16.1: "sha256:fef7cababf5393dd36e757c097efaf1d891ba1c2711ce6a1db68d2ec1dd98e34" # from: builder/scratch +libs/libpq-REL_17_5: "sha256:3b1a045ef0f7a4c57c6eae97aa60ef61e39e415d53869e08ed61601ce6fb9ccb" # from: builder/scratch +libs/libpq: "sha256:3b1a045ef0f7a4c57c6eae97aa60ef61e39e415d53869e08ed61601ce6fb9ccb" # from: builder/scratch +libs/libpsl-0.21.5: "sha256:64989ee6b3dba6a4fc80872f7966dd58692ece48fe59840c00f8592756c6ab85" # from: builder/scratch +libs/libpsl: "sha256:64989ee6b3dba6a4fc80872f7966dd58692ece48fe59840c00f8592756c6ab85" # from: builder/scratch +libs/libtirpc-libtirpc-1-3-6: "sha256:bd69a0d5b3675963d5c30c0ae0ddc86a67408b55a257e68c87523d3f558c3294" # from: builder/scratch +libs/libtirpc: "sha256:bd69a0d5b3675963d5c30c0ae0ddc86a67408b55a257e68c87523d3f558c3294" # from: builder/scratch +libs/libunistring: "sha256:df4092bafe65721e11ea6348069b07517877956fcf662ed2da2876b85d6f4519" # from: builder/scratch +libs/libunistring-v1.3: "sha256:df4092bafe65721e11ea6348069b07517877956fcf662ed2da2876b85d6f4519" # from: builder/scratch +libs/libuv: "sha256:4e1514f4557fe1d2495f77d627b239c68dd627b5fa068a8487c8bf114ee802bc" # from: builder/scratch +libs/libuv-v1.51.0: "sha256:4e1514f4557fe1d2495f77d627b239c68dd627b5fa068a8487c8bf114ee802bc" # from: builder/scratch +libs/libxml2: "sha256:3cf697455fdc557a74bcc1161beb60005abfe352ba6f7bbbaca1ea77ca4c02ef" # from: builder/scratch +libs/libxml2-v2.13.8: "sha256:dd0ecc4c7412c2cd149a96e8768bbc364137cc156c1190d5a556a98485675842" # from: builder/scratch +libs/libxml2-v2.14.3: "sha256:3cf697455fdc557a74bcc1161beb60005abfe352ba6f7bbbaca1ea77ca4c02ef" # from: builder/scratch +libs/libxslt: "sha256:88f6f0db4479da7c7ba8cd6d01194103d4dc5d932686cc77af3cb0cc5dc31394" # from: builder/scratch +libs/libxslt-v1.1.43: "sha256:88f6f0db4479da7c7ba8cd6d01194103d4dc5d932686cc77af3cb0cc5dc31394" # from: builder/scratch +libs/libyaml-0.2.5: "sha256:b5dce4cc59a4fbe766c557f3ce83950949e1b8fce0ed89081330f6b11fd22b95" # from: builder/scratch +libs/libyaml: "sha256:b5dce4cc59a4fbe766c557f3ce83950949e1b8fce0ed89081330f6b11fd22b95" # from: builder/scratch +libs/lmdb-LMDB_0.9.31: "sha256:f7c97944adb68b36c2fefafb2e963685dc99ae8fab5ec46025ec8be93e1a0006" # from: builder/scratch +libs/lmdb: "sha256:f7c97944adb68b36c2fefafb2e963685dc99ae8fab5ec46025ec8be93e1a0006" # from: builder/scratch +libs/lua-iconv-7-3: "sha256:e9c317940c522698682883d0eb6d00051af23e7b3be5fde37826f8c9a2bd04ec" # from: builder/scratch +libs/lua-iconv: "sha256:e9c317940c522698682883d0eb6d00051af23e7b3be5fde37826f8c9a2bd04ec" # from: builder/scratch +libs/lua-protobuf-0.5.1: "sha256:577d9505dada8b93b7e0057cd9ae632a073c53552efd9d7b29fed46942b2c2f6" # from: builder/scratch +libs/lua-protobuf: "sha256:577d9505dada8b93b7e0057cd9ae632a073c53552efd9d7b29fed46942b2c2f6" # from: builder/scratch +libs/mpc1-1.3.1: "sha256:25c65672cfc4294ed24ba3bddedddf385cf823ab11f64fcf2f37f7e40f26c4af" # from: builder/scratch +libs/mpc1: "sha256:25c65672cfc4294ed24ba3bddedddf385cf823ab11f64fcf2f37f7e40f26c4af" # from: builder/scratch +libs/mpfr4-4.2.1: "sha256:d1315990eb173ba8ae7ed233217f233a5177a2738ec624a474af1112b0f15481" # from: builder/scratch +libs/mpfr4: "sha256:d1315990eb173ba8ae7ed233217f233a5177a2738ec624a474af1112b0f15481" # from: builder/scratch +libs/musl-fts: "sha256:a5ccf90ff61e4dcda6d4edde0f635fcb7fb4a5023642c628e1192a174d11b463" # from: builder/scratch +libs/musl-fts-v1.2.7: "sha256:a5ccf90ff61e4dcda6d4edde0f635fcb7fb4a5023642c628e1192a174d11b463" # from: builder/scratch +libs/musl-obstack: "sha256:3df5734d97af37d8736fb90b9d3f153c516f740d6037ae9d267308c9c03432aa" # from: builder/scratch +libs/musl-obstack-v1.2.3: "sha256:3df5734d97af37d8736fb90b9d3f153c516f740d6037ae9d267308c9c03432aa" # from: builder/scratch +libs/musl: "sha256:5189880a6b042dad621fc359aa982ec6383cbd85603a436ac2d5f761297c6547" # from: builder/scratch +libs/musl-v1.2.5: "sha256:5189880a6b042dad621fc359aa982ec6383cbd85603a436ac2d5f761297c6547" # from: builder/scratch +libs/ncurses: "sha256:bd497049441f9b6c253861745f7b97422f6cb2cbce3b9e6b97118795cfb8d155" # from: builder/scratch +libs/ncurses-v6_5_20250920: "sha256:bd497049441f9b6c253861745f7b97422f6cb2cbce3b9e6b97118795cfb8d155" # from: builder/scratch +libs/nghttp2: "sha256:b8ae536994e62383872c046b2eb9ea0290ffc83e6e82a94ed5cf00f5643fcb71" # from: builder/scratch +libs/nghttp2-v1.66.0: "sha256:b8ae536994e62383872c046b2eb9ea0290ffc83e6e82a94ed5cf00f5643fcb71" # from: builder/scratch +libs/oniguruma: "sha256:9214138348fa8d5ac0e0c7966cee4fe4fa10faf43c599355fe96164c9707bd0e" # from: builder/scratch +libs/oniguruma-v6.9.10: "sha256:9214138348fa8d5ac0e0c7966cee4fe4fa10faf43c599355fe96164c9707bd0e" # from: builder/scratch +libs/pcre2-pcre2-10.45: "sha256:0addb94f4e5eddd6c1055cc87df62cfa7c9a9b25563396ef5496d696a98d0042" # from: builder/scratch +libs/pcre2: "sha256:0addb94f4e5eddd6c1055cc87df62cfa7c9a9b25563396ef5496d696a98d0042" # from: builder/scratch +libs/pcre-8.45: "sha256:a01f8e541307bb7fe79996cb6c8c446d2a8a8a6ee4d2a16ffc27ca2480594f90" # from: builder/scratch +libs/pcre: "sha256:a01f8e541307bb7fe79996cb6c8c446d2a8a8a6ee4d2a16ffc27ca2480594f90" # from: builder/scratch +libs/popt-popt-1.19-release: "sha256:4e0d3aef2c77c19c16eb11468ed07e7aae82930b577de7e54d33de7f3a71f07c" # from: builder/scratch +libs/popt: "sha256:4e0d3aef2c77c19c16eb11468ed07e7aae82930b577de7e54d33de7f3a71f07c" # from: builder/scratch +libs/protobuf: "sha256:1de83fb404e6a90bb2d5df0b901ea1a132d5e1be595f4a2c36005f93c7f5167c" # from: builder/scratch +libs/protobuf-v29.4: "sha256:1de83fb404e6a90bb2d5df0b901ea1a132d5e1be595f4a2c36005f93c7f5167c" # from: builder/scratch +libs/python-wheel: "sha256:1077f07f81cc45899f8881bf549d866705b7ef83367adeba463e15a442408835" # from: builder/scratch +libs/python-wheel-v0.1: "sha256:1077f07f81cc45899f8881bf549d866705b7ef83367adeba463e15a442408835" # from: builder/scratch +libs/re2-2024-07-02: "sha256:a8a9ff86a23791cac4c09999f76ba9a12dfcf5bcdd50209462d0578ff57baa04" # from: builder/scratch +libs/re2: "sha256:a8a9ff86a23791cac4c09999f76ba9a12dfcf5bcdd50209462d0578ff57baa04" # from: builder/scratch +libs/readline-readline-8.2: "sha256:a2b91d5fd3f432b59c592f88cfbee57a33078b17b92226598605b3fc17829b0a" # from: builder/scratch +libs/readline: "sha256:a2b91d5fd3f432b59c592f88cfbee57a33078b17b92226598605b3fc17829b0a" # from: builder/scratch +libs/skalibs: "sha256:e7917ebaf497fc37814d88e62290113d9c87d2edbb0cfe02a73a47f5a357f1ba" # from: builder/scratch +libs/skalibs-v2.14.3.0: "sha256:e7917ebaf497fc37814d88e62290113d9c87d2edbb0cfe02a73a47f5a357f1ba" # from: builder/scratch +libs/sqlite: "sha256:21568b997b0122bafd102517f9658d140e2fd3394857def0cc2afa2710d5ff66" # from: builder/scratch +libs/sqlite-version-3.49.1: "sha256:21568b997b0122bafd102517f9658d140e2fd3394857def0cc2afa2710d5ff66" # from: builder/scratch +libs/userspace-rcu: "sha256:d91cbe4a9f8caf4f10b7c32190fd98a3381607c34990c9c381bce193f97d23c9" # from: builder/scratch +libs/userspace-rcu-v0.15.2: "sha256:d91cbe4a9f8caf4f10b7c32190fd98a3381607c34990c9c381bce193f97d23c9" # from: builder/scratch +libs/utmps: "sha256:2bf15b010dd0f17ea78ff61e979a335dd8ac84a83c00f2d87f241783df538d7f" # from: builder/scratch +libs/utmps-v0.1.2.3: "sha256:2bf15b010dd0f17ea78ff61e979a335dd8ac84a83c00f2d87f241783df538d7f" # from: builder/scratch +libs/xz: "sha256:04080c9b72b933a9479fd8237af524246285fd202d76561765863c5d6d78038e" # from: builder/scratch +libs/xz-v5.8.1: "sha256:04080c9b72b933a9479fd8237af524246285fd202d76561765863c5d6d78038e" # from: builder/scratch +libs/yajl-2.1.0: "sha256:b725c48142321e44bf247da7756835f44327459d22527a3b0bb5edc0270d6dc1" # from: builder/scratch +libs/yajl: "sha256:b725c48142321e44bf247da7756835f44327459d22527a3b0bb5edc0270d6dc1" # from: builder/scratch +libs/zlib: "sha256:e55cd2ecc1e07704fd9cba78d02d16fc09e205b24413818cb744ddfd8b2843c8" # from: builder/scratch +libs/zlib-v1.3.1: "sha256:e55cd2ecc1e07704fd9cba78d02d16fc09e205b24413818cb744ddfd8b2843c8" # from: builder/scratch +libs/zstd: "sha256:d405e1741b80972b658a837271a352fc55d7f509da07fb976344cf8f0448ed36" # from: builder/scratch +libs/zstd-v1.5.7: "sha256:d405e1741b80972b658a837271a352fc55d7f509da07fb976344cf8f0448ed36" # from: builder/scratch +tools/bash-completion-2.16.0: "sha256:a4d3d0e838565c23681280336a562a23d585d43238eee24ec8ecc3850b27c205" # from: builder/scratch +tools/bash-completion: "sha256:a4d3d0e838565c23681280336a562a23d585d43238eee24ec8ecc3850b27c205" # from: builder/scratch +tools/bash: "sha256:1cf8214fb1080f07288fe9bdf14b4c628f3b973adadd400428ef329968822327" # from: builder/scratch +tools/bash-v5.2.37: "sha256:1cf8214fb1080f07288fe9bdf14b4c628f3b973adadd400428ef329968822327" # from: builder/scratch +tools/conntrack-tools-conntrack-tools-1.4.8: "sha256:7ef0dc4eb0c3d918ecae8c64ea3526427f69de61aad4ba7dc4b3cdfb2c07c684" # from: builder/scratch +tools/conntrack-tools: "sha256:7ef0dc4eb0c3d918ecae8c64ea3526427f69de61aad4ba7dc4b3cdfb2c07c684" # from: builder/scratch +tools/coreutils: "sha256:3badf73ebc503ee11c31ccfc9cef042716515dc90592c25625cc302e3a5dd979" # from: builder/scratch +tools/coreutils-v9.7: "sha256:3badf73ebc503ee11c31ccfc9cef042716515dc90592c25625cc302e3a5dd979" # from: builder/scratch +tools/cosign: "sha256:11f24a43b67f691b865c9686df92ba308e9bb43a6b712d2f234d00597d6741b3" # from: builder/scratch +tools/cosign-v2.4.3: "sha256:11f24a43b67f691b865c9686df92ba308e9bb43a6b712d2f234d00597d6741b3" # from: builder/scratch +tools/cryptsetup: "sha256:2102b56137972b0e4360ebac129173556969008244b8e84d144ac2755c9f2c1e" # from: builder/scratch +tools/cryptsetup-v2.7.5: "sha256:2102b56137972b0e4360ebac129173556969008244b8e84d144ac2755c9f2c1e" # from: builder/scratch +tools/curl-curl-8_17_0: "sha256:fa816f204c994158c45a8bfad382539fb10155b98d22a9d4c1bd097fd12872f3" # from: builder/scratch +tools/curl: "sha256:fa816f204c994158c45a8bfad382539fb10155b98d22a9d4c1bd097fd12872f3" # from: builder/scratch +tools/diffutils: "sha256:602dcafa59499fce3e3ad5729fc0f25b75a262da0a23484fef43e158e81567f2" # from: builder/scratch +tools/diffutils-v3.12: "sha256:602dcafa59499fce3e3ad5729fc0f25b75a262da0a23484fef43e158e81567f2" # from: builder/scratch +tools/dumb-init: "sha256:d82ae1896c3e7b817b7cd01cd10fec36356864d48d8690879466b87803d9f752" # from: builder/scratch +tools/dumb-init-v1.2.5: "sha256:d82ae1896c3e7b817b7cd01cd10fec36356864d48d8690879466b87803d9f752" # from: builder/scratch +tools/e2fsprogs: "sha256:edffabd279c4c4d91e8eea9ece9fbeb549a1467c008669fba18745accc726a46" # from: builder/scratch +tools/e2fsprogs-v1.47.2: "sha256:edffabd279c4c4d91e8eea9ece9fbeb549a1467c008669fba18745accc726a46" # from: builder/scratch +tools/elfutils-elfutils-0.193: "sha256:5c4b805f8a491987d64a4841793e3171036e3788983b68d902c0dccdf4fea112" # from: builder/scratch +tools/elfutils: "sha256:5c4b805f8a491987d64a4841793e3171036e3788983b68d902c0dccdf4fea112" # from: builder/scratch +tools/erofs-utils: "sha256:31d6537d76b83d21008e4ce31b14bd944fbc755857906806b2060289e636d2a8" # from: builder/scratch +tools/erofs-utils-v1.8.10: "sha256:31d6537d76b83d21008e4ce31b14bd944fbc755857906806b2060289e636d2a8" # from: builder/scratch +tools/ethtool: "sha256:5b5b8835e36ea187906a96aeff3bbf1717386f2c9af09b09fd552a3cb108b209" # from: builder/scratch +tools/ethtool-v6.15: "sha256:5b5b8835e36ea187906a96aeff3bbf1717386f2c9af09b09fd552a3cb108b209" # from: builder/scratch +tools/findutils: "sha256:af9f282cd4fdca043d3edd48c689fe66f99f271c355438547dfc071b9e5e0647" # from: builder/scratch +tools/findutils-v4.10.0: "sha256:af9f282cd4fdca043d3edd48c689fe66f99f271c355438547dfc071b9e5e0647" # from: builder/scratch +tools/gawk: "sha256:0be55e8089d4a931864d6d58b28b44f5befb833bddb25a92b41565f17746aeee" # from: builder/scratch +tools/gawk-v5.3.2: "sha256:0be55e8089d4a931864d6d58b28b44f5befb833bddb25a92b41565f17746aeee" # from: builder/scratch +tools/gcc-12.1.0: "sha256:604fa107bc401d7962f28ebdd216fc10219b14cf53591dc9da1165639eeeb440" # from: builder/scratch +tools/gcc-gnu-releases/gcc-14.2.0: "sha256:9f1d52bd32fd4a6165f312dc69b872c8816f0a56706cee9e9c49e5d0513da8f0" # from: builder/scratch +tools/gcc-gnu: "sha256:9f1d52bd32fd4a6165f312dc69b872c8816f0a56706cee9e9c49e5d0513da8f0" # from: builder/scratch +tools/gcc: "sha256:604fa107bc401d7962f28ebdd216fc10219b14cf53591dc9da1165639eeeb440" # from: builder/scratch +tools/git: "sha256:7df853e6dcac73b8056bc5d745d03f496e5db92aae3a89a9ed6a99f7472e5e0e" # from: builder/scratch +tools/git-v2.50.1: "sha256:7df853e6dcac73b8056bc5d745d03f496e5db92aae3a89a9ed6a99f7472e5e0e" # from: builder/scratch +tools/golang-1.24.11: "sha256:44c9e6fa9d61ac469115a208e33cfd4c261f34379a5e3fa3263db6ab0eb4822f" # from: builder/scratch +tools/golang-1.25.5: "sha256:de141c2f8228c2729bc059ea3658c028676d87a590bc94ebaab8d56d594282ca" # from: builder/scratch +tools/golang: "sha256:de141c2f8228c2729bc059ea3658c028676d87a590bc94ebaab8d56d594282ca" # from: builder/scratch +tools/grep-grep-3.11: "sha256:e0cca66a6d1b5afb4967b57c4a10ef6c51e30a531c00bc43b5f2f6efd2b221a6" # from: builder/scratch +tools/grep: "sha256:e0cca66a6d1b5afb4967b57c4a10ef6c51e30a531c00bc43b5f2f6efd2b221a6" # from: builder/scratch +tools/iproute2: "sha256:908e3f8a966fef5903373734c1b41600f9373e4649bbfa7fa0762823c889de52" # from: builder/scratch +tools/iproute2-v6.12.0: "sha256:908e3f8a966fef5903373734c1b41600f9373e4649bbfa7fa0762823c889de52" # from: builder/scratch +tools/ipset: "sha256:745db7125cf70735fb4fa49c9fcaea0220c2de7c978f1780386285d45de3bd3e" # from: builder/scratch +tools/ipset-v7.22: "sha256:745db7125cf70735fb4fa49c9fcaea0220c2de7c978f1780386285d45de3bd3e" # from: builder/scratch +tools/iptables: "sha256:4b6ba2ab77be0c22554242b55ee1bb5cab5c0311ed348d1a43211eb03a7b48c1" # from: builder/scratch +tools/iptables-v1.8.9: "sha256:4b6ba2ab77be0c22554242b55ee1bb5cab5c0311ed348d1a43211eb03a7b48c1" # from: builder/scratch +tools/jq-1.7.1: "sha256:4c9ca5fca83b0d2b12ea68a21cf9f26e8130db8359dab465fbc7dc38497c725b" # from: builder/scratch +tools/jq: "sha256:4c9ca5fca83b0d2b12ea68a21cf9f26e8130db8359dab465fbc7dc38497c725b" # from: builder/scratch +tools/kmod: "sha256:9c57f890d43653b37a9a05fc77e646597a7de59683af31a5ff92305280915b92" # from: builder/scratch +tools/kmod-v33: "sha256:9c57f890d43653b37a9a05fc77e646597a7de59683af31a5ff92305280915b92" # from: builder/scratch +tools/less-less-668: "sha256:1cb5ea53a8bb02ae72f6d1513c846fe1e82131a24f09a993ee35bc9b979c3929" # from: builder/scratch +tools/less: "sha256:1cb5ea53a8bb02ae72f6d1513c846fe1e82131a24f09a993ee35bc9b979c3929" # from: builder/scratch +tools/libcap: "sha256:d5de3fa8c57f887e910c90d5e3c37f9e8122d66ecbebd900e587b37f089dab48" # from: builder/scratch +tools/libcap-v1.2.76: "sha256:d5de3fa8c57f887e910c90d5e3c37f9e8122d66ecbebd900e587b37f089dab48" # from: builder/scratch +tools/lsscsi: "sha256:9f7137c018830858b8d7ccdbe65348ad9984988570fb5fe9f90edf2418af5f82" # from: builder/scratch +tools/lsscsi-v0.28: "sha256:9f7137c018830858b8d7ccdbe65348ad9984988570fb5fe9f90edf2418af5f82" # from: builder/scratch +tools/lua5-1: "sha256:8696af40457575cf39878c3abb34ac763769ff92f92c7a5b50e75f6864299004" # from: builder/scratch +tools/lua5-1-v5.1.5: "sha256:8696af40457575cf39878c3abb34ac763769ff92f92c7a5b50e75f6864299004" # from: builder/scratch +tools/luarocks5-1: "sha256:6890f0ddad97b6e13b41ff4027386b79597380cb52d5553078854995b73df27e" # from: builder/scratch +tools/luarocks5-1-v3.12.2: "sha256:6890f0ddad97b6e13b41ff4027386b79597380cb52d5553078854995b73df27e" # from: builder/scratch +tools/lvm2: "sha256:34a271a8c09b6bf7651107505bc68b35cacca7eb9eee028603962937481c96df" # from: builder/scratch +tools/lvm2-v2_03_31: "sha256:34a271a8c09b6bf7651107505bc68b35cacca7eb9eee028603962937481c96df" # from: builder/scratch +tools/memcached-1.6.39: "sha256:432d354efcb3456f4769d58d301243bd055d516a40fabd2b5931969bc10992aa" # from: builder/scratch +tools/memcached: "sha256:432d354efcb3456f4769d58d301243bd055d516a40fabd2b5931969bc10992aa" # from: builder/scratch +tools/multipath-tools-0.13.0: "sha256:877b220cc98645e8d5995e923c6d78722d140b75d00098ddd70dfd111d56a139" # from: builder/scratch +tools/multipath-tools: "sha256:877b220cc98645e8d5995e923c6d78722d140b75d00098ddd70dfd111d56a139" # from: builder/scratch +tools/nfs-utils-nfs-utils-2-8-2: "sha256:226109621984d2e37a3e0380fc7798f61b6438fa2c142a44d304aa5559c2feb1" # from: builder/scratch +tools/nfs-utils: "sha256:226109621984d2e37a3e0380fc7798f61b6438fa2c142a44d304aa5559c2feb1" # from: builder/scratch +tools/nginx-njs-release-1.28.0: "sha256:4b6962ac3660f61edbe32dae5ae957bb30b78b170cd522973f55469c58ac501f" # from: builder/scratch +tools/nginx-njs: "sha256:4b6962ac3660f61edbe32dae5ae957bb30b78b170cd522973f55469c58ac501f" # from: builder/scratch +tools/nginx-release-1.28.0: "sha256:43bccba2f68b09a99d250c67bf12deca9405f7f0002613d17f74adfa59ab8955" # from: builder/scratch +tools/nginx: "sha256:43bccba2f68b09a99d250c67bf12deca9405f7f0002613d17f74adfa59ab8955" # from: builder/scratch +tools/nvme-cli: "sha256:10353c8dfa9724728fe40ea17689b24f48d84dc00bceec3bdca806c69cea7da1" # from: builder/scratch +tools/nvme-cli-v2.16: "sha256:10353c8dfa9724728fe40ea17689b24f48d84dc00bceec3bdca806c69cea7da1" # from: builder/scratch +tools/open-iscsi-2.1.11: "sha256:672e37303d5aece7f39ec33533dfbc61be4395e8cfa9fa22dddf61acef67017e" # from: builder/scratch +tools/open-iscsi: "sha256:672e37303d5aece7f39ec33533dfbc61be4395e8cfa9fa22dddf61acef67017e" # from: builder/scratch +tools/openssl-3.6.0: "sha256:a8dcdcbbd3117c007c214d245e4ea5cdb210947cc159e0534cf0a4c6af54942e" # from: builder/scratch +tools/openssl: "sha256:a8dcdcbbd3117c007c214d245e4ea5cdb210947cc159e0534cf0a4c6af54942e" # from: builder/scratch +tools/procps: "sha256:3e59946dd371be907b9005361f705c63a3e3c3cc653addba01fb56d067550bc4" # from: builder/scratch +tools/procps-v4.0.5: "sha256:3e59946dd371be907b9005361f705c63a3e3c3cc653addba01fb56d067550bc4" # from: builder/scratch +tools/pwru: "sha256:a8c8c022d4a48896086b8d783dd8cbec353a35933c7acf428b5109a2da0aa81d" # from: builder/scratch +tools/pwru-v1.0.10: "sha256:a8c8c022d4a48896086b8d783dd8cbec353a35933c7acf428b5109a2da0aa81d" # from: builder/scratch +tools/rpcbind-rpcbind-1_2_8: "sha256:5240331a191a8c1d1d7a7fc34cca1459925a79ab07e286039ee553f544074be6" # from: builder/scratch +tools/rpcbind: "sha256:5240331a191a8c1d1d7a7fc34cca1459925a79ab07e286039ee553f544074be6" # from: builder/scratch +tools/sed: "sha256:035a207f84d6d7403b2704d5f7f1dc4d3889f93758ff4bf624ff915d89baedc5" # from: builder/scratch +tools/sed-v4.9: "sha256:035a207f84d6d7403b2704d5f7f1dc4d3889f93758ff4bf624ff915d89baedc5" # from: builder/scratch +tools/semver-3.4.0: "sha256:74bade7ba6be9d32ac2b080e5fe412ebf2d9c0f58f21a2ab309dd19503662f0c" # from: builder/scratch +tools/semver: "sha256:74bade7ba6be9d32ac2b080e5fe412ebf2d9c0f58f21a2ab309dd19503662f0c" # from: builder/scratch +tools/shell-operator: "sha256:a36f5dae35ae300112de4542457be0c2585a081df5d8f9cadaeec8e90a5dc8a4" # from: builder/scratch +tools/shell-operator-v1.9.3: "sha256:a36f5dae35ae300112de4542457be0c2585a081df5d8f9cadaeec8e90a5dc8a4" # from: builder/scratch +tools/ssh: "sha256:f5e594f6ef281842e34c9da715899260ed0b1e94723afee3c745f870c1035c73" # from: builder/scratch +tools/ssh-V_10_0_P2: "sha256:f5e594f6ef281842e34c9da715899260ed0b1e94723afee3c745f870c1035c73" # from: builder/scratch +tools/tar: "sha256:32b781d4fc30b209535873c40352ad47b0e0273ddbfc85001f49d8949548348b" # from: builder/scratch +tools/tar-v1.35: "sha256:32b781d4fc30b209535873c40352ad47b0e0273ddbfc85001f49d8949548348b" # from: builder/scratch +tools/tini: "sha256:c347f274aa6926e16e65145e064875b5a54201fcfa67115b8ca495970c91f190" # from: builder/scratch +tools/tini-v0.19.0: "sha256:c347f274aa6926e16e65145e064875b5a54201fcfa67115b8ca495970c91f190" # from: builder/scratch +tools/util-linux: "sha256:a64fe880a258b0bde5b3ed383e277bbbdb9b628b4081cc67b30cbb94147323f8" # from: builder/scratch +tools/util-linux-v2.41: "sha256:a64fe880a258b0bde5b3ed383e277bbbdb9b628b4081cc67b30cbb94147323f8" # from: builder/scratch +tools/vim: "sha256:4b4cd7f41426f5e24cac1247875e8250f801613e33965c96d94dda7b09423222" # from: builder/scratch +tools/vim-v9.1.1236: "sha256:4b4cd7f41426f5e24cac1247875e8250f801613e33965c96d94dda7b09423222" # from: builder/scratch +tools/xfsprogs: "sha256:479c2185bd4cc6388392010f421b1cf1b1bb0557b038d5419e66afd5807a6bb7" # from: builder/scratch +tools/xfsprogs-v6.16.0: "sha256:479c2185bd4cc6388392010f421b1cf1b1bb0557b038d5419e66afd5807a6bb7" # from: builder/scratch +tools/yq: "sha256:2f94a24b2bb333cee4945ad843da670085166f9ab3ea3068e2e6c9f9b5bd8d6c" # from: builder/scratch +tools/yq-v4.45.1: "sha256:f1ad73b2a1f19a9254a76fa1e2013405de6a3d59c387e15bd9f00a1d23efe0ac" # from: builder/scratch +tools/yq-v4.47.1: "sha256:2f94a24b2bb333cee4945ad843da670085166f9ab3ea3068e2e6c9f9b5bd8d6c" # from: builder/scratch diff --git a/build/components/versions.yml b/build/components/versions.yml index d9816c703f..9c0b3a9380 100644 --- a/build/components/versions.yml +++ b/build/components/versions.yml @@ -4,7 +4,8 @@ firmware: edk2: stable202411 core: 3p-kubevirt: v1.3.1-v12n.12-cse.4 - 3p-containerized-data-importer: v1.60.3-v12n.10-cse.3 + 3p-containerized-data-importer: chore/cse/cse-mitigation-cve-20251226 + # 3p-containerized-data-importer: v1.60.3-v12n.10-cse.3 distribution: 2.8.3 package: acl: v2.3.1 diff --git a/images/cdi-artifact/werf.inc.yaml b/images/cdi-artifact/werf.inc.yaml index c5dd1f3c84..4f42b5fb98 100644 --- a/images/cdi-artifact/werf.inc.yaml +++ b/images/cdi-artifact/werf.inc.yaml @@ -1,7 +1,9 @@ --- {{- $gitRepoName := "3p-containerized-data-importer" }} {{- $gitRepoUrl := (printf "%s/%s" "deckhouse" $gitRepoName) }} -{{- $version := get $.Core $gitRepoName }} +{{/*{{- $version := get $.Core $gitRepoName }}*/}} +{{- $branch := "chore/cse/cse-mitigation-cve-20251226" }} +{{- $version := "1.60.3" }} {{- $name := print $.ImageName "-dependencies" -}} {{- define "$name" -}} @@ -29,17 +31,19 @@ secrets: - id: SOURCE_REPO value: {{ $.SOURCE_REPO }} shell: + installCacheVersion: "{{ now | date "Mon Jan 2 15:04:05 MST 2006" }}" install: - | echo "Git clone {{ $gitRepoName }} repository..." - git clone --depth=1 --branch {{ $version }} $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} /src/containerized-data-importer + git clone --depth=1 --branch {{ $branch }} $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} /src/containerized-data-importer + # git clone --depth=1 --branch {{ $version }} $(cat /run/secrets/SOURCE_REPO)/{{ $gitRepoUrl }} /src/containerized-data-importer rm -rf /src/containerized-data-importer/.git --- image: {{ .ModuleNamePrefix }}{{ .ImageName }} final: false -fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/alt" "builder/golang-alt-svace-1.24.9" }} +fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/golang-alt-1.24" "builder/golang-alt-svace-1.24" }} mount: - fromPath: ~/go-pkg-cache to: /go/pkg @@ -59,8 +63,9 @@ shell: {{- include "alt packages proxy" . | nindent 2 }} - | apt-get -qq install -y libxml2-devel \ - git binutils make gcc glibc-pthread glibc-devel glibc-devel-static golang + glibc-pthread glibc-devel glibc-devel-static {{- include "alt packages clean" . | nindent 2 }} + installCacheVersion: "{{ now | date "Mon Jan 2 15:04:05 MST 2006" }}" install: - | # Install packages diff --git a/images/dvcr-artifact/go.mod b/images/dvcr-artifact/go.mod index ce1b1dfb34..7062d1313c 100644 --- a/images/dvcr-artifact/go.mod +++ b/images/dvcr-artifact/go.mod @@ -17,7 +17,7 @@ require ( github.com/prometheus/client_golang v1.19.0 github.com/prometheus/client_model v0.6.0 github.com/spf13/cobra v1.8.1 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.18.0 k8s.io/klog/v2 v2.120.1 kubevirt.io/containerized-data-importer v0.0.0-00010101000000-000000000000 kubevirt.io/containerized-data-importer-api v1.60.3 @@ -106,13 +106,13 @@ require ( go.opentelemetry.io/otel v1.24.0 // indirect go.opentelemetry.io/otel/metric v1.24.0 // indirect go.opentelemetry.io/otel/trace v1.24.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.45.0 // indirect golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.5.0 // indirect google.golang.org/api v0.155.0 // indirect google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect @@ -187,7 +187,7 @@ replace ( // CVE Replaces replace ( - golang.org/x/crypto => golang.org/x/crypto v0.38.0 // CVE-2024-45337,CVE-2025-22869 + golang.org/x/crypto => golang.org/x/crypto v0.45.0 // CVE-2024-45337,CVE-2025-22869 golang.org/x/net => golang.org/x/net v0.40.0 // CVE-2025-22870, CVE-2025-22872 golang.org/x/oauth2 => golang.org/x/oauth2 v0.27.0 // CVE-2025-22868 ) diff --git a/images/dvcr-artifact/go.sum b/images/dvcr-artifact/go.sum index a7bb733a12..37285140b1 100644 --- a/images/dvcr-artifact/go.sum +++ b/images/dvcr-artifact/go.sum @@ -421,8 +421,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= @@ -445,6 +445,11 @@ golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= @@ -463,8 +468,12 @@ golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -501,12 +510,23 @@ golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/telemetry v0.0.0-20250710130107-8d8967aff50b/go.mod h1:4ZwOYna0/zsOKwuR5X/m0QFOJpSZvAxFfkQT+Erd9D4= +golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488/go.mod h1:fGb/2+tgXXjhjHsTNdVEEMZNWA0quBnfrO+AfoDSAKw= +golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053/go.mod h1:+nZKN+XVh4LCiA9DV3ywrzN4gumyCnKjau3NGb9SGoE= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -521,8 +541,9 @@ golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= @@ -552,8 +573,12 @@ golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= -golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/images/dvcr-artifact/werf.inc.yaml b/images/dvcr-artifact/werf.inc.yaml index 7bb25086bc..61f1e05565 100644 --- a/images/dvcr-artifact/werf.inc.yaml +++ b/images/dvcr-artifact/werf.inc.yaml @@ -2,8 +2,7 @@ {{- $nameDeps := print $.ImageName "-dependencies" -}} {{- define "$nameDeps" -}} altPackages: -- gcc glibc-pthread glibc-devel glibc-devel-static -- git golang make binutils +- glibc-pthread glibc-devel glibc-devel-static - libxml2-devel packages: - libnbd @@ -13,7 +12,7 @@ packages: image: {{ .ModuleNamePrefix }}{{ .ImageName }}-builder final: false -fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/alt" "builder/golang-alt-svace-1.24.9" }} +fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/golang-alt-1.24" "builder/golang-alt-svace-1.24" }} git: - add: {{ .ModuleDir }}/images/{{ .ImageName }} to: /src diff --git a/images/hooks/go.mod b/images/hooks/go.mod index 027e9646b4..1e39186d11 100644 --- a/images/hooks/go.mod +++ b/images/hooks/go.mod @@ -12,7 +12,7 @@ require ( github.com/onsi/ginkgo/v2 v2.22.0 github.com/onsi/gomega v1.36.1 github.com/tidwall/gjson v1.18.0 - golang.org/x/crypto v0.38.0 + golang.org/x/crypto v0.45.0 k8s.io/api v0.33.3 k8s.io/apimachinery v0.33.3 k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 @@ -86,14 +86,14 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.3 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.14.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/sync v0.18.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.38.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect @@ -132,7 +132,7 @@ replace ( // CVE Replaces replace ( - golang.org/x/crypto => golang.org/x/crypto v0.38.0 // CVE-2024-45337,CVE-2025-22869 + golang.org/x/crypto => golang.org/x/crypto v0.45.0 // CVE-2024-45337,CVE-2025-22869 golang.org/x/net => golang.org/x/net v0.40.0 // CVE-2025-22870, CVE-2025-22872 golang.org/x/oauth2 => golang.org/x/oauth2 v0.27.0 // CVE-2025-22868 ) diff --git a/images/hooks/go.sum b/images/hooks/go.sum index d39e4d9de0..10a1c8f422 100644 --- a/images/hooks/go.sum +++ b/images/hooks/go.sum @@ -381,8 +381,8 @@ go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= go.yaml.in/yaml/v3 v3.0.3 h1:bXOww4E/J3f66rav3pX3m8w6jDE4knZjGOw8b5Y6iNE= go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -407,6 +407,11 @@ golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= @@ -426,8 +431,12 @@ golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -474,12 +483,22 @@ golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/telemetry v0.0.0-20250710130107-8d8967aff50b/go.mod h1:4ZwOYna0/zsOKwuR5X/m0QFOJpSZvAxFfkQT+Erd9D4= +golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488/go.mod h1:fGb/2+tgXXjhjHsTNdVEEMZNWA0quBnfrO+AfoDSAKw= +golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053/go.mod h1:+nZKN+XVh4LCiA9DV3ywrzN4gumyCnKjau3NGb9SGoE= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -500,8 +519,9 @@ golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -535,8 +555,12 @@ golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/images/libvirt/werf.inc.yaml b/images/libvirt/werf.inc.yaml index f1f44b714e..a09778357f 100644 --- a/images/libvirt/werf.inc.yaml +++ b/images/libvirt/werf.inc.yaml @@ -153,6 +153,8 @@ shell: export PYTHON="/usr/bin/python3" cd /{{ $gitRepoName }}-{{ $version }} + # workaround, when werf importing folder from src image, some empty dirs are losing + mkdir -p .git/refs/heads .git/refs/tags .git/objects/info for p in /patches/*.patch ; do echo -n "Apply ${p} ... " diff --git a/images/packages/gnutls/werf.inc.yaml b/images/packages/gnutls/werf.inc.yaml index fcfaa0c8be..483c0d1af9 100644 --- a/images/packages/gnutls/werf.inc.yaml +++ b/images/packages/gnutls/werf.inc.yaml @@ -91,6 +91,8 @@ shell: OUTDIR=/out cd /src + # workaround, when werf importing folder from src image, some empty dirs are losing + mkdir -p .git/refs/heads .git/refs/tags .git/objects/info # Fake distcheck-hook that checks bootstrap is called without --skip-po mkdir -p po/.reference diff --git a/images/packages/libbsd/werf.inc.yaml b/images/packages/libbsd/werf.inc.yaml index 09a3196125..6ed80a15fb 100644 --- a/images/packages/libbsd/werf.inc.yaml +++ b/images/packages/libbsd/werf.inc.yaml @@ -2,8 +2,7 @@ {{- $name := print $.ImageName "-dependencies" -}} {{- define "$name" -}} packages: -- gcc -- git make libtool libmd-devel +- libmd-devel {{- end -}} {{- $builderDependencies := include "$name" . | fromYaml }} @@ -61,6 +60,8 @@ shell: OUTDIR=/out cd /src + # workaround, when werf importing folder from src image, some empty dirs are losing + mkdir -p .git/refs/heads .git/refs/tags .git/objects/info ./autogen ./configure \ --prefix=/usr \ diff --git a/images/virt-artifact/werf.inc.yaml b/images/virt-artifact/werf.inc.yaml index 447d2dfde5..8ddceacc01 100644 --- a/images/virt-artifact/werf.inc.yaml +++ b/images/virt-artifact/werf.inc.yaml @@ -26,8 +26,6 @@ shell: {{- $name := print .ImageName "-dependencies" -}} {{- define "$name" -}} altPackages: -- git -- curl - pkg-config - libtool - libncurses-devel @@ -36,11 +34,8 @@ altPackages: - libvirt-client - libvirt-daemon - libvirt -- gcc - gcc-c++ -- glibc-devel-static - glibc -- golang packages: - libmnl {{- end -}} @@ -49,7 +44,7 @@ packages: image: {{ .ModuleNamePrefix }}{{ .ImageName }} final: false -fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/alt" "builder/golang-alt-svace-1.24.9" }} +fromImage: {{ eq $.SVACE_ENABLED "false" | ternary "builder/golang-alt-1.24" "builder/golang-alt-svace-1.24" }} mount: - fromPath: ~/go-pkg-cache to: /go/pkg diff --git a/images/virt-launcher/vlctl/Taskfile.yaml b/images/virt-launcher/vlctl/Taskfile.yaml index f986504915..59d736e84c 100644 --- a/images/virt-launcher/vlctl/Taskfile.yaml +++ b/images/virt-launcher/vlctl/Taskfile.yaml @@ -13,3 +13,12 @@ tasks: cmds: - mkdir -p bin - go build -o bin/vlctl cmd/vlctl/main.go + + gen-proto: + desc: Generate Go code from proto files + cmds: + - mkdir -p pkg/api/generated + - mkdir -p pkg/api/generated/cmd + - mkdir -p pkg/api/generated/info + - protoc --go_out=pkg/api/generated/cmd --go_opt=paths=source_relative --go-grpc_out=pkg/api/generated/cmd --go-grpc_opt=paths=source_relative proto/cmd.proto + - protoc --go_out=pkg/api/generated/info --go_opt=paths=source_relative --go-grpc_out=pkg/api/generated/info --go-grpc_opt=paths=source_relative proto/info.proto diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/base.go b/images/virt-launcher/vlctl/cmd/vlctl/app/base.go index 37af422e2a..c5e0d433f6 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/base.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/base.go @@ -25,7 +25,8 @@ import ( "github.com/spf13/cobra" "github.com/spf13/pflag" "gopkg.in/yaml.v3" - cmdclient "kubevirt.io/kubevirt/pkg/virt-handler/cmd-client" + + "vlctl/pkg/client" ) const ( @@ -64,8 +65,8 @@ func (o *BaseOptions) Validate() error { return nil } -func (o *BaseOptions) Client() (cmdclient.LauncherClient, error) { - return cmdclient.NewClient(o.Socket) +func (o *BaseOptions) Client() (client.LauncherClient, error) { + return client.NewClient(o.Socket) } func (o *BaseOptions) MarshalOutput(v interface{}) ([]byte, error) { diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/domain.go b/images/virt-launcher/vlctl/cmd/vlctl/app/domain.go index 81fa853136..002ae4a155 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/domain.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/domain.go @@ -46,6 +46,7 @@ func runDomainCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() domain, exist, err := client.GetDomain() if err != nil { @@ -81,13 +82,13 @@ func runDomainStatsCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() - stats, exist, err := client.GetDomainStats() + stats, exists, err := client.GetDomainStats() if err != nil { return fmt.Errorf("failed to get domain stats: %w", err) } - - if !exist { + if !exists { return fmt.Errorf("domain stats does not exist") } diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/guest.go b/images/virt-launcher/vlctl/cmd/vlctl/app/guest.go index 0e88943bb6..b4f64be541 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/guest.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/guest.go @@ -60,6 +60,7 @@ func runGuestInfoCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() info, err := client.GetGuestInfo() if err != nil { @@ -120,6 +121,7 @@ func runGuestFilesystemsCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() filesystems, err := client.GetFilesystems() if err != nil { @@ -156,6 +158,7 @@ func runGuestPingCommand(opts BaseOptions, timeout int32) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() domain, exist, err := client.GetDomain() if err != nil { diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/ping.go b/images/virt-launcher/vlctl/cmd/vlctl/app/ping.go index c89c96f61b..737ae9cd62 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/ping.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/ping.go @@ -44,6 +44,7 @@ func runPingCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() err = client.Ping() if err != nil { diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/qemu.go b/images/virt-launcher/vlctl/cmd/vlctl/app/qemu.go index debdb97ae6..739f5bda12 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/qemu.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/qemu.go @@ -54,6 +54,7 @@ func runQemuVersionCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() version, err := client.GetQemuVersion() if err != nil { diff --git a/images/virt-launcher/vlctl/cmd/vlctl/app/sev.go b/images/virt-launcher/vlctl/cmd/vlctl/app/sev.go index 08ab148079..058394ecfe 100644 --- a/images/virt-launcher/vlctl/cmd/vlctl/app/sev.go +++ b/images/virt-launcher/vlctl/cmd/vlctl/app/sev.go @@ -44,6 +44,7 @@ func runSevCommand(opts BaseOptions) error { if err != nil { return fmt.Errorf("failed to create client: %w", err) } + defer client.Close() info, err := client.GetSEVInfo() if err != nil { diff --git a/images/virt-launcher/vlctl/go.mod b/images/virt-launcher/vlctl/go.mod index bedea8e1e3..4f534053d3 100644 --- a/images/virt-launcher/vlctl/go.mod +++ b/images/virt-launcher/vlctl/go.mod @@ -5,17 +5,17 @@ go 1.24.6 require ( github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.6 + google.golang.org/grpc v1.65.0 + google.golang.org/protobuf v1.36.1 gopkg.in/yaml.v3 v3.0.1 - kubevirt.io/kubevirt v1.6.2 + k8s.io/apimachinery v0.32.5 + kubevirt.io/api v0.0.0-20250930144221-aaa67e9803df ) require ( github.com/fxamacker/cbor/v2 v2.7.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logr/logr v1.4.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.4 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -24,21 +24,15 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/openshift/custom-resource-status v1.1.2 // indirect github.com/x448/float16 v0.8.4 // indirect - go.uber.org/mock v0.5.1 // indirect golang.org/x/net v0.38.0 // indirect golang.org/x/sys v0.33.0 // indirect golang.org/x/text v0.25.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect k8s.io/api v0.32.5 // indirect k8s.io/apiextensions-apiserver v0.32.5 // indirect - k8s.io/apimachinery v0.32.5 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect - kubevirt.io/api v0.0.0-20250930144221-aaa67e9803df // indirect - kubevirt.io/client-go v0.0.0-00010101000000-000000000000 // indirect kubevirt.io/containerized-data-importer-api v1.60.3-0.20241105012228-50fbed985de9 // indirect kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect @@ -79,7 +73,7 @@ replace ( k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.31.0 k8s.io/sample-controller => k8s.io/sample-controller v0.31.0 - kubevirt.io/client-go => kubevirt.io/client-go v1.6.2 + kubevirt.io/client-go => kubevirt.io/client-go v1.6.1 sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.6.2 ) diff --git a/images/virt-launcher/vlctl/go.sum b/images/virt-launcher/vlctl/go.sum index 29fd96516f..fec8cafa44 100644 --- a/images/virt-launcher/vlctl/go.sum +++ b/images/virt-launcher/vlctl/go.sum @@ -18,19 +18,13 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/emicklei/go-restful v2.15.0+incompatible h1:8KpYO/Xl/ZudZs5RNOEhWMBY4hmzlZhhRd9cu+jrZP4= github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= -github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -41,23 +35,15 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= -github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= -github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= -github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= @@ -74,9 +60,7 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -93,8 +77,6 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= -github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -103,7 +85,6 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= @@ -122,7 +103,6 @@ github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -136,7 +116,6 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLA github.com/nxadm/tail v0.0.0-20211216163028-4472660a31a6/go.mod h1:A+9rV4WFp4DKg1Ym1v6YtCrJ2vvlt1ZA/iml0CNuu2A= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= @@ -157,8 +136,6 @@ github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xl github.com/onsi/ginkgo/v2 v2.17.1/go.mod h1:llBI3WDLL9Z6taip6f33H76YcWtJv+7R3HigUjbIBOs= github.com/onsi/ginkgo/v2 v2.17.2/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM= -github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -180,8 +157,6 @@ github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3ev github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= github.com/openshift/custom-resource-status v1.1.2 h1:C3DL44LEbvlbItfd8mT5jWrqPfHnSOQoQf/sypqA6A4= github.com/openshift/custom-resource-status v1.1.2/go.mod h1:DB/Mf2oTeiAmVVX1gN+NEqweonAPY0TKUwADizj8+ZA= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= @@ -218,8 +193,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.uber.org/mock v0.5.1 h1:ASgazW/qBmR+A32MYFDB6E2POoTgOwT509VP0CT/fjs= -go.uber.org/mock v0.5.1/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= @@ -333,8 +306,6 @@ golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -393,7 +364,6 @@ k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f h1:0LQagt0gDpKqvIkAMPaRGcXawNMouPECM1+F9BVxEaM= k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f/go.mod h1:S9tOR0FxgyusSNR+MboCuiDpVWkAifZvaYI1Q2ubgro= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= @@ -401,14 +371,10 @@ k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6J k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kubevirt.io/api v0.0.0-20250930144221-aaa67e9803df h1:WLXWkHCVkKXUrKD3wuOrkfPUUEZpIY5xDIQoeknHabE= kubevirt.io/api v0.0.0-20250930144221-aaa67e9803df/go.mod h1:p66fEy/g79x7VpgUwrkUgOoG2lYs5LQq37WM6JXMwj4= -kubevirt.io/client-go v1.6.2 h1:JgwvllnzHFeOx9w95U+5uEEGZP0+YRlepZF/QTV39yk= -kubevirt.io/client-go v1.6.2/go.mod h1:6b+UYrs7tPplysezuZ8bP2EKtPd71xN7h+rry09zeV8= kubevirt.io/containerized-data-importer-api v1.60.3-0.20241105012228-50fbed985de9 h1:KTb8wO1Lxj220DX7d2Rdo9xovvlyWWNo3AVm2ua+1nY= kubevirt.io/containerized-data-importer-api v1.60.3-0.20241105012228-50fbed985de9/go.mod h1:SDJjLGhbPyayDqAqawcGmVNapBp0KodOQvhKPLVGCQU= kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 h1:QMrd0nKP0BGbnxTqakhDZAUhGKxPiPiN5gSDqKUmGGc= kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90/go.mod h1:018lASpFYBsYN6XwmA2TIrPCx6e0gviTd/ZNtSitKgc= -kubevirt.io/kubevirt v1.6.2 h1:+dWHfSAsjQl4HRdMMox0RS0wdvupyWQKkuAAP/jm2rk= -kubevirt.io/kubevirt v1.6.2/go.mod h1:Cz4iZeAC3ieVVmWsbeOY0RcebKLzJHslovRCwUwsIx0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= diff --git a/images/virt-launcher/vlctl/pkg/api/domain.go b/images/virt-launcher/vlctl/pkg/api/domain.go new file mode 100644 index 0000000000..a3e21017f9 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/domain.go @@ -0,0 +1,1142 @@ +/* +Copyright 2017,The KubeVirt Authors. +Copyright 2025 Flant JSC + +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. + +Initially copied from https://github.com/kubevirt/kubevirt/blob/v1.6.2/pkg/virt-launcher/virtwrap/api/schema.go +*/ + +package api + +import ( + "encoding/json" + "encoding/xml" + "strings" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + + v1 "kubevirt.io/api/core/v1" +) + +const ( + UserAliasPrefix = "ua-" +) + +type Domain struct { + Spec DomainSpec +} + +type DomainSysInfo struct { + Hostname string + OSInfo GuestOSInfo + Timezone Timezone +} + +type GuestOSInfo struct { + Name string + KernelRelease string + Version string + PrettyName string + VersionId string + KernelVersion string + Machine string + Id string +} + +type InterfaceStatus struct { + Mac string + Ip string + IPs []string + InterfaceName string +} + +type SEVNodeParameters struct { + PDH string + CertChain string +} + +type Timezone struct { + Zone string + Offset int +} + +type FSFreeze struct { + Status string +} + +type FSDisk struct { + Serial string + BusType string +} + +type Filesystem struct { + Name string + Mountpoint string + Type string + UsedBytes int + TotalBytes int + Disk []FSDisk +} + +type User struct { + Name string + Domain string + LoginTime float64 +} + +type DomainGuestInfo struct { + Interfaces []InterfaceStatus + OSInfo *GuestOSInfo + FSFreezeStatus *FSFreeze +} + +// DomainSpec represents the actual conversion to libvirt XML. The fields must be +// tagged, and they must correspond to the libvirt domain as described in +// https://libvirt.org/formatdomain.html. +type DomainSpec struct { + XMLName xml.Name `xml:"domain"` + Type string `xml:"type,attr"` + XmlNS string `xml:"xmlns:qemu,attr,omitempty"` + Name string `xml:"name"` + UUID string `xml:"uuid,omitempty"` + Memory Memory `xml:"memory"` + CurrentMemory *Memory `xml:"currentMemory,omitempty"` + MaxMemory *MaxMemory `xml:"maxMemory,omitempty"` + MemoryBacking *MemoryBacking `xml:"memoryBacking,omitempty"` + OS OS `xml:"os"` + SysInfo *SysInfo `xml:"sysinfo,omitempty"` + Devices Devices `xml:"devices"` + Clock *Clock `xml:"clock,omitempty"` + Resource *Resource `xml:"resource,omitempty"` + QEMUCmd *Commandline `xml:"qemu:commandline,omitempty"` + Metadata Metadata `xml:"metadata,omitempty"` + Features *Features `xml:"features,omitempty"` + CPU CPU `xml:"cpu"` + VCPU *VCPU `xml:"vcpu"` + VCPUs *VCPUs `xml:"vcpus"` + CPUTune *CPUTune `xml:"cputune"` + NUMATune *NUMATune `xml:"numatune"` + IOThreads *IOThreads `xml:"iothreads,omitempty"` + LaunchSecurity *LaunchSecurity `xml:"launchSecurity,omitempty"` +} + +type CPUTune struct { + VCPUPin []CPUTuneVCPUPin `xml:"vcpupin"` + IOThreadPin []CPUTuneIOThreadPin `xml:"iothreadpin,omitempty"` + EmulatorPin *CPUEmulatorPin `xml:"emulatorpin"` +} + +type NUMATune struct { + Memory NumaTuneMemory `xml:"memory"` + MemNodes []MemNode `xml:"memnode"` +} + +type MemNode struct { + CellID uint32 `xml:"cellid,attr"` + Mode string `xml:"mode,attr"` + NodeSet string `xml:"nodeset,attr"` +} + +type NumaTuneMemory struct { + Mode string `xml:"mode,attr"` + NodeSet string `xml:"nodeset,attr"` +} + +type CPUTuneVCPUPin struct { + VCPU uint32 `xml:"vcpu,attr"` + CPUSet string `xml:"cpuset,attr"` +} + +type CPUTuneIOThreadPin struct { + IOThread uint32 `xml:"iothread,attr"` + CPUSet string `xml:"cpuset,attr"` +} + +type CPUEmulatorPin struct { + CPUSet string `xml:"cpuset,attr"` +} + +type VCPU struct { + Placement string `xml:"placement,attr"` + CPUs uint32 `xml:",chardata"` +} + +type VCPUsVCPU struct { + ID uint32 `xml:"id,attr"` + Enabled string `xml:"enabled,attr,omitempty"` + Hotpluggable string `xml:"hotpluggable,attr,omitempty"` + Order uint32 `xml:"order,attr,omitempty"` +} + +type VCPUs struct { + VCPU []VCPUsVCPU `xml:"vcpu"` +} + +type CPU struct { + Mode string `xml:"mode,attr,omitempty"` + Model string `xml:"model,omitempty"` + Features []CPUFeature `xml:"feature"` + Topology *CPUTopology `xml:"topology"` + NUMA *NUMA `xml:"numa,omitempty"` +} + +type NUMA struct { + Cells []NUMACell `xml:"cell"` +} + +type NUMACell struct { + ID string `xml:"id,attr"` + CPUs string `xml:"cpus,attr"` + Memory uint64 `xml:"memory,attr,omitempty"` + Unit string `xml:"unit,attr,omitempty"` + MemoryAccess string `xml:"memAccess,attr,omitempty"` +} + +type CPUFeature struct { + Name string `xml:"name,attr"` + Policy string `xml:"policy,attr,omitempty"` +} + +type CPUTopology struct { + Sockets uint32 `xml:"sockets,attr,omitempty"` + Cores uint32 `xml:"cores,attr,omitempty"` + Threads uint32 `xml:"threads,attr,omitempty"` +} + +type Features struct { + ACPI *FeatureEnabled `xml:"acpi,omitempty"` + APIC *FeatureEnabled `xml:"apic,omitempty"` + Hyperv *FeatureHyperv `xml:"hyperv,omitempty"` + SMM *FeatureEnabled `xml:"smm,omitempty"` + KVM *FeatureKVM `xml:"kvm,omitempty"` + PVSpinlock *FeaturePVSpinlock `xml:"pvspinlock,omitempty"` + PMU *FeatureState `xml:"pmu,omitempty"` + VMPort *FeatureState `xml:"vmport,omitempty"` +} + +const HypervModePassthrough = "passthrough" + +type FeatureHyperv struct { + Mode string `xml:"mode,attr,omitempty"` + Relaxed *FeatureState `xml:"relaxed,omitempty"` + VAPIC *FeatureState `xml:"vapic,omitempty"` + Spinlocks *FeatureSpinlocks `xml:"spinlocks,omitempty"` + VPIndex *FeatureState `xml:"vpindex,omitempty"` + Runtime *FeatureState `xml:"runtime,omitempty"` + SyNIC *FeatureState `xml:"synic,omitempty"` + SyNICTimer *SyNICTimer `xml:"stimer,omitempty"` + Reset *FeatureState `xml:"reset,omitempty"` + VendorID *FeatureVendorID `xml:"vendor_id,omitempty"` + Frequencies *FeatureState `xml:"frequencies,omitempty"` + Reenlightenment *FeatureState `xml:"reenlightenment,omitempty"` + TLBFlush *FeatureState `xml:"tlbflush,omitempty"` + IPI *FeatureState `xml:"ipi,omitempty"` + EVMCS *FeatureState `xml:"evmcs,omitempty"` +} + +type FeatureSpinlocks struct { + State string `xml:"state,attr,omitempty"` + Retries *uint32 `xml:"retries,attr,omitempty"` +} + +type SyNICTimer struct { + Direct *FeatureState `xml:"direct,omitempty"` + State string `xml:"state,attr,omitempty"` +} + +type FeaturePVSpinlock struct { + State string `xml:"state,attr,omitempty"` +} + +type FeatureVendorID struct { + State string `xml:"state,attr,omitempty"` + Value string `xml:"value,attr,omitempty"` +} + +type FeatureEnabled struct { +} + +type Shareable struct{} + +type Slice struct { + Slice SliceType `xml:"slice,omitempty"` +} + +type SliceType struct { + Type string `xml:"type,attr"` + Offset int64 `xml:"offset,attr"` + Size int64 `xml:"size,attr"` +} + +type FeatureState struct { + State string `xml:"state,attr,omitempty"` +} + +type FeatureKVM struct { + Hidden *FeatureState `xml:"hidden,omitempty"` + HintDedicated *FeatureState `xml:"hint-dedicated,omitempty"` +} + +type Metadata struct { + // KubeVirt contains kubevirt related metadata + // Note: Libvirt only accept one element at metadata root with a specific namespace + KubeVirt KubeVirtMetadata `xml:"http://kubevirt.io kubevirt"` +} + +type KubeVirtMetadata struct { + UID types.UID `xml:"uid"` + GracePeriod *GracePeriodMetadata `xml:"graceperiod,omitempty"` + Migration *MigrationMetadata `xml:"migration,omitempty"` + AccessCredential *AccessCredentialMetadata `xml:"accessCredential,omitempty"` + MemoryDump *MemoryDumpMetadata `xml:"memoryDump,omitempty"` +} + +type AccessCredentialMetadata struct { + Succeeded bool `xml:"succeeded,omitempty"` + Message string `xml:"message,omitempty"` +} + +type MemoryDumpMetadata struct { + FileName string `xml:"fileName,omitempty"` + StartTimestamp *metav1.Time `xml:"startTimestamp,omitempty"` + EndTimestamp *metav1.Time `xml:"endTimestamp,omitempty"` + Completed bool `xml:"completed,omitempty"` + Failed bool `xml:"failed,omitempty"` + FailureReason string `xml:"failureReason,omitempty"` +} + +type MigrationMetadata struct { + UID types.UID `xml:"uid,omitempty"` + StartTimestamp *metav1.Time `xml:"startTimestamp,omitempty"` + EndTimestamp *metav1.Time `xml:"endTimestamp,omitempty"` + Failed bool `xml:"failed,omitempty"` + FailureReason string `xml:"failureReason,omitempty"` + AbortStatus string `xml:"abortStatus,omitempty"` + Mode v1.MigrationMode `xml:"mode,omitempty"` +} + +type GracePeriodMetadata struct { + DeletionGracePeriodSeconds int64 `xml:"deletionGracePeriodSeconds"` + DeletionTimestamp *metav1.Time `xml:"deletionTimestamp,omitempty"` + MarkedForGracefulShutdown *bool `xml:"markedForGracefulShutdown,omitempty"` +} + +type Commandline struct { + QEMUEnv []Env `xml:"qemu:env,omitempty"` + QEMUArg []Arg `xml:"qemu:arg,omitempty"` +} + +type Env struct { + Name string `xml:"name,attr"` + Value string `xml:"value,attr"` +} + +type Arg struct { + Value string `xml:"value,attr"` +} + +type Resource struct { + Partition string `xml:"partition"` +} + +type Memory struct { + Value uint64 `xml:",chardata"` + Unit string `xml:"unit,attr"` +} + +type MaxMemory struct { + Value uint64 `xml:",chardata"` + Unit string `xml:"unit,attr"` + Slots uint64 `xml:"slots,attr"` +} + +// MemoryBacking mirroring libvirt XML under https://libvirt.org/formatdomain.html#elementsMemoryBacking +type MemoryBacking struct { + HugePages *HugePages `xml:"hugepages,omitempty"` + Source *MemoryBackingSource `xml:"source,omitempty"` + Access *MemoryBackingAccess `xml:"access,omitempty"` + Allocation *MemoryAllocation `xml:"allocation,omitempty"` + NoSharePages *NoSharePages `xml:"nosharepages,omitempty"` +} + +type MemoryAllocationMode string + +const ( + MemoryAllocationModeImmediate MemoryAllocationMode = "immediate" +) + +type MemoryAllocation struct { + Mode MemoryAllocationMode `xml:"mode,attr"` +} + +type MemoryBackingSource struct { + Type string `xml:"type,attr"` +} + +// HugePages mirroring libvirt XML under memoryBacking +type HugePages struct { + HugePage []HugePage `xml:"page,omitempty"` +} + +// HugePage mirroring libvirt XML under hugepages +type HugePage struct { + Size string `xml:"size,attr"` + Unit string `xml:"unit,attr"` + NodeSet string `xml:"nodeset,attr"` +} + +type MemoryBackingAccess struct { + Mode string `xml:"mode,attr"` +} + +type NoSharePages struct { +} + +type MemoryAddress struct { + Base string `xml:"base,attr"` +} + +type MemoryTarget struct { + Size Memory `xml:"size"` + Requested Memory `xml:"requested"` + Current Memory `xml:"current"` + Node string `xml:"node"` + Block Memory `xml:"block"` + Address *MemoryAddress `xml:"address,omitempty"` +} + +type MemoryDevice struct { + XMLName xml.Name `xml:"memory"` + Model string `xml:"model,attr"` + Target *MemoryTarget `xml:"target"` + Alias *Alias `xml:"alias,omitempty"` + Address *Address `xml:"address,omitempty"` +} + +type Devices struct { + Emulator string `xml:"emulator,omitempty"` + Interfaces []Interface `xml:"interface"` + Channels []Channel `xml:"channel"` + HostDevices []HostDevice `xml:"hostdev,omitempty"` + PanicDevices []PanicDevice `xml:"panic,omitempty"` + Controllers []Controller `xml:"controller,omitempty"` + Video []Video `xml:"video"` + Graphics []Graphics `xml:"graphics"` + Ballooning *MemBalloon `xml:"memballoon,omitempty"` + Disks []Disk `xml:"disk"` + Inputs []Input `xml:"input"` + Serials []Serial `xml:"serial"` + Consoles []Console `xml:"console"` + Watchdogs []Watchdog `xml:"watchdog,omitempty"` + Rng *Rng `xml:"rng,omitempty"` + Filesystems []FilesystemDevice `xml:"filesystem,omitempty"` + Redirs []RedirectedDevice `xml:"redirdev,omitempty"` + SoundCards []SoundCard `xml:"sound,omitempty"` + TPMs []TPM `xml:"tpm,omitempty"` + VSOCK *VSOCK `xml:"vsock,omitempty"` + Memory *MemoryDevice `xml:"memory,omitempty"` +} + +type PanicDevice struct { + Model *v1.PanicDeviceModel `xml:"model,attr,omitempty"` +} + +type TPM struct { + Model string `xml:"model,attr"` + Backend TPMBackend `xml:"backend"` +} + +type TPMBackend struct { + Type string `xml:"type,attr"` + Version string `xml:"version,attr"` + PersistentState string `xml:"persistent_state,attr,omitempty"` +} + +// RedirectedDevice describes a device to be redirected +// See: https://libvirt.org/formatdomain.html#redirected-devices +type RedirectedDevice struct { + Type string `xml:"type,attr"` + Bus string `xml:"bus,attr"` + Source RedirectedDeviceSource `xml:"source"` +} + +type RedirectedDeviceSource struct { + Mode string `xml:"mode,attr"` + Path string `xml:"path,attr"` +} + +type FilesystemDevice struct { + Type string `xml:"type,attr"` + AccessMode string `xml:"accessMode,attr"` + Source *FilesystemSource `xml:"source,omitempty"` + Target *FilesystemTarget `xml:"target,omitempty"` + Driver *FilesystemDriver `xml:"driver,omitempty"` + Binary *FilesystemBinary `xml:"binary,omitempty"` +} + +type FilesystemTarget struct { + Dir string `xml:"dir,attr,omitempty"` +} + +type FilesystemSource struct { + Dir string `xml:"dir,attr"` + Socket string `xml:"socket,attr,omitempty"` +} + +type FilesystemDriver struct { + Type string `xml:"type,attr"` + Queue string `xml:"queue,attr,omitempty"` +} + +type FilesystemBinary struct { + Path string `xml:"path,attr,omitempty"` + Xattr string `xml:"xattr,attr,omitempty"` + Cache *FilesystemBinaryCache `xml:"cache,omitempty"` + Lock *FilesystemBinaryLock `xml:"lock,omitempty"` +} + +type FilesystemBinaryCache struct { + Mode string `xml:"mode,attr,omitempty"` +} + +type FilesystemBinaryLock struct { + Posix string `xml:"posix,attr,omitempty"` + Flock string `xml:"flock,attr,omitempty"` +} + +// Input represents input device, e.g. tablet +type Input struct { + Type v1.InputType `xml:"type,attr"` + Bus v1.InputBus `xml:"bus,attr"` + Alias *Alias `xml:"alias,omitempty"` + Address *Address `xml:"address,omitempty"` + Model string `xml:"model,attr,omitempty"` +} + +// BEGIN HostDevice ----------------------------- +type HostDevice struct { + XMLName xml.Name `xml:"hostdev"` + Source HostDeviceSource `xml:"source"` + Type string `xml:"type,attr"` + BootOrder *BootOrder `xml:"boot,omitempty"` + Managed string `xml:"managed,attr,omitempty"` + Mode string `xml:"mode,attr,omitempty"` + Model string `xml:"model,attr,omitempty"` + Address *Address `xml:"address,omitempty"` + Alias *Alias `xml:"alias,omitempty"` + Display string `xml:"display,attr,omitempty"` + RamFB string `xml:"ramfb,attr,omitempty"` +} + +type HostDeviceSource struct { + Address *Address `xml:"address,omitempty"` +} + +// END HostDevice ----------------------------- + +// BEGIN Controller ----------------------------- + +// Controller represens libvirt controller element https://libvirt.org/formatdomain.html#elementsControllers +type Controller struct { + Type string `xml:"type,attr"` + Index string `xml:"index,attr"` + Model string `xml:"model,attr,omitempty"` + Driver *ControllerDriver `xml:"driver,omitempty"` + Alias *Alias `xml:"alias,omitempty"` + Address *Address `xml:"address,omitempty"` + PCIHole64 *PCIHole64 `xml:"pcihole64,omitempty"` +} + +// END Controller ----------------------------- + +// BEGIN ControllerDriver +type ControllerDriver struct { + IOThread *uint `xml:"iothread,attr,omitempty"` + Queues *uint `xml:"queues,attr,omitempty"` + IOMMU string `xml:"iommu,attr,omitempty"` +} + +// END ControllerDriver + +// BEGIN PCIHole64 +type PCIHole64 struct { + Value uint `xml:",chardata"` + Unit string `xml:"unit,attr,omitempty"` +} + +// END PCIHole64 + +// BEGIN Disk ----------------------------- + +type Disk struct { + Device string `xml:"device,attr"` + Snapshot string `xml:"snapshot,attr,omitempty"` + Type string `xml:"type,attr"` + Source DiskSource `xml:"source"` + Target DiskTarget `xml:"target"` + Serial string `xml:"serial,omitempty"` + Driver *DiskDriver `xml:"driver,omitempty"` + ReadOnly *ReadOnly `xml:"readonly,omitempty"` + Auth *DiskAuth `xml:"auth,omitempty"` + Alias *Alias `xml:"alias,omitempty"` + BackingStore *BackingStore `xml:"backingStore,omitempty"` + BootOrder *BootOrder `xml:"boot,omitempty"` + Address *Address `xml:"address,omitempty"` + Model string `xml:"model,attr,omitempty"` + BlockIO *BlockIO `xml:"blockio,omitempty"` + FilesystemOverhead *v1.Percent `xml:"filesystemOverhead,omitempty"` + Capacity *int64 `xml:"capacity,omitempty"` + ExpandDisksEnabled bool `xml:"expandDisksEnabled,omitempty"` + Shareable *Shareable `xml:"shareable,omitempty"` +} + +type DiskAuth struct { + Username string `xml:"username,attr"` + Secret *DiskSecret `xml:"secret,omitempty"` +} + +type DiskSecret struct { + Type string `xml:"type,attr"` + Usage string `xml:"usage,attr,omitempty"` + UUID string `xml:"uuid,attr,omitempty"` +} + +type ReadOnly struct{} + +type DiskSource struct { + Dev string `xml:"dev,attr,omitempty"` + File string `xml:"file,attr,omitempty"` + StartupPolicy string `xml:"startupPolicy,attr,omitempty"` + Protocol string `xml:"protocol,attr,omitempty"` + Name string `xml:"name,attr,omitempty"` + Host *DiskSourceHost `xml:"host,omitempty"` + Reservations *Reservations `xml:"reservations,omitempty"` + Slices []Slice `xml:"slices,omitempty"` +} + +type DiskTarget struct { + Bus v1.DiskBus `xml:"bus,attr,omitempty"` + Device string `xml:"dev,attr,omitempty"` + Tray string `xml:"tray,attr,omitempty"` +} + +type DiskDriver struct { + Cache string `xml:"cache,attr,omitempty"` + ErrorPolicy v1.DiskErrorPolicy `xml:"error_policy,attr,omitempty"` + IO v1.DriverIO `xml:"io,attr,omitempty"` + Name string `xml:"name,attr"` + Type string `xml:"type,attr"` + IOThread *uint `xml:"iothread,attr,omitempty"` + IOThreads *DiskIOThreads `xml:"iothreads"` + Queues *uint `xml:"queues,attr,omitempty"` + Discard string `xml:"discard,attr,omitempty"` + IOMMU string `xml:"iommu,attr,omitempty"` +} + +type DiskIOThreads struct { + IOThread []DiskIOThread `xml:"iothread"` +} + +type DiskIOThread struct { + Id uint32 `xml:"id,attr"` +} + +type DiskSourceHost struct { + Name string `xml:"name,attr"` + Port string `xml:"port,attr,omitempty"` +} + +type BackingStore struct { + Type string `xml:"type,attr,omitempty"` + Format *BackingStoreFormat `xml:"format,omitempty"` + Source *DiskSource `xml:"source,omitempty"` +} + +type BackingStoreFormat struct { + Type string `xml:"type,attr"` +} + +type BlockIO struct { + LogicalBlockSize uint `xml:"logical_block_size,attr,omitempty"` + PhysicalBlockSize uint `xml:"physical_block_size,attr,omitempty"` +} + +type Reservations struct { + Managed string `xml:"managed,attr,omitempty"` + SourceReservations *SourceReservations `xml:"source,omitempty"` +} + +type SourceReservations struct { + Type string `xml:"type,attr"` + Path string `xml:"path,attr,omitempty"` + Mode string `xml:"mode,attr,omitempty"` +} + +// END Disk ----------------------------- + +// BEGIN Serial ----------------------------- + +type Serial struct { + Type string `xml:"type,attr"` + Target *SerialTarget `xml:"target,omitempty"` + Source *SerialSource `xml:"source,omitempty"` + Alias *Alias `xml:"alias,omitempty"` + Log *SerialLog `xml:"log,omitempty"` +} + +type SerialTarget struct { + Port *uint `xml:"port,attr,omitempty"` +} + +type SerialSource struct { + Mode string `xml:"mode,attr,omitempty"` + Path string `xml:"path,attr,omitempty"` +} + +type SerialLog struct { + File string `xml:"file,attr,omitempty"` + Append string `xml:"append,attr,omitempty"` +} + +// END Serial ----------------------------- + +// BEGIN Console ----------------------------- + +type Console struct { + Type string `xml:"type,attr"` + Target *ConsoleTarget `xml:"target,omitempty"` + Source *ConsoleSource `xml:"source,omitempty"` + Alias *Alias `xml:"alias,omitempty"` +} + +type ConsoleTarget struct { + Type *string `xml:"type,attr,omitempty"` + Port *uint `xml:"port,attr,omitempty"` +} + +type ConsoleSource struct { + Mode string `xml:"mode,attr,omitempty"` + Path string `xml:"path,attr,omitempty"` +} + +// END Serial ----------------------------- + +// BEGIN Inteface ----------------------------- + +type Interface struct { + XMLName xml.Name `xml:"interface"` + Address *Address `xml:"address,omitempty"` + Type string `xml:"type,attr"` + TrustGuestRxFilters string `xml:"trustGuestRxFilters,attr,omitempty"` + Source InterfaceSource `xml:"source"` + Target *InterfaceTarget `xml:"target,omitempty"` + Model *Model `xml:"model,omitempty"` + MAC *MAC `xml:"mac,omitempty"` + MTU *MTU `xml:"mtu,omitempty"` + BandWidth *BandWidth `xml:"bandwidth,omitempty"` + BootOrder *BootOrder `xml:"boot,omitempty"` + LinkState *LinkState `xml:"link,omitempty"` + FilterRef *FilterRef `xml:"filterref,omitempty"` + Alias *Alias `xml:"alias,omitempty"` + Driver *InterfaceDriver `xml:"driver,omitempty"` + Rom *Rom `xml:"rom,omitempty"` + ACPI *ACPI `xml:"acpi,omitempty"` + Backend *InterfaceBackend `xml:"backend,omitempty"` + PortForward []InterfacePortForward `xml:"portForward,omitempty"` +} + +type InterfacePortForward struct { + Proto string `xml:"proto,attr"` + Address string `xml:"address,attr,omitempty"` + Dev string `xml:"dev,attr,omitempty"` + Ranges []InterfacePortForwardRange `xml:"range,omitempty"` +} + +type InterfacePortForwardRange struct { + Start uint `xml:"start,attr"` + End uint `xml:"end,attr,omitempty"` + To uint `xml:"to,attr,omitempty"` + Exclude string `xml:"exclude,attr,omitempty"` +} + +type InterfaceBackend struct { + Type string `xml:"type,attr,omitempty"` + LogFile string `xml:"logFile,attr,omitempty"` +} + +type ACPI struct { + Index uint `xml:"index,attr"` +} + +type InterfaceDriver struct { + Name string `xml:"name,attr"` + Queues *uint `xml:"queues,attr,omitempty"` + IOMMU string `xml:"iommu,attr,omitempty"` +} + +type LinkState struct { + State string `xml:"state,attr"` +} + +type BandWidth struct { +} + +type BootOrder struct { + Order uint `xml:"order,attr"` +} + +type MAC struct { + MAC string `xml:"address,attr"` +} + +type MTU struct { + Size string `xml:"size,attr"` +} + +type FilterRef struct { + Filter string `xml:"filter,attr"` +} + +type InterfaceSource struct { + Network string `xml:"network,attr,omitempty"` + Device string `xml:"dev,attr,omitempty"` + Bridge string `xml:"bridge,attr,omitempty"` + Mode string `xml:"mode,attr,omitempty"` + Address *Address `xml:"address,omitempty"` +} + +type Model struct { + Type string `xml:"type,attr"` +} + +type InterfaceTarget struct { + Device string `xml:"dev,attr"` + Managed string `xml:"managed,attr,omitempty"` +} + +type Alias struct { + name string + userDefined bool +} + +// Package private, responsible to interact with xml and json marshal/unmarshal +type userAliasMarshal struct { + Name string `xml:"name,attr"` + UserDefined bool `xml:"-"` +} + +type Rom struct { + Enabled string `xml:"enabled,attr"` +} + +func (alias *Alias) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { + var userAlias userAliasMarshal + err := d.DecodeElement(&userAlias, &start) + if err != nil { + return err + } + *alias = Alias{name: userAlias.Name} + if strings.HasPrefix(alias.name, UserAliasPrefix) { + alias.userDefined = true + alias.name = alias.name[len(UserAliasPrefix):] + } + return nil +} + +func (alias Alias) MarshalJSON() ([]byte, error) { + userAlias := userAliasMarshal{Name: alias.name, UserDefined: alias.userDefined} + return json.Marshal(&userAlias) +} + +func (alias *Alias) UnmarshalJSON(data []byte) error { + var userAlias userAliasMarshal + if err := json.Unmarshal(data, &userAlias); err != nil { + return err + } + *alias = Alias{name: userAlias.Name, userDefined: userAlias.UserDefined} + return nil +} + +// END Inteface ----------------------------- +//BEGIN OS -------------------- + +type OS struct { + Type OSType `xml:"type"` + ACPI *OSACPI `xml:"acpi,omitempty"` + SMBios *SMBios `xml:"smbios,omitempty"` + BootOrder []Boot `xml:"boot"` + BootMenu *BootMenu `xml:"bootmenu,omitempty"` + BIOS *BIOS `xml:"bios,omitempty"` + BootLoader *Loader `xml:"loader,omitempty"` + NVRam *NVRam `xml:"nvram,omitempty"` + Kernel string `xml:"kernel,omitempty"` + Initrd string `xml:"initrd,omitempty"` + KernelArgs string `xml:"cmdline,omitempty"` +} + +type OSType struct { + OS string `xml:",chardata"` + Arch string `xml:"arch,attr,omitempty"` + Machine string `xml:"machine,attr,omitempty"` +} + +type OSACPI struct { + Table []ACPITable `xml:"table,omitempty"` +} + +type ACPITable struct { + Path string `xml:",chardata"` + Type string `xml:"type,attr,omitempty"` +} + +type SMBios struct { + Mode string `xml:"mode,attr"` +} + +type NVRam struct { + Template string `xml:"template,attr,omitempty"` + NVRam string `xml:",chardata"` +} + +type Boot struct { + Dev string `xml:"dev,attr"` +} + +type BootMenu struct { + Enable string `xml:"enable,attr"` + Timeout *uint `xml:"timeout,attr,omitempty"` +} + +type Loader struct { + ReadOnly string `xml:"readonly,attr,omitempty"` + Secure string `xml:"secure,attr,omitempty"` + Type string `xml:"type,attr,omitempty"` + Path string `xml:",chardata"` +} + +// TODO +type BIOS struct { + UseSerial string `xml:"useserial,attr,omitempty"` +} + +type SysInfo struct { + Type string `xml:"type,attr"` + System []Entry `xml:"system>entry"` + BIOS []Entry `xml:"bios>entry"` + BaseBoard []Entry `xml:"baseBoard>entry"` + Chassis []Entry `xml:"chassis>entry"` +} + +type Entry struct { + Name string `xml:"name,attr"` + Value string `xml:",chardata"` +} + +//END OS -------------------- +//BEGIN LaunchSecurity -------------------- + +type LaunchSecurity struct { + Type string `xml:"type,attr"` + Cbitpos string `xml:"cbitpos,omitempty"` + ReducedPhysBits string `xml:"reducedPhysBits,omitempty"` + Policy string `xml:"policy,omitempty"` + DHCert string `xml:"dhCert,omitempty"` + Session string `xml:"session,omitempty"` +} + +//END LaunchSecurity -------------------- +//BEGIN Clock -------------------- + +type Clock struct { + Offset string `xml:"offset,attr,omitempty"` + Timezone string `xml:"timezone,attr,omitempty"` + Adjustment string `xml:"adjustment,attr,omitempty"` + Timer []Timer `xml:"timer,omitempty"` +} + +type Timer struct { + Name string `xml:"name,attr"` + TickPolicy string `xml:"tickpolicy,attr,omitempty"` + Present string `xml:"present,attr,omitempty"` + Track string `xml:"track,attr,omitempty"` + Frequency string `xml:"frequency,attr,omitempty"` +} + +//END Clock -------------------- + +//BEGIN Channel -------------------- + +type Channel struct { + Type string `xml:"type,attr"` + Source *ChannelSource `xml:"source,omitempty"` + Target *ChannelTarget `xml:"target,omitempty"` +} + +type ChannelTarget struct { + Name string `xml:"name,attr,omitempty"` + Type string `xml:"type,attr"` + Address string `xml:"address,attr,omitempty"` + Port uint `xml:"port,attr,omitempty"` + State string `xml:"state,attr,omitempty"` +} + +type ChannelSource struct { + Mode string `xml:"mode,attr"` + Path string `xml:"path,attr"` +} + +//END Channel -------------------- + +//BEGIN Sound ------------------- + +type SoundCard struct { + Alias *Alias `xml:"alias,omitempty"` + Model string `xml:"model,attr"` +} + +//END Sound ------------------- + +//BEGIN Video ------------------- + +type Video struct { + Model VideoModel `xml:"model"` +} + +type VideoModel struct { + Type string `xml:"type,attr"` + Heads *uint `xml:"heads,attr,omitempty"` + Ram *uint `xml:"ram,attr,omitempty"` + VRam *uint `xml:"vram,attr,omitempty"` + VGAMem *uint `xml:"vgamem,attr,omitempty"` +} + +type Graphics struct { + AutoPort string `xml:"autoport,attr,omitempty"` + DefaultMode string `xml:"defaultMode,attr,omitempty"` + Listen *GraphicsListen `xml:"listen,omitempty"` + PasswdValidTo string `xml:"passwdValidTo,attr,omitempty"` + Port int32 `xml:"port,attr,omitempty"` + TLSPort int `xml:"tlsPort,attr,omitempty"` + Type string `xml:"type,attr"` +} + +type GraphicsListen struct { + Type string `xml:"type,attr"` + Address string `xml:"address,attr,omitempty"` + Network string `xml:"newtork,attr,omitempty"` + Socket string `xml:"socket,attr,omitempty"` +} + +type Address struct { + Type string `xml:"type,attr"` + Domain string `xml:"domain,attr,omitempty"` + Bus string `xml:"bus,attr"` + Slot string `xml:"slot,attr,omitempty"` + Function string `xml:"function,attr,omitempty"` + Controller string `xml:"controller,attr,omitempty"` + Target string `xml:"target,attr,omitempty"` + Unit string `xml:"unit,attr,omitempty"` + UUID string `xml:"uuid,attr,omitempty"` + Device string `xml:"device,attr,omitempty"` + CSSID string `xml:"cssid,attr,omitempty"` + SSID string `xml:"ssid,attr,omitempty"` + DevNo string `xml:"devno,attr,omitempty"` +} + +//END Video ------------------- + +//BEGIN VSOCK ------------------- + +type VSOCK struct { + Model string `xml:"model,attr,omitempty"` + CID CID `xml:"cid"` +} + +type CID struct { + Auto string `xml:"auto,attr"` + Address uint32 `xml:"address,attr,omitempty"` +} + +//END VSOCK ------------------- + +type Stats struct { + Period uint `xml:"period,attr"` +} + +type MemBalloon struct { + Model string `xml:"model,attr"` + Stats *Stats `xml:"stats,omitempty"` + Address *Address `xml:"address,omitempty"` + Driver *MemBalloonDriver `xml:"driver,omitempty"` + FreePageReporting string `xml:"freePageReporting,attr,omitempty"` +} + +type MemBalloonDriver struct { + IOMMU string `xml:"iommu,attr,omitempty"` +} + +type Watchdog struct { + Model string `xml:"model,attr"` + Action string `xml:"action,attr"` + Alias *Alias `xml:"alias,omitempty"` + Address *Address `xml:"address,omitempty"` +} + +// Rng represents the source of entropy from host to VM +type Rng struct { + // Model attribute specifies what type of RNG device is provided + Model string `xml:"model,attr"` + // Backend specifies the source of entropy to be used + Backend *RngBackend `xml:"backend,omitempty"` + Address *Address `xml:"address,omitempty"` + Driver *RngDriver `xml:"driver,omitempty"` +} + +type RngDriver struct { + IOMMU string `xml:"iommu,attr,omitempty"` +} + +// RngRate sets the limiting factor how to read from entropy source +type RngRate struct { + // Period define how long is the read period + Period uint32 `xml:"period,attr"` + // Bytes define how many bytes can guest read from entropy source + Bytes uint32 `xml:"bytes,attr"` +} + +// RngBackend is the backend device used +type RngBackend struct { + // Model is source model + Model string `xml:"model,attr"` + // specifies the source of entropy to be used + Source string `xml:",chardata"` +} + +type IOThreads struct { + IOThreads uint `xml:",chardata"` +} + +type SecretUsage struct { + Type string `xml:"type,attr"` + Target string `xml:"target,omitempty"` +} + +type SecretSpec struct { + XMLName xml.Name `xml:"secret"` + Ephemeral string `xml:"ephemeral,attr"` + Private string `xml:"private,attr"` + Description string `xml:"description,omitempty"` + Usage SecretUsage `xml:"usage,omitempty"` +} diff --git a/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd.pb.go b/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd.pb.go new file mode 100644 index 0000000000..b16a1afa64 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd.pb.go @@ -0,0 +1,2251 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc v3.19.6 +// source: proto/cmd.proto + +package cmd + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MigrationProxyAction int32 + +const ( + MigrationProxyAction_START MigrationProxyAction = 0 + MigrationProxyAction_STOP MigrationProxyAction = 1 +) + +// Enum value maps for MigrationProxyAction. +var ( + MigrationProxyAction_name = map[int32]string{ + 0: "START", + 1: "STOP", + } + MigrationProxyAction_value = map[string]int32{ + "START": 0, + "STOP": 1, + } +) + +func (x MigrationProxyAction) Enum() *MigrationProxyAction { + p := new(MigrationProxyAction) + *p = x + return p +} + +func (x MigrationProxyAction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MigrationProxyAction) Descriptor() protoreflect.EnumDescriptor { + return file_proto_cmd_proto_enumTypes[0].Descriptor() +} + +func (MigrationProxyAction) Type() protoreflect.EnumType { + return &file_proto_cmd_proto_enumTypes[0] +} + +func (x MigrationProxyAction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MigrationProxyAction.Descriptor instead. +func (MigrationProxyAction) EnumDescriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{0} +} + +type QemuVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QemuVersionResponse) Reset() { + *x = QemuVersionResponse{} + mi := &file_proto_cmd_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QemuVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QemuVersionResponse) ProtoMessage() {} + +func (x *QemuVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QemuVersionResponse.ProtoReflect.Descriptor instead. +func (*QemuVersionResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{0} +} + +func (x *QemuVersionResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *QemuVersionResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type VMI struct { + state protoimpl.MessageState `protogen:"open.v1"` + VmiJson []byte `protobuf:"bytes,1,opt,name=vmiJson,proto3" json:"vmiJson,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VMI) Reset() { + *x = VMI{} + mi := &file_proto_cmd_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VMI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VMI) ProtoMessage() {} + +func (x *VMI) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VMI.ProtoReflect.Descriptor instead. +func (*VMI) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{1} +} + +func (x *VMI) GetVmiJson() []byte { + if x != nil { + return x.VmiJson + } + return nil +} + +type CPU struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Siblings []uint32 `protobuf:"varint,2,rep,packed,name=siblings,proto3" json:"siblings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CPU) Reset() { + *x = CPU{} + mi := &file_proto_cmd_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CPU) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CPU) ProtoMessage() {} + +func (x *CPU) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CPU.ProtoReflect.Descriptor instead. +func (*CPU) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{2} +} + +func (x *CPU) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CPU) GetSiblings() []uint32 { + if x != nil { + return x.Siblings + } + return nil +} + +type Sibling struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Sibling) Reset() { + *x = Sibling{} + mi := &file_proto_cmd_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Sibling) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sibling) ProtoMessage() {} + +func (x *Sibling) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sibling.ProtoReflect.Descriptor instead. +func (*Sibling) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{3} +} + +func (x *Sibling) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Sibling) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} + +type Pages struct { + state protoimpl.MessageState `protogen:"open.v1"` + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"` + Size uint32 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Pages) Reset() { + *x = Pages{} + mi := &file_proto_cmd_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Pages) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Pages) ProtoMessage() {} + +func (x *Pages) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Pages.ProtoReflect.Descriptor instead. +func (*Pages) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{4} +} + +func (x *Pages) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *Pages) GetUnit() string { + if x != nil { + return x.Unit + } + return "" +} + +func (x *Pages) GetSize() uint32 { + if x != nil { + return x.Size + } + return 0 +} + +type Memory struct { + state protoimpl.MessageState `protogen:"open.v1"` + Amount uint64 `protobuf:"varint,1,opt,name=amount,proto3" json:"amount,omitempty"` + Unit string `protobuf:"bytes,2,opt,name=unit,proto3" json:"unit,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Memory) Reset() { + *x = Memory{} + mi := &file_proto_cmd_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Memory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Memory) ProtoMessage() {} + +func (x *Memory) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Memory.ProtoReflect.Descriptor instead. +func (*Memory) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{5} +} + +func (x *Memory) GetAmount() uint64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *Memory) GetUnit() string { + if x != nil { + return x.Unit + } + return "" +} + +type Cell struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Memory *Memory `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"` + Pages []*Pages `protobuf:"bytes,3,rep,name=pages,proto3" json:"pages,omitempty"` + Distances []*Sibling `protobuf:"bytes,4,rep,name=distances,proto3" json:"distances,omitempty"` + Cpus []*CPU `protobuf:"bytes,5,rep,name=cpus,proto3" json:"cpus,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Cell) Reset() { + *x = Cell{} + mi := &file_proto_cmd_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Cell) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Cell) ProtoMessage() {} + +func (x *Cell) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Cell.ProtoReflect.Descriptor instead. +func (*Cell) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{6} +} + +func (x *Cell) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Cell) GetMemory() *Memory { + if x != nil { + return x.Memory + } + return nil +} + +func (x *Cell) GetPages() []*Pages { + if x != nil { + return x.Pages + } + return nil +} + +func (x *Cell) GetDistances() []*Sibling { + if x != nil { + return x.Distances + } + return nil +} + +func (x *Cell) GetCpus() []*CPU { + if x != nil { + return x.Cpus + } + return nil +} + +type Topology struct { + state protoimpl.MessageState `protogen:"open.v1"` + NumaCells []*Cell `protobuf:"bytes,1,rep,name=numa_cells,json=numaCells,proto3" json:"numa_cells,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Topology) Reset() { + *x = Topology{} + mi := &file_proto_cmd_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Topology) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Topology) ProtoMessage() {} + +func (x *Topology) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Topology.ProtoReflect.Descriptor instead. +func (*Topology) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{7} +} + +func (x *Topology) GetNumaCells() []*Cell { + if x != nil { + return x.NumaCells + } + return nil +} + +type SMBios struct { + state protoimpl.MessageState `protogen:"open.v1"` + Manufacturer string `protobuf:"bytes,1,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"` + Product string `protobuf:"bytes,2,opt,name=product,proto3" json:"product,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + Sku string `protobuf:"bytes,4,opt,name=sku,proto3" json:"sku,omitempty"` + Family string `protobuf:"bytes,5,opt,name=family,proto3" json:"family,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SMBios) Reset() { + *x = SMBios{} + mi := &file_proto_cmd_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SMBios) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SMBios) ProtoMessage() {} + +func (x *SMBios) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SMBios.ProtoReflect.Descriptor instead. +func (*SMBios) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{8} +} + +func (x *SMBios) GetManufacturer() string { + if x != nil { + return x.Manufacturer + } + return "" +} + +func (x *SMBios) GetProduct() string { + if x != nil { + return x.Product + } + return "" +} + +func (x *SMBios) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *SMBios) GetSku() string { + if x != nil { + return x.Sku + } + return "" +} + +func (x *SMBios) GetFamily() string { + if x != nil { + return x.Family + } + return "" +} + +type DiskInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Format string `protobuf:"bytes,1,opt,name=format,proto3" json:"format,omitempty"` + BackingFile string `protobuf:"bytes,2,opt,name=backingFile,proto3" json:"backingFile,omitempty"` + ActualSize uint64 `protobuf:"varint,3,opt,name=actualSize,proto3" json:"actualSize,omitempty"` + VirtualSize uint64 `protobuf:"varint,4,opt,name=virtualSize,proto3" json:"virtualSize,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DiskInfo) Reset() { + *x = DiskInfo{} + mi := &file_proto_cmd_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DiskInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiskInfo) ProtoMessage() {} + +func (x *DiskInfo) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiskInfo.ProtoReflect.Descriptor instead. +func (*DiskInfo) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{9} +} + +func (x *DiskInfo) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *DiskInfo) GetBackingFile() string { + if x != nil { + return x.BackingFile + } + return "" +} + +func (x *DiskInfo) GetActualSize() uint64 { + if x != nil { + return x.ActualSize + } + return 0 +} + +func (x *DiskInfo) GetVirtualSize() uint64 { + if x != nil { + return x.VirtualSize + } + return 0 +} + +type ClusterConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + ExpandDisksEnabled bool `protobuf:"varint,1,opt,name=ExpandDisksEnabled,proto3" json:"ExpandDisksEnabled,omitempty"` + FreePageReportingDisabled bool `protobuf:"varint,2,opt,name=FreePageReportingDisabled,proto3" json:"FreePageReportingDisabled,omitempty"` + BochsDisplayForEFIGuests bool `protobuf:"varint,3,opt,name=BochsDisplayForEFIGuests,proto3" json:"BochsDisplayForEFIGuests,omitempty"` + SerialConsoleLogDisabled bool `protobuf:"varint,4,opt,name=SerialConsoleLogDisabled,proto3" json:"SerialConsoleLogDisabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClusterConfig) Reset() { + *x = ClusterConfig{} + mi := &file_proto_cmd_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClusterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterConfig) ProtoMessage() {} + +func (x *ClusterConfig) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterConfig.ProtoReflect.Descriptor instead. +func (*ClusterConfig) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{10} +} + +func (x *ClusterConfig) GetExpandDisksEnabled() bool { + if x != nil { + return x.ExpandDisksEnabled + } + return false +} + +func (x *ClusterConfig) GetFreePageReportingDisabled() bool { + if x != nil { + return x.FreePageReportingDisabled + } + return false +} + +func (x *ClusterConfig) GetBochsDisplayForEFIGuests() bool { + if x != nil { + return x.BochsDisplayForEFIGuests + } + return false +} + +func (x *ClusterConfig) GetSerialConsoleLogDisabled() bool { + if x != nil { + return x.SerialConsoleLogDisabled + } + return false +} + +type InterfaceBindingMigration struct { + state protoimpl.MessageState `protogen:"open.v1"` + Method string `protobuf:"bytes,1,opt,name=Method,proto3" json:"Method,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InterfaceBindingMigration) Reset() { + *x = InterfaceBindingMigration{} + mi := &file_proto_cmd_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InterfaceBindingMigration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterfaceBindingMigration) ProtoMessage() {} + +func (x *InterfaceBindingMigration) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InterfaceBindingMigration.ProtoReflect.Descriptor instead. +func (*InterfaceBindingMigration) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{11} +} + +func (x *InterfaceBindingMigration) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +type VirtualMachineOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + VirtualMachineSMBios *SMBios `protobuf:"bytes,1,opt,name=VirtualMachineSMBios,proto3" json:"VirtualMachineSMBios,omitempty"` + MemBalloonStatsPeriod uint32 `protobuf:"varint,2,opt,name=MemBalloonStatsPeriod,proto3" json:"MemBalloonStatsPeriod,omitempty"` + PreallocatedVolumes []string `protobuf:"bytes,3,rep,name=PreallocatedVolumes,proto3" json:"PreallocatedVolumes,omitempty"` + Topology *Topology `protobuf:"bytes,4,opt,name=topology,proto3" json:"topology,omitempty"` + DisksInfo map[string]*DiskInfo `protobuf:"bytes,5,rep,name=DisksInfo,proto3" json:"DisksInfo,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Deprecated, use clusterConfig.ExpandDisksEnabled + ExpandDisksEnabled bool `protobuf:"varint,6,opt,name=ExpandDisksEnabled,proto3" json:"ExpandDisksEnabled,omitempty"` + ClusterConfig *ClusterConfig `protobuf:"bytes,7,opt,name=clusterConfig,proto3" json:"clusterConfig,omitempty"` + InterfaceDomainAttachment map[string]string `protobuf:"bytes,8,rep,name=interfaceDomainAttachment,proto3" json:"interfaceDomainAttachment,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + InterfaceMigration map[string]*InterfaceBindingMigration `protobuf:"bytes,9,rep,name=interfaceMigration,proto3" json:"interfaceMigration,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VirtualMachineOptions) Reset() { + *x = VirtualMachineOptions{} + mi := &file_proto_cmd_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VirtualMachineOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VirtualMachineOptions) ProtoMessage() {} + +func (x *VirtualMachineOptions) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VirtualMachineOptions.ProtoReflect.Descriptor instead. +func (*VirtualMachineOptions) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{12} +} + +func (x *VirtualMachineOptions) GetVirtualMachineSMBios() *SMBios { + if x != nil { + return x.VirtualMachineSMBios + } + return nil +} + +func (x *VirtualMachineOptions) GetMemBalloonStatsPeriod() uint32 { + if x != nil { + return x.MemBalloonStatsPeriod + } + return 0 +} + +func (x *VirtualMachineOptions) GetPreallocatedVolumes() []string { + if x != nil { + return x.PreallocatedVolumes + } + return nil +} + +func (x *VirtualMachineOptions) GetTopology() *Topology { + if x != nil { + return x.Topology + } + return nil +} + +func (x *VirtualMachineOptions) GetDisksInfo() map[string]*DiskInfo { + if x != nil { + return x.DisksInfo + } + return nil +} + +func (x *VirtualMachineOptions) GetExpandDisksEnabled() bool { + if x != nil { + return x.ExpandDisksEnabled + } + return false +} + +func (x *VirtualMachineOptions) GetClusterConfig() *ClusterConfig { + if x != nil { + return x.ClusterConfig + } + return nil +} + +func (x *VirtualMachineOptions) GetInterfaceDomainAttachment() map[string]string { + if x != nil { + return x.InterfaceDomainAttachment + } + return nil +} + +func (x *VirtualMachineOptions) GetInterfaceMigration() map[string]*InterfaceBindingMigration { + if x != nil { + return x.InterfaceMigration + } + return nil +} + +type VMIRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Vmi *VMI `protobuf:"bytes,1,opt,name=vmi,proto3" json:"vmi,omitempty"` + Options *VirtualMachineOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VMIRequest) Reset() { + *x = VMIRequest{} + mi := &file_proto_cmd_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VMIRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VMIRequest) ProtoMessage() {} + +func (x *VMIRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VMIRequest.ProtoReflect.Descriptor instead. +func (*VMIRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{13} +} + +func (x *VMIRequest) GetVmi() *VMI { + if x != nil { + return x.Vmi + } + return nil +} + +func (x *VMIRequest) GetOptions() *VirtualMachineOptions { + if x != nil { + return x.Options + } + return nil +} + +type MigrationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Vmi *VMI `protobuf:"bytes,1,opt,name=vmi,proto3" json:"vmi,omitempty"` + Options []byte `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MigrationRequest) Reset() { + *x = MigrationRequest{} + mi := &file_proto_cmd_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MigrationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrationRequest) ProtoMessage() {} + +func (x *MigrationRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrationRequest.ProtoReflect.Descriptor instead. +func (*MigrationRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{14} +} + +func (x *MigrationRequest) GetVmi() *VMI { + if x != nil { + return x.Vmi + } + return nil +} + +func (x *MigrationRequest) GetOptions() []byte { + if x != nil { + return x.Options + } + return nil +} + +type ExecRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainName string `protobuf:"bytes,1,opt,name=domainName,proto3" json:"domainName,omitempty"` + Command string `protobuf:"bytes,2,opt,name=Command,proto3" json:"Command,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=Args,proto3" json:"Args,omitempty"` + TimeoutSeconds int32 `protobuf:"varint,4,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecRequest) Reset() { + *x = ExecRequest{} + mi := &file_proto_cmd_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecRequest) ProtoMessage() {} + +func (x *ExecRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecRequest.ProtoReflect.Descriptor instead. +func (*ExecRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{15} +} + +func (x *ExecRequest) GetDomainName() string { + if x != nil { + return x.DomainName + } + return "" +} + +func (x *ExecRequest) GetCommand() string { + if x != nil { + return x.Command + } + return "" +} + +func (x *ExecRequest) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ExecRequest) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +type EmptyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EmptyRequest) Reset() { + *x = EmptyRequest{} + mi := &file_proto_cmd_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EmptyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmptyRequest) ProtoMessage() {} + +func (x *EmptyRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EmptyRequest.ProtoReflect.Descriptor instead. +func (*EmptyRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{16} +} + +type Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Response) Reset() { + *x = Response{} + mi := &file_proto_cmd_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Response) ProtoMessage() {} + +func (x *Response) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Response.ProtoReflect.Descriptor instead. +func (*Response) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{17} +} + +func (x *Response) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *Response) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type DomainResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DomainResponse) Reset() { + *x = DomainResponse{} + mi := &file_proto_cmd_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DomainResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DomainResponse) ProtoMessage() {} + +func (x *DomainResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DomainResponse.ProtoReflect.Descriptor instead. +func (*DomainResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{18} +} + +func (x *DomainResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *DomainResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type DomainStatsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + DomainStats string `protobuf:"bytes,2,opt,name=domainStats,proto3" json:"domainStats,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DomainStatsResponse) Reset() { + *x = DomainStatsResponse{} + mi := &file_proto_cmd_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DomainStatsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DomainStatsResponse) ProtoMessage() {} + +func (x *DomainStatsResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DomainStatsResponse.ProtoReflect.Descriptor instead. +func (*DomainStatsResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{19} +} + +func (x *DomainStatsResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *DomainStatsResponse) GetDomainStats() string { + if x != nil { + return x.DomainStats + } + return "" +} + +type GuestInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + GuestInfoResponse string `protobuf:"bytes,2,opt,name=guestInfoResponse,proto3" json:"guestInfoResponse,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GuestInfoResponse) Reset() { + *x = GuestInfoResponse{} + mi := &file_proto_cmd_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GuestInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuestInfoResponse) ProtoMessage() {} + +func (x *GuestInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GuestInfoResponse.ProtoReflect.Descriptor instead. +func (*GuestInfoResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{20} +} + +func (x *GuestInfoResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *GuestInfoResponse) GetGuestInfoResponse() string { + if x != nil { + return x.GuestInfoResponse + } + return "" +} + +type GuestUserListResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + GuestUserListResponse string `protobuf:"bytes,2,opt,name=guestUserListResponse,proto3" json:"guestUserListResponse,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GuestUserListResponse) Reset() { + *x = GuestUserListResponse{} + mi := &file_proto_cmd_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GuestUserListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuestUserListResponse) ProtoMessage() {} + +func (x *GuestUserListResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GuestUserListResponse.ProtoReflect.Descriptor instead. +func (*GuestUserListResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{21} +} + +func (x *GuestUserListResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *GuestUserListResponse) GetGuestUserListResponse() string { + if x != nil { + return x.GuestUserListResponse + } + return "" +} + +type GuestFilesystemsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + GuestFilesystemsResponse string `protobuf:"bytes,2,opt,name=guestFilesystemsResponse,proto3" json:"guestFilesystemsResponse,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GuestFilesystemsResponse) Reset() { + *x = GuestFilesystemsResponse{} + mi := &file_proto_cmd_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GuestFilesystemsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuestFilesystemsResponse) ProtoMessage() {} + +func (x *GuestFilesystemsResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GuestFilesystemsResponse.ProtoReflect.Descriptor instead. +func (*GuestFilesystemsResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{22} +} + +func (x *GuestFilesystemsResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *GuestFilesystemsResponse) GetGuestFilesystemsResponse() string { + if x != nil { + return x.GuestFilesystemsResponse + } + return "" +} + +type ExecResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + ExitCode int32 `protobuf:"varint,2,opt,name=exitCode,proto3" json:"exitCode,omitempty"` + StdOut string `protobuf:"bytes,3,opt,name=stdOut,proto3" json:"stdOut,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecResponse) Reset() { + *x = ExecResponse{} + mi := &file_proto_cmd_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecResponse) ProtoMessage() {} + +func (x *ExecResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecResponse.ProtoReflect.Descriptor instead. +func (*ExecResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{23} +} + +func (x *ExecResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *ExecResponse) GetExitCode() int32 { + if x != nil { + return x.ExitCode + } + return 0 +} + +func (x *ExecResponse) GetStdOut() string { + if x != nil { + return x.StdOut + } + return "" +} + +type GuestPingRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + DomainName string `protobuf:"bytes,1,opt,name=domainName,proto3" json:"domainName,omitempty"` + TimeoutSeconds int32 `protobuf:"varint,2,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GuestPingRequest) Reset() { + *x = GuestPingRequest{} + mi := &file_proto_cmd_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GuestPingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuestPingRequest) ProtoMessage() {} + +func (x *GuestPingRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GuestPingRequest.ProtoReflect.Descriptor instead. +func (*GuestPingRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{24} +} + +func (x *GuestPingRequest) GetDomainName() string { + if x != nil { + return x.DomainName + } + return "" +} + +func (x *GuestPingRequest) GetTimeoutSeconds() int32 { + if x != nil { + return x.TimeoutSeconds + } + return 0 +} + +type GuestPingResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GuestPingResponse) Reset() { + *x = GuestPingResponse{} + mi := &file_proto_cmd_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GuestPingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GuestPingResponse) ProtoMessage() {} + +func (x *GuestPingResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GuestPingResponse.ProtoReflect.Descriptor instead. +func (*GuestPingResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{25} +} + +func (x *GuestPingResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +type FreezeRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Vmi *VMI `protobuf:"bytes,1,opt,name=vmi,proto3" json:"vmi,omitempty"` + UnfreezeTimeoutSeconds int32 `protobuf:"varint,2,opt,name=unfreezeTimeoutSeconds,proto3" json:"unfreezeTimeoutSeconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FreezeRequest) Reset() { + *x = FreezeRequest{} + mi := &file_proto_cmd_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FreezeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FreezeRequest) ProtoMessage() {} + +func (x *FreezeRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FreezeRequest.ProtoReflect.Descriptor instead. +func (*FreezeRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{26} +} + +func (x *FreezeRequest) GetVmi() *VMI { + if x != nil { + return x.Vmi + } + return nil +} + +func (x *FreezeRequest) GetUnfreezeTimeoutSeconds() int32 { + if x != nil { + return x.UnfreezeTimeoutSeconds + } + return 0 +} + +type MemoryDumpRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Vmi *VMI `protobuf:"bytes,1,opt,name=vmi,proto3" json:"vmi,omitempty"` + DumpPath string `protobuf:"bytes,2,opt,name=dumpPath,proto3" json:"dumpPath,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MemoryDumpRequest) Reset() { + *x = MemoryDumpRequest{} + mi := &file_proto_cmd_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MemoryDumpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MemoryDumpRequest) ProtoMessage() {} + +func (x *MemoryDumpRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MemoryDumpRequest.ProtoReflect.Descriptor instead. +func (*MemoryDumpRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{27} +} + +func (x *MemoryDumpRequest) GetVmi() *VMI { + if x != nil { + return x.Vmi + } + return nil +} + +func (x *MemoryDumpRequest) GetDumpPath() string { + if x != nil { + return x.DumpPath + } + return "" +} + +type SEVInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + SevInfo []byte `protobuf:"bytes,2,opt,name=sevInfo,proto3" json:"sevInfo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SEVInfoResponse) Reset() { + *x = SEVInfoResponse{} + mi := &file_proto_cmd_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SEVInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SEVInfoResponse) ProtoMessage() {} + +func (x *SEVInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SEVInfoResponse.ProtoReflect.Descriptor instead. +func (*SEVInfoResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{28} +} + +func (x *SEVInfoResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *SEVInfoResponse) GetSevInfo() []byte { + if x != nil { + return x.SevInfo + } + return nil +} + +type LaunchMeasurementResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + LaunchMeasurement []byte `protobuf:"bytes,2,opt,name=launchMeasurement,proto3" json:"launchMeasurement,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LaunchMeasurementResponse) Reset() { + *x = LaunchMeasurementResponse{} + mi := &file_proto_cmd_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LaunchMeasurementResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LaunchMeasurementResponse) ProtoMessage() {} + +func (x *LaunchMeasurementResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LaunchMeasurementResponse.ProtoReflect.Descriptor instead. +func (*LaunchMeasurementResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{29} +} + +func (x *LaunchMeasurementResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *LaunchMeasurementResponse) GetLaunchMeasurement() []byte { + if x != nil { + return x.LaunchMeasurement + } + return nil +} + +type InjectLaunchSecretRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Vmi *VMI `protobuf:"bytes,1,opt,name=vmi,proto3" json:"vmi,omitempty"` + Options []byte `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InjectLaunchSecretRequest) Reset() { + *x = InjectLaunchSecretRequest{} + mi := &file_proto_cmd_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InjectLaunchSecretRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InjectLaunchSecretRequest) ProtoMessage() {} + +func (x *InjectLaunchSecretRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InjectLaunchSecretRequest.ProtoReflect.Descriptor instead. +func (*InjectLaunchSecretRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{30} +} + +func (x *InjectLaunchSecretRequest) GetVmi() *VMI { + if x != nil { + return x.Vmi + } + return nil +} + +func (x *InjectLaunchSecretRequest) GetOptions() []byte { + if x != nil { + return x.Options + } + return nil +} + +type VMIChecksumResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Response *Response `protobuf:"bytes,1,opt,name=response,proto3" json:"response,omitempty"` + Checksum string `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VMIChecksumResponse) Reset() { + *x = VMIChecksumResponse{} + mi := &file_proto_cmd_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VMIChecksumResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VMIChecksumResponse) ProtoMessage() {} + +func (x *VMIChecksumResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VMIChecksumResponse.ProtoReflect.Descriptor instead. +func (*VMIChecksumResponse) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{31} +} + +func (x *VMIChecksumResponse) GetResponse() *Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *VMIChecksumResponse) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +type MigrationProxyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Action MigrationProxyAction `protobuf:"varint,1,opt,name=action,proto3,enum=kubevirt.cmd.v1.MigrationProxyAction" json:"action,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MigrationProxyRequest) Reset() { + *x = MigrationProxyRequest{} + mi := &file_proto_cmd_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MigrationProxyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MigrationProxyRequest) ProtoMessage() {} + +func (x *MigrationProxyRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_cmd_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MigrationProxyRequest.ProtoReflect.Descriptor instead. +func (*MigrationProxyRequest) Descriptor() ([]byte, []int) { + return file_proto_cmd_proto_rawDescGZIP(), []int{32} +} + +func (x *MigrationProxyRequest) GetAction() MigrationProxyAction { + if x != nil { + return x.Action + } + return MigrationProxyAction_START +} + +var File_proto_cmd_proto protoreflect.FileDescriptor + +const file_proto_cmd_proto_rawDesc = "" + + "\n" + + "\x0fproto/cmd.proto\x12\x0fkubevirt.cmd.v1\"f\n" + + "\x13QemuVersionResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\"\x1f\n" + + "\x03VMI\x12\x18\n" + + "\avmiJson\x18\x01 \x01(\fR\avmiJson\"1\n" + + "\x03CPU\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12\x1a\n" + + "\bsiblings\x18\x02 \x03(\rR\bsiblings\"/\n" + + "\aSibling\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12\x14\n" + + "\x05value\x18\x02 \x01(\x04R\x05value\"E\n" + + "\x05Pages\x12\x14\n" + + "\x05count\x18\x01 \x01(\x04R\x05count\x12\x12\n" + + "\x04unit\x18\x02 \x01(\tR\x04unit\x12\x12\n" + + "\x04size\x18\x03 \x01(\rR\x04size\"4\n" + + "\x06Memory\x12\x16\n" + + "\x06amount\x18\x01 \x01(\x04R\x06amount\x12\x12\n" + + "\x04unit\x18\x02 \x01(\tR\x04unit\"\xd7\x01\n" + + "\x04Cell\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12/\n" + + "\x06memory\x18\x02 \x01(\v2\x17.kubevirt.cmd.v1.MemoryR\x06memory\x12,\n" + + "\x05pages\x18\x03 \x03(\v2\x16.kubevirt.cmd.v1.PagesR\x05pages\x126\n" + + "\tdistances\x18\x04 \x03(\v2\x18.kubevirt.cmd.v1.SiblingR\tdistances\x12(\n" + + "\x04cpus\x18\x05 \x03(\v2\x14.kubevirt.cmd.v1.CPUR\x04cpus\"@\n" + + "\bTopology\x124\n" + + "\n" + + "numa_cells\x18\x01 \x03(\v2\x15.kubevirt.cmd.v1.CellR\tnumaCells\"\x8a\x01\n" + + "\x06SMBios\x12\"\n" + + "\fmanufacturer\x18\x01 \x01(\tR\fmanufacturer\x12\x18\n" + + "\aproduct\x18\x02 \x01(\tR\aproduct\x12\x18\n" + + "\aversion\x18\x03 \x01(\tR\aversion\x12\x10\n" + + "\x03sku\x18\x04 \x01(\tR\x03sku\x12\x16\n" + + "\x06family\x18\x05 \x01(\tR\x06family\"\x86\x01\n" + + "\bDiskInfo\x12\x16\n" + + "\x06format\x18\x01 \x01(\tR\x06format\x12 \n" + + "\vbackingFile\x18\x02 \x01(\tR\vbackingFile\x12\x1e\n" + + "\n" + + "actualSize\x18\x03 \x01(\x04R\n" + + "actualSize\x12 \n" + + "\vvirtualSize\x18\x04 \x01(\x04R\vvirtualSize\"\xf5\x01\n" + + "\rClusterConfig\x12.\n" + + "\x12ExpandDisksEnabled\x18\x01 \x01(\bR\x12ExpandDisksEnabled\x12<\n" + + "\x19FreePageReportingDisabled\x18\x02 \x01(\bR\x19FreePageReportingDisabled\x12:\n" + + "\x18BochsDisplayForEFIGuests\x18\x03 \x01(\bR\x18BochsDisplayForEFIGuests\x12:\n" + + "\x18SerialConsoleLogDisabled\x18\x04 \x01(\bR\x18SerialConsoleLogDisabled\"3\n" + + "\x19InterfaceBindingMigration\x12\x16\n" + + "\x06Method\x18\x01 \x01(\tR\x06Method\"\xde\a\n" + + "\x15VirtualMachineOptions\x12K\n" + + "\x14VirtualMachineSMBios\x18\x01 \x01(\v2\x17.kubevirt.cmd.v1.SMBiosR\x14VirtualMachineSMBios\x124\n" + + "\x15MemBalloonStatsPeriod\x18\x02 \x01(\rR\x15MemBalloonStatsPeriod\x120\n" + + "\x13PreallocatedVolumes\x18\x03 \x03(\tR\x13PreallocatedVolumes\x125\n" + + "\btopology\x18\x04 \x01(\v2\x19.kubevirt.cmd.v1.TopologyR\btopology\x12S\n" + + "\tDisksInfo\x18\x05 \x03(\v25.kubevirt.cmd.v1.VirtualMachineOptions.DisksInfoEntryR\tDisksInfo\x12.\n" + + "\x12ExpandDisksEnabled\x18\x06 \x01(\bR\x12ExpandDisksEnabled\x12D\n" + + "\rclusterConfig\x18\a \x01(\v2\x1e.kubevirt.cmd.v1.ClusterConfigR\rclusterConfig\x12\x83\x01\n" + + "\x19interfaceDomainAttachment\x18\b \x03(\v2E.kubevirt.cmd.v1.VirtualMachineOptions.InterfaceDomainAttachmentEntryR\x19interfaceDomainAttachment\x12n\n" + + "\x12interfaceMigration\x18\t \x03(\v2>.kubevirt.cmd.v1.VirtualMachineOptions.InterfaceMigrationEntryR\x12interfaceMigration\x1aW\n" + + "\x0eDisksInfoEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12/\n" + + "\x05value\x18\x02 \x01(\v2\x19.kubevirt.cmd.v1.DiskInfoR\x05value:\x028\x01\x1aL\n" + + "\x1eInterfaceDomainAttachmentEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aq\n" + + "\x17InterfaceMigrationEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12@\n" + + "\x05value\x18\x02 \x01(\v2*.kubevirt.cmd.v1.InterfaceBindingMigrationR\x05value:\x028\x01\"v\n" + + "\n" + + "VMIRequest\x12&\n" + + "\x03vmi\x18\x01 \x01(\v2\x14.kubevirt.cmd.v1.VMIR\x03vmi\x12@\n" + + "\aoptions\x18\x02 \x01(\v2&.kubevirt.cmd.v1.VirtualMachineOptionsR\aoptions\"T\n" + + "\x10MigrationRequest\x12&\n" + + "\x03vmi\x18\x01 \x01(\v2\x14.kubevirt.cmd.v1.VMIR\x03vmi\x12\x18\n" + + "\aoptions\x18\x02 \x01(\fR\aoptions\"\x83\x01\n" + + "\vExecRequest\x12\x1e\n" + + "\n" + + "domainName\x18\x01 \x01(\tR\n" + + "domainName\x12\x18\n" + + "\aCommand\x18\x02 \x01(\tR\aCommand\x12\x12\n" + + "\x04Args\x18\x03 \x03(\tR\x04Args\x12&\n" + + "\x0etimeoutSeconds\x18\x04 \x01(\x05R\x0etimeoutSeconds\"\x0e\n" + + "\fEmptyRequest\">\n" + + "\bResponse\x12\x18\n" + + "\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" + + "\amessage\x18\x02 \x01(\tR\amessage\"_\n" + + "\x0eDomainResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12\x16\n" + + "\x06domain\x18\x02 \x01(\tR\x06domain\"n\n" + + "\x13DomainStatsResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12 \n" + + "\vdomainStats\x18\x02 \x01(\tR\vdomainStats\"x\n" + + "\x11GuestInfoResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12,\n" + + "\x11guestInfoResponse\x18\x02 \x01(\tR\x11guestInfoResponse\"\x84\x01\n" + + "\x15GuestUserListResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x124\n" + + "\x15guestUserListResponse\x18\x02 \x01(\tR\x15guestUserListResponse\"\x8d\x01\n" + + "\x18GuestFilesystemsResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12:\n" + + "\x18guestFilesystemsResponse\x18\x02 \x01(\tR\x18guestFilesystemsResponse\"y\n" + + "\fExecResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12\x1a\n" + + "\bexitCode\x18\x02 \x01(\x05R\bexitCode\x12\x16\n" + + "\x06stdOut\x18\x03 \x01(\tR\x06stdOut\"Z\n" + + "\x10GuestPingRequest\x12\x1e\n" + + "\n" + + "domainName\x18\x01 \x01(\tR\n" + + "domainName\x12&\n" + + "\x0etimeoutSeconds\x18\x02 \x01(\x05R\x0etimeoutSeconds\"J\n" + + "\x11GuestPingResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\"o\n" + + "\rFreezeRequest\x12&\n" + + "\x03vmi\x18\x01 \x01(\v2\x14.kubevirt.cmd.v1.VMIR\x03vmi\x126\n" + + "\x16unfreezeTimeoutSeconds\x18\x02 \x01(\x05R\x16unfreezeTimeoutSeconds\"W\n" + + "\x11MemoryDumpRequest\x12&\n" + + "\x03vmi\x18\x01 \x01(\v2\x14.kubevirt.cmd.v1.VMIR\x03vmi\x12\x1a\n" + + "\bdumpPath\x18\x02 \x01(\tR\bdumpPath\"b\n" + + "\x0fSEVInfoResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12\x18\n" + + "\asevInfo\x18\x02 \x01(\fR\asevInfo\"\x80\x01\n" + + "\x19LaunchMeasurementResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12,\n" + + "\x11launchMeasurement\x18\x02 \x01(\fR\x11launchMeasurement\"]\n" + + "\x19InjectLaunchSecretRequest\x12&\n" + + "\x03vmi\x18\x01 \x01(\v2\x14.kubevirt.cmd.v1.VMIR\x03vmi\x12\x18\n" + + "\aoptions\x18\x02 \x01(\fR\aoptions\"h\n" + + "\x13VMIChecksumResponse\x125\n" + + "\bresponse\x18\x01 \x01(\v2\x19.kubevirt.cmd.v1.ResponseR\bresponse\x12\x1a\n" + + "\bchecksum\x18\x02 \x01(\tR\bchecksum\"V\n" + + "\x15MigrationProxyRequest\x12=\n" + + "\x06action\x18\x01 \x01(\x0e2%.kubevirt.cmd.v1.MigrationProxyActionR\x06action*+\n" + + "\x14MigrationProxyAction\x12\t\n" + + "\x05START\x10\x00\x12\b\n" + + "\x04STOP\x10\x012\xad\x15\n" + + "\x03Cmd\x12N\n" + + "\x12SyncVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12O\n" + + "\x13PauseVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12Q\n" + + "\x15UnpauseVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12S\n" + + "\x14FreezeVirtualMachine\x12\x1e.kubevirt.cmd.v1.FreezeRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12R\n" + + "\x16UnfreezeVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12T\n" + + "\x18SoftRebootVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12R\n" + + "\x16ShutdownVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12N\n" + + "\x12KillVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12P\n" + + "\x14DeleteVirtualMachine\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12W\n" + + "\x15MigrateVirtualMachine\x12!.kubevirt.cmd.v1.MigrationRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12O\n" + + "\x13SyncMigrationTarget\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12Y\n" + + "\x1dCancelVirtualMachineMigration\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12R\n" + + "\x16SignalTargetPodCleanup\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12[\n" + + "\x1fFinalizeVirtualMachineMigration\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12N\n" + + "\x12HotplugHostDevices\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12M\n" + + "\tGetDomain\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a\x1f.kubevirt.cmd.v1.DomainResponse\"\x00\x12W\n" + + "\x0eGetDomainStats\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a$.kubevirt.cmd.v1.DomainStatsResponse\"\x00\x12S\n" + + "\fGetGuestInfo\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a\".kubevirt.cmd.v1.GuestInfoResponse\"\x00\x12S\n" + + "\bGetUsers\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a&.kubevirt.cmd.v1.GuestUserListResponse\"\x00\x12\\\n" + + "\x0eGetFilesystems\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a).kubevirt.cmd.v1.GuestFilesystemsResponse\"\x00\x12B\n" + + "\x04Ping\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12E\n" + + "\x04Exec\x12\x1c.kubevirt.cmd.v1.ExecRequest\x1a\x1d.kubevirt.cmd.v1.ExecResponse\"\x00\x12T\n" + + "\tGuestPing\x12!.kubevirt.cmd.v1.GuestPingRequest\x1a\".kubevirt.cmd.v1.GuestPingResponse\"\x00\x12[\n" + + "\x18VirtualMachineMemoryDump\x12\".kubevirt.cmd.v1.MemoryDumpRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12W\n" + + "\x0eGetQemuVersion\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a$.kubevirt.cmd.v1.QemuVersionResponse\"\x00\x12R\n" + + "\x16SyncVirtualMachineCPUs\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12T\n" + + "\x18SyncVirtualMachineMemory\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12O\n" + + "\n" + + "GetSEVInfo\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a .kubevirt.cmd.v1.SEVInfoResponse\"\x00\x12a\n" + + "\x14GetLaunchMeasurement\x12\x1b.kubevirt.cmd.v1.VMIRequest\x1a*.kubevirt.cmd.v1.LaunchMeasurementResponse\"\x00\x12]\n" + + "\x12InjectLaunchSecret\x12*.kubevirt.cmd.v1.InjectLaunchSecretRequest\x1a\x19.kubevirt.cmd.v1.Response\"\x00\x12^\n" + + "\x15GetAppliedVMIChecksum\x12\x1d.kubevirt.cmd.v1.EmptyRequest\x1a$.kubevirt.cmd.v1.VMIChecksumResponse\"\x00\x12S\n" + + "\x0eMigrationProxy\x12&.kubevirt.cmd.v1.MigrationProxyRequest\x1a\x19.kubevirt.cmd.v1.ResponseB*Z(virt-launcher-plug/pkg/api/generated/cmdb\x06proto3" + +var ( + file_proto_cmd_proto_rawDescOnce sync.Once + file_proto_cmd_proto_rawDescData []byte +) + +func file_proto_cmd_proto_rawDescGZIP() []byte { + file_proto_cmd_proto_rawDescOnce.Do(func() { + file_proto_cmd_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_cmd_proto_rawDesc), len(file_proto_cmd_proto_rawDesc))) + }) + return file_proto_cmd_proto_rawDescData +} + +var file_proto_cmd_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_proto_cmd_proto_msgTypes = make([]protoimpl.MessageInfo, 36) +var file_proto_cmd_proto_goTypes = []any{ + (MigrationProxyAction)(0), // 0: kubevirt.cmd.v1.MigrationProxyAction + (*QemuVersionResponse)(nil), // 1: kubevirt.cmd.v1.QemuVersionResponse + (*VMI)(nil), // 2: kubevirt.cmd.v1.VMI + (*CPU)(nil), // 3: kubevirt.cmd.v1.CPU + (*Sibling)(nil), // 4: kubevirt.cmd.v1.Sibling + (*Pages)(nil), // 5: kubevirt.cmd.v1.Pages + (*Memory)(nil), // 6: kubevirt.cmd.v1.Memory + (*Cell)(nil), // 7: kubevirt.cmd.v1.Cell + (*Topology)(nil), // 8: kubevirt.cmd.v1.Topology + (*SMBios)(nil), // 9: kubevirt.cmd.v1.SMBios + (*DiskInfo)(nil), // 10: kubevirt.cmd.v1.DiskInfo + (*ClusterConfig)(nil), // 11: kubevirt.cmd.v1.ClusterConfig + (*InterfaceBindingMigration)(nil), // 12: kubevirt.cmd.v1.InterfaceBindingMigration + (*VirtualMachineOptions)(nil), // 13: kubevirt.cmd.v1.VirtualMachineOptions + (*VMIRequest)(nil), // 14: kubevirt.cmd.v1.VMIRequest + (*MigrationRequest)(nil), // 15: kubevirt.cmd.v1.MigrationRequest + (*ExecRequest)(nil), // 16: kubevirt.cmd.v1.ExecRequest + (*EmptyRequest)(nil), // 17: kubevirt.cmd.v1.EmptyRequest + (*Response)(nil), // 18: kubevirt.cmd.v1.Response + (*DomainResponse)(nil), // 19: kubevirt.cmd.v1.DomainResponse + (*DomainStatsResponse)(nil), // 20: kubevirt.cmd.v1.DomainStatsResponse + (*GuestInfoResponse)(nil), // 21: kubevirt.cmd.v1.GuestInfoResponse + (*GuestUserListResponse)(nil), // 22: kubevirt.cmd.v1.GuestUserListResponse + (*GuestFilesystemsResponse)(nil), // 23: kubevirt.cmd.v1.GuestFilesystemsResponse + (*ExecResponse)(nil), // 24: kubevirt.cmd.v1.ExecResponse + (*GuestPingRequest)(nil), // 25: kubevirt.cmd.v1.GuestPingRequest + (*GuestPingResponse)(nil), // 26: kubevirt.cmd.v1.GuestPingResponse + (*FreezeRequest)(nil), // 27: kubevirt.cmd.v1.FreezeRequest + (*MemoryDumpRequest)(nil), // 28: kubevirt.cmd.v1.MemoryDumpRequest + (*SEVInfoResponse)(nil), // 29: kubevirt.cmd.v1.SEVInfoResponse + (*LaunchMeasurementResponse)(nil), // 30: kubevirt.cmd.v1.LaunchMeasurementResponse + (*InjectLaunchSecretRequest)(nil), // 31: kubevirt.cmd.v1.InjectLaunchSecretRequest + (*VMIChecksumResponse)(nil), // 32: kubevirt.cmd.v1.VMIChecksumResponse + (*MigrationProxyRequest)(nil), // 33: kubevirt.cmd.v1.MigrationProxyRequest + nil, // 34: kubevirt.cmd.v1.VirtualMachineOptions.DisksInfoEntry + nil, // 35: kubevirt.cmd.v1.VirtualMachineOptions.InterfaceDomainAttachmentEntry + nil, // 36: kubevirt.cmd.v1.VirtualMachineOptions.InterfaceMigrationEntry +} +var file_proto_cmd_proto_depIdxs = []int32{ + 18, // 0: kubevirt.cmd.v1.QemuVersionResponse.response:type_name -> kubevirt.cmd.v1.Response + 6, // 1: kubevirt.cmd.v1.Cell.memory:type_name -> kubevirt.cmd.v1.Memory + 5, // 2: kubevirt.cmd.v1.Cell.pages:type_name -> kubevirt.cmd.v1.Pages + 4, // 3: kubevirt.cmd.v1.Cell.distances:type_name -> kubevirt.cmd.v1.Sibling + 3, // 4: kubevirt.cmd.v1.Cell.cpus:type_name -> kubevirt.cmd.v1.CPU + 7, // 5: kubevirt.cmd.v1.Topology.numa_cells:type_name -> kubevirt.cmd.v1.Cell + 9, // 6: kubevirt.cmd.v1.VirtualMachineOptions.VirtualMachineSMBios:type_name -> kubevirt.cmd.v1.SMBios + 8, // 7: kubevirt.cmd.v1.VirtualMachineOptions.topology:type_name -> kubevirt.cmd.v1.Topology + 34, // 8: kubevirt.cmd.v1.VirtualMachineOptions.DisksInfo:type_name -> kubevirt.cmd.v1.VirtualMachineOptions.DisksInfoEntry + 11, // 9: kubevirt.cmd.v1.VirtualMachineOptions.clusterConfig:type_name -> kubevirt.cmd.v1.ClusterConfig + 35, // 10: kubevirt.cmd.v1.VirtualMachineOptions.interfaceDomainAttachment:type_name -> kubevirt.cmd.v1.VirtualMachineOptions.InterfaceDomainAttachmentEntry + 36, // 11: kubevirt.cmd.v1.VirtualMachineOptions.interfaceMigration:type_name -> kubevirt.cmd.v1.VirtualMachineOptions.InterfaceMigrationEntry + 2, // 12: kubevirt.cmd.v1.VMIRequest.vmi:type_name -> kubevirt.cmd.v1.VMI + 13, // 13: kubevirt.cmd.v1.VMIRequest.options:type_name -> kubevirt.cmd.v1.VirtualMachineOptions + 2, // 14: kubevirt.cmd.v1.MigrationRequest.vmi:type_name -> kubevirt.cmd.v1.VMI + 18, // 15: kubevirt.cmd.v1.DomainResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 16: kubevirt.cmd.v1.DomainStatsResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 17: kubevirt.cmd.v1.GuestInfoResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 18: kubevirt.cmd.v1.GuestUserListResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 19: kubevirt.cmd.v1.GuestFilesystemsResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 20: kubevirt.cmd.v1.ExecResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 21: kubevirt.cmd.v1.GuestPingResponse.response:type_name -> kubevirt.cmd.v1.Response + 2, // 22: kubevirt.cmd.v1.FreezeRequest.vmi:type_name -> kubevirt.cmd.v1.VMI + 2, // 23: kubevirt.cmd.v1.MemoryDumpRequest.vmi:type_name -> kubevirt.cmd.v1.VMI + 18, // 24: kubevirt.cmd.v1.SEVInfoResponse.response:type_name -> kubevirt.cmd.v1.Response + 18, // 25: kubevirt.cmd.v1.LaunchMeasurementResponse.response:type_name -> kubevirt.cmd.v1.Response + 2, // 26: kubevirt.cmd.v1.InjectLaunchSecretRequest.vmi:type_name -> kubevirt.cmd.v1.VMI + 18, // 27: kubevirt.cmd.v1.VMIChecksumResponse.response:type_name -> kubevirt.cmd.v1.Response + 0, // 28: kubevirt.cmd.v1.MigrationProxyRequest.action:type_name -> kubevirt.cmd.v1.MigrationProxyAction + 10, // 29: kubevirt.cmd.v1.VirtualMachineOptions.DisksInfoEntry.value:type_name -> kubevirt.cmd.v1.DiskInfo + 12, // 30: kubevirt.cmd.v1.VirtualMachineOptions.InterfaceMigrationEntry.value:type_name -> kubevirt.cmd.v1.InterfaceBindingMigration + 14, // 31: kubevirt.cmd.v1.Cmd.SyncVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 32: kubevirt.cmd.v1.Cmd.PauseVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 33: kubevirt.cmd.v1.Cmd.UnpauseVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 27, // 34: kubevirt.cmd.v1.Cmd.FreezeVirtualMachine:input_type -> kubevirt.cmd.v1.FreezeRequest + 14, // 35: kubevirt.cmd.v1.Cmd.UnfreezeVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 36: kubevirt.cmd.v1.Cmd.SoftRebootVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 37: kubevirt.cmd.v1.Cmd.ShutdownVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 38: kubevirt.cmd.v1.Cmd.KillVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 39: kubevirt.cmd.v1.Cmd.DeleteVirtualMachine:input_type -> kubevirt.cmd.v1.VMIRequest + 15, // 40: kubevirt.cmd.v1.Cmd.MigrateVirtualMachine:input_type -> kubevirt.cmd.v1.MigrationRequest + 14, // 41: kubevirt.cmd.v1.Cmd.SyncMigrationTarget:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 42: kubevirt.cmd.v1.Cmd.CancelVirtualMachineMigration:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 43: kubevirt.cmd.v1.Cmd.SignalTargetPodCleanup:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 44: kubevirt.cmd.v1.Cmd.FinalizeVirtualMachineMigration:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 45: kubevirt.cmd.v1.Cmd.HotplugHostDevices:input_type -> kubevirt.cmd.v1.VMIRequest + 17, // 46: kubevirt.cmd.v1.Cmd.GetDomain:input_type -> kubevirt.cmd.v1.EmptyRequest + 17, // 47: kubevirt.cmd.v1.Cmd.GetDomainStats:input_type -> kubevirt.cmd.v1.EmptyRequest + 17, // 48: kubevirt.cmd.v1.Cmd.GetGuestInfo:input_type -> kubevirt.cmd.v1.EmptyRequest + 17, // 49: kubevirt.cmd.v1.Cmd.GetUsers:input_type -> kubevirt.cmd.v1.EmptyRequest + 17, // 50: kubevirt.cmd.v1.Cmd.GetFilesystems:input_type -> kubevirt.cmd.v1.EmptyRequest + 17, // 51: kubevirt.cmd.v1.Cmd.Ping:input_type -> kubevirt.cmd.v1.EmptyRequest + 16, // 52: kubevirt.cmd.v1.Cmd.Exec:input_type -> kubevirt.cmd.v1.ExecRequest + 25, // 53: kubevirt.cmd.v1.Cmd.GuestPing:input_type -> kubevirt.cmd.v1.GuestPingRequest + 28, // 54: kubevirt.cmd.v1.Cmd.VirtualMachineMemoryDump:input_type -> kubevirt.cmd.v1.MemoryDumpRequest + 17, // 55: kubevirt.cmd.v1.Cmd.GetQemuVersion:input_type -> kubevirt.cmd.v1.EmptyRequest + 14, // 56: kubevirt.cmd.v1.Cmd.SyncVirtualMachineCPUs:input_type -> kubevirt.cmd.v1.VMIRequest + 14, // 57: kubevirt.cmd.v1.Cmd.SyncVirtualMachineMemory:input_type -> kubevirt.cmd.v1.VMIRequest + 17, // 58: kubevirt.cmd.v1.Cmd.GetSEVInfo:input_type -> kubevirt.cmd.v1.EmptyRequest + 14, // 59: kubevirt.cmd.v1.Cmd.GetLaunchMeasurement:input_type -> kubevirt.cmd.v1.VMIRequest + 31, // 60: kubevirt.cmd.v1.Cmd.InjectLaunchSecret:input_type -> kubevirt.cmd.v1.InjectLaunchSecretRequest + 17, // 61: kubevirt.cmd.v1.Cmd.GetAppliedVMIChecksum:input_type -> kubevirt.cmd.v1.EmptyRequest + 33, // 62: kubevirt.cmd.v1.Cmd.MigrationProxy:input_type -> kubevirt.cmd.v1.MigrationProxyRequest + 18, // 63: kubevirt.cmd.v1.Cmd.SyncVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 64: kubevirt.cmd.v1.Cmd.PauseVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 65: kubevirt.cmd.v1.Cmd.UnpauseVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 66: kubevirt.cmd.v1.Cmd.FreezeVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 67: kubevirt.cmd.v1.Cmd.UnfreezeVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 68: kubevirt.cmd.v1.Cmd.SoftRebootVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 69: kubevirt.cmd.v1.Cmd.ShutdownVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 70: kubevirt.cmd.v1.Cmd.KillVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 71: kubevirt.cmd.v1.Cmd.DeleteVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 72: kubevirt.cmd.v1.Cmd.MigrateVirtualMachine:output_type -> kubevirt.cmd.v1.Response + 18, // 73: kubevirt.cmd.v1.Cmd.SyncMigrationTarget:output_type -> kubevirt.cmd.v1.Response + 18, // 74: kubevirt.cmd.v1.Cmd.CancelVirtualMachineMigration:output_type -> kubevirt.cmd.v1.Response + 18, // 75: kubevirt.cmd.v1.Cmd.SignalTargetPodCleanup:output_type -> kubevirt.cmd.v1.Response + 18, // 76: kubevirt.cmd.v1.Cmd.FinalizeVirtualMachineMigration:output_type -> kubevirt.cmd.v1.Response + 18, // 77: kubevirt.cmd.v1.Cmd.HotplugHostDevices:output_type -> kubevirt.cmd.v1.Response + 19, // 78: kubevirt.cmd.v1.Cmd.GetDomain:output_type -> kubevirt.cmd.v1.DomainResponse + 20, // 79: kubevirt.cmd.v1.Cmd.GetDomainStats:output_type -> kubevirt.cmd.v1.DomainStatsResponse + 21, // 80: kubevirt.cmd.v1.Cmd.GetGuestInfo:output_type -> kubevirt.cmd.v1.GuestInfoResponse + 22, // 81: kubevirt.cmd.v1.Cmd.GetUsers:output_type -> kubevirt.cmd.v1.GuestUserListResponse + 23, // 82: kubevirt.cmd.v1.Cmd.GetFilesystems:output_type -> kubevirt.cmd.v1.GuestFilesystemsResponse + 18, // 83: kubevirt.cmd.v1.Cmd.Ping:output_type -> kubevirt.cmd.v1.Response + 24, // 84: kubevirt.cmd.v1.Cmd.Exec:output_type -> kubevirt.cmd.v1.ExecResponse + 26, // 85: kubevirt.cmd.v1.Cmd.GuestPing:output_type -> kubevirt.cmd.v1.GuestPingResponse + 18, // 86: kubevirt.cmd.v1.Cmd.VirtualMachineMemoryDump:output_type -> kubevirt.cmd.v1.Response + 1, // 87: kubevirt.cmd.v1.Cmd.GetQemuVersion:output_type -> kubevirt.cmd.v1.QemuVersionResponse + 18, // 88: kubevirt.cmd.v1.Cmd.SyncVirtualMachineCPUs:output_type -> kubevirt.cmd.v1.Response + 18, // 89: kubevirt.cmd.v1.Cmd.SyncVirtualMachineMemory:output_type -> kubevirt.cmd.v1.Response + 29, // 90: kubevirt.cmd.v1.Cmd.GetSEVInfo:output_type -> kubevirt.cmd.v1.SEVInfoResponse + 30, // 91: kubevirt.cmd.v1.Cmd.GetLaunchMeasurement:output_type -> kubevirt.cmd.v1.LaunchMeasurementResponse + 18, // 92: kubevirt.cmd.v1.Cmd.InjectLaunchSecret:output_type -> kubevirt.cmd.v1.Response + 32, // 93: kubevirt.cmd.v1.Cmd.GetAppliedVMIChecksum:output_type -> kubevirt.cmd.v1.VMIChecksumResponse + 18, // 94: kubevirt.cmd.v1.Cmd.MigrationProxy:output_type -> kubevirt.cmd.v1.Response + 63, // [63:95] is the sub-list for method output_type + 31, // [31:63] is the sub-list for method input_type + 31, // [31:31] is the sub-list for extension type_name + 31, // [31:31] is the sub-list for extension extendee + 0, // [0:31] is the sub-list for field type_name +} + +func init() { file_proto_cmd_proto_init() } +func file_proto_cmd_proto_init() { + if File_proto_cmd_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_cmd_proto_rawDesc), len(file_proto_cmd_proto_rawDesc)), + NumEnums: 1, + NumMessages: 36, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_proto_cmd_proto_goTypes, + DependencyIndexes: file_proto_cmd_proto_depIdxs, + EnumInfos: file_proto_cmd_proto_enumTypes, + MessageInfos: file_proto_cmd_proto_msgTypes, + }.Build() + File_proto_cmd_proto = out.File + file_proto_cmd_proto_goTypes = nil + file_proto_cmd_proto_depIdxs = nil +} diff --git a/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd_grpc.pb.go b/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd_grpc.pb.go new file mode 100644 index 0000000000..3ccbe67bc7 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/generated/cmd/proto/cmd_grpc.pb.go @@ -0,0 +1,1299 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.19.6 +// source: proto/cmd.proto + +package cmd + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + Cmd_SyncVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/SyncVirtualMachine" + Cmd_PauseVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/PauseVirtualMachine" + Cmd_UnpauseVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/UnpauseVirtualMachine" + Cmd_FreezeVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/FreezeVirtualMachine" + Cmd_UnfreezeVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/UnfreezeVirtualMachine" + Cmd_SoftRebootVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/SoftRebootVirtualMachine" + Cmd_ShutdownVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/ShutdownVirtualMachine" + Cmd_KillVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/KillVirtualMachine" + Cmd_DeleteVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/DeleteVirtualMachine" + Cmd_MigrateVirtualMachine_FullMethodName = "/kubevirt.cmd.v1.Cmd/MigrateVirtualMachine" + Cmd_SyncMigrationTarget_FullMethodName = "/kubevirt.cmd.v1.Cmd/SyncMigrationTarget" + Cmd_CancelVirtualMachineMigration_FullMethodName = "/kubevirt.cmd.v1.Cmd/CancelVirtualMachineMigration" + Cmd_SignalTargetPodCleanup_FullMethodName = "/kubevirt.cmd.v1.Cmd/SignalTargetPodCleanup" + Cmd_FinalizeVirtualMachineMigration_FullMethodName = "/kubevirt.cmd.v1.Cmd/FinalizeVirtualMachineMigration" + Cmd_HotplugHostDevices_FullMethodName = "/kubevirt.cmd.v1.Cmd/HotplugHostDevices" + Cmd_GetDomain_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetDomain" + Cmd_GetDomainStats_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetDomainStats" + Cmd_GetGuestInfo_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetGuestInfo" + Cmd_GetUsers_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetUsers" + Cmd_GetFilesystems_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetFilesystems" + Cmd_Ping_FullMethodName = "/kubevirt.cmd.v1.Cmd/Ping" + Cmd_Exec_FullMethodName = "/kubevirt.cmd.v1.Cmd/Exec" + Cmd_GuestPing_FullMethodName = "/kubevirt.cmd.v1.Cmd/GuestPing" + Cmd_VirtualMachineMemoryDump_FullMethodName = "/kubevirt.cmd.v1.Cmd/VirtualMachineMemoryDump" + Cmd_GetQemuVersion_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetQemuVersion" + Cmd_SyncVirtualMachineCPUs_FullMethodName = "/kubevirt.cmd.v1.Cmd/SyncVirtualMachineCPUs" + Cmd_SyncVirtualMachineMemory_FullMethodName = "/kubevirt.cmd.v1.Cmd/SyncVirtualMachineMemory" + Cmd_GetSEVInfo_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetSEVInfo" + Cmd_GetLaunchMeasurement_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetLaunchMeasurement" + Cmd_InjectLaunchSecret_FullMethodName = "/kubevirt.cmd.v1.Cmd/InjectLaunchSecret" + Cmd_GetAppliedVMIChecksum_FullMethodName = "/kubevirt.cmd.v1.Cmd/GetAppliedVMIChecksum" + Cmd_MigrationProxy_FullMethodName = "/kubevirt.cmd.v1.Cmd/MigrationProxy" +) + +// CmdClient is the client API for Cmd service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CmdClient interface { + SyncVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + PauseVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + UnpauseVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + FreezeVirtualMachine(ctx context.Context, in *FreezeRequest, opts ...grpc.CallOption) (*Response, error) + UnfreezeVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + SoftRebootVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + ShutdownVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + KillVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + DeleteVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + MigrateVirtualMachine(ctx context.Context, in *MigrationRequest, opts ...grpc.CallOption) (*Response, error) + SyncMigrationTarget(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + CancelVirtualMachineMigration(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + SignalTargetPodCleanup(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + FinalizeVirtualMachineMigration(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + HotplugHostDevices(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + GetDomain(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*DomainResponse, error) + GetDomainStats(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*DomainStatsResponse, error) + GetGuestInfo(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestInfoResponse, error) + GetUsers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestUserListResponse, error) + GetFilesystems(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestFilesystemsResponse, error) + Ping(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) + Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error) + GuestPing(ctx context.Context, in *GuestPingRequest, opts ...grpc.CallOption) (*GuestPingResponse, error) + VirtualMachineMemoryDump(ctx context.Context, in *MemoryDumpRequest, opts ...grpc.CallOption) (*Response, error) + GetQemuVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*QemuVersionResponse, error) + SyncVirtualMachineCPUs(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + SyncVirtualMachineMemory(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) + GetSEVInfo(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*SEVInfoResponse, error) + GetLaunchMeasurement(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*LaunchMeasurementResponse, error) + InjectLaunchSecret(ctx context.Context, in *InjectLaunchSecretRequest, opts ...grpc.CallOption) (*Response, error) + GetAppliedVMIChecksum(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VMIChecksumResponse, error) + MigrationProxy(ctx context.Context, in *MigrationProxyRequest, opts ...grpc.CallOption) (*Response, error) +} + +type cmdClient struct { + cc grpc.ClientConnInterface +} + +func NewCmdClient(cc grpc.ClientConnInterface) CmdClient { + return &cmdClient{cc} +} + +func (c *cmdClient) SyncVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SyncVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) PauseVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_PauseVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) UnpauseVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_UnpauseVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) FreezeVirtualMachine(ctx context.Context, in *FreezeRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_FreezeVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) UnfreezeVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_UnfreezeVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) SoftRebootVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SoftRebootVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) ShutdownVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_ShutdownVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) KillVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_KillVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) DeleteVirtualMachine(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_DeleteVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) MigrateVirtualMachine(ctx context.Context, in *MigrationRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_MigrateVirtualMachine_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) SyncMigrationTarget(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SyncMigrationTarget_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) CancelVirtualMachineMigration(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_CancelVirtualMachineMigration_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) SignalTargetPodCleanup(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SignalTargetPodCleanup_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) FinalizeVirtualMachineMigration(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_FinalizeVirtualMachineMigration_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) HotplugHostDevices(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_HotplugHostDevices_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetDomain(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*DomainResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DomainResponse) + err := c.cc.Invoke(ctx, Cmd_GetDomain_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetDomainStats(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*DomainStatsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DomainStatsResponse) + err := c.cc.Invoke(ctx, Cmd_GetDomainStats_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetGuestInfo(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GuestInfoResponse) + err := c.cc.Invoke(ctx, Cmd_GetGuestInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetUsers(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestUserListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GuestUserListResponse) + err := c.cc.Invoke(ctx, Cmd_GetUsers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetFilesystems(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*GuestFilesystemsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GuestFilesystemsResponse) + err := c.cc.Invoke(ctx, Cmd_GetFilesystems_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) Ping(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_Ping_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ExecResponse) + err := c.cc.Invoke(ctx, Cmd_Exec_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GuestPing(ctx context.Context, in *GuestPingRequest, opts ...grpc.CallOption) (*GuestPingResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GuestPingResponse) + err := c.cc.Invoke(ctx, Cmd_GuestPing_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) VirtualMachineMemoryDump(ctx context.Context, in *MemoryDumpRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_VirtualMachineMemoryDump_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetQemuVersion(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*QemuVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(QemuVersionResponse) + err := c.cc.Invoke(ctx, Cmd_GetQemuVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) SyncVirtualMachineCPUs(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SyncVirtualMachineCPUs_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) SyncVirtualMachineMemory(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_SyncVirtualMachineMemory_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetSEVInfo(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*SEVInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SEVInfoResponse) + err := c.cc.Invoke(ctx, Cmd_GetSEVInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetLaunchMeasurement(ctx context.Context, in *VMIRequest, opts ...grpc.CallOption) (*LaunchMeasurementResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(LaunchMeasurementResponse) + err := c.cc.Invoke(ctx, Cmd_GetLaunchMeasurement_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) InjectLaunchSecret(ctx context.Context, in *InjectLaunchSecretRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_InjectLaunchSecret_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) GetAppliedVMIChecksum(ctx context.Context, in *EmptyRequest, opts ...grpc.CallOption) (*VMIChecksumResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(VMIChecksumResponse) + err := c.cc.Invoke(ctx, Cmd_GetAppliedVMIChecksum_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *cmdClient) MigrationProxy(ctx context.Context, in *MigrationProxyRequest, opts ...grpc.CallOption) (*Response, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Response) + err := c.cc.Invoke(ctx, Cmd_MigrationProxy_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CmdServer is the server API for Cmd service. +// All implementations must embed UnimplementedCmdServer +// for forward compatibility. +type CmdServer interface { + SyncVirtualMachine(context.Context, *VMIRequest) (*Response, error) + PauseVirtualMachine(context.Context, *VMIRequest) (*Response, error) + UnpauseVirtualMachine(context.Context, *VMIRequest) (*Response, error) + FreezeVirtualMachine(context.Context, *FreezeRequest) (*Response, error) + UnfreezeVirtualMachine(context.Context, *VMIRequest) (*Response, error) + SoftRebootVirtualMachine(context.Context, *VMIRequest) (*Response, error) + ShutdownVirtualMachine(context.Context, *VMIRequest) (*Response, error) + KillVirtualMachine(context.Context, *VMIRequest) (*Response, error) + DeleteVirtualMachine(context.Context, *VMIRequest) (*Response, error) + MigrateVirtualMachine(context.Context, *MigrationRequest) (*Response, error) + SyncMigrationTarget(context.Context, *VMIRequest) (*Response, error) + CancelVirtualMachineMigration(context.Context, *VMIRequest) (*Response, error) + SignalTargetPodCleanup(context.Context, *VMIRequest) (*Response, error) + FinalizeVirtualMachineMigration(context.Context, *VMIRequest) (*Response, error) + HotplugHostDevices(context.Context, *VMIRequest) (*Response, error) + GetDomain(context.Context, *EmptyRequest) (*DomainResponse, error) + GetDomainStats(context.Context, *EmptyRequest) (*DomainStatsResponse, error) + GetGuestInfo(context.Context, *EmptyRequest) (*GuestInfoResponse, error) + GetUsers(context.Context, *EmptyRequest) (*GuestUserListResponse, error) + GetFilesystems(context.Context, *EmptyRequest) (*GuestFilesystemsResponse, error) + Ping(context.Context, *EmptyRequest) (*Response, error) + Exec(context.Context, *ExecRequest) (*ExecResponse, error) + GuestPing(context.Context, *GuestPingRequest) (*GuestPingResponse, error) + VirtualMachineMemoryDump(context.Context, *MemoryDumpRequest) (*Response, error) + GetQemuVersion(context.Context, *EmptyRequest) (*QemuVersionResponse, error) + SyncVirtualMachineCPUs(context.Context, *VMIRequest) (*Response, error) + SyncVirtualMachineMemory(context.Context, *VMIRequest) (*Response, error) + GetSEVInfo(context.Context, *EmptyRequest) (*SEVInfoResponse, error) + GetLaunchMeasurement(context.Context, *VMIRequest) (*LaunchMeasurementResponse, error) + InjectLaunchSecret(context.Context, *InjectLaunchSecretRequest) (*Response, error) + GetAppliedVMIChecksum(context.Context, *EmptyRequest) (*VMIChecksumResponse, error) + MigrationProxy(context.Context, *MigrationProxyRequest) (*Response, error) + mustEmbedUnimplementedCmdServer() +} + +// UnimplementedCmdServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedCmdServer struct{} + +func (UnimplementedCmdServer) SyncVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncVirtualMachine not implemented") +} +func (UnimplementedCmdServer) PauseVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method PauseVirtualMachine not implemented") +} +func (UnimplementedCmdServer) UnpauseVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnpauseVirtualMachine not implemented") +} +func (UnimplementedCmdServer) FreezeVirtualMachine(context.Context, *FreezeRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method FreezeVirtualMachine not implemented") +} +func (UnimplementedCmdServer) UnfreezeVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnfreezeVirtualMachine not implemented") +} +func (UnimplementedCmdServer) SoftRebootVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SoftRebootVirtualMachine not implemented") +} +func (UnimplementedCmdServer) ShutdownVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShutdownVirtualMachine not implemented") +} +func (UnimplementedCmdServer) KillVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method KillVirtualMachine not implemented") +} +func (UnimplementedCmdServer) DeleteVirtualMachine(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteVirtualMachine not implemented") +} +func (UnimplementedCmdServer) MigrateVirtualMachine(context.Context, *MigrationRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method MigrateVirtualMachine not implemented") +} +func (UnimplementedCmdServer) SyncMigrationTarget(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncMigrationTarget not implemented") +} +func (UnimplementedCmdServer) CancelVirtualMachineMigration(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method CancelVirtualMachineMigration not implemented") +} +func (UnimplementedCmdServer) SignalTargetPodCleanup(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SignalTargetPodCleanup not implemented") +} +func (UnimplementedCmdServer) FinalizeVirtualMachineMigration(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinalizeVirtualMachineMigration not implemented") +} +func (UnimplementedCmdServer) HotplugHostDevices(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method HotplugHostDevices not implemented") +} +func (UnimplementedCmdServer) GetDomain(context.Context, *EmptyRequest) (*DomainResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDomain not implemented") +} +func (UnimplementedCmdServer) GetDomainStats(context.Context, *EmptyRequest) (*DomainStatsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDomainStats not implemented") +} +func (UnimplementedCmdServer) GetGuestInfo(context.Context, *EmptyRequest) (*GuestInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetGuestInfo not implemented") +} +func (UnimplementedCmdServer) GetUsers(context.Context, *EmptyRequest) (*GuestUserListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUsers not implemented") +} +func (UnimplementedCmdServer) GetFilesystems(context.Context, *EmptyRequest) (*GuestFilesystemsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFilesystems not implemented") +} +func (UnimplementedCmdServer) Ping(context.Context, *EmptyRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") +} +func (UnimplementedCmdServer) Exec(context.Context, *ExecRequest) (*ExecResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Exec not implemented") +} +func (UnimplementedCmdServer) GuestPing(context.Context, *GuestPingRequest) (*GuestPingResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GuestPing not implemented") +} +func (UnimplementedCmdServer) VirtualMachineMemoryDump(context.Context, *MemoryDumpRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method VirtualMachineMemoryDump not implemented") +} +func (UnimplementedCmdServer) GetQemuVersion(context.Context, *EmptyRequest) (*QemuVersionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetQemuVersion not implemented") +} +func (UnimplementedCmdServer) SyncVirtualMachineCPUs(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncVirtualMachineCPUs not implemented") +} +func (UnimplementedCmdServer) SyncVirtualMachineMemory(context.Context, *VMIRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method SyncVirtualMachineMemory not implemented") +} +func (UnimplementedCmdServer) GetSEVInfo(context.Context, *EmptyRequest) (*SEVInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetSEVInfo not implemented") +} +func (UnimplementedCmdServer) GetLaunchMeasurement(context.Context, *VMIRequest) (*LaunchMeasurementResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLaunchMeasurement not implemented") +} +func (UnimplementedCmdServer) InjectLaunchSecret(context.Context, *InjectLaunchSecretRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method InjectLaunchSecret not implemented") +} +func (UnimplementedCmdServer) GetAppliedVMIChecksum(context.Context, *EmptyRequest) (*VMIChecksumResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAppliedVMIChecksum not implemented") +} +func (UnimplementedCmdServer) MigrationProxy(context.Context, *MigrationProxyRequest) (*Response, error) { + return nil, status.Errorf(codes.Unimplemented, "method MigrationProxy not implemented") +} +func (UnimplementedCmdServer) mustEmbedUnimplementedCmdServer() {} +func (UnimplementedCmdServer) testEmbeddedByValue() {} + +// UnsafeCmdServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CmdServer will +// result in compilation errors. +type UnsafeCmdServer interface { + mustEmbedUnimplementedCmdServer() +} + +func RegisterCmdServer(s grpc.ServiceRegistrar, srv CmdServer) { + // If the following call pancis, it indicates UnimplementedCmdServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&Cmd_ServiceDesc, srv) +} + +func _Cmd_SyncVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SyncVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SyncVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SyncVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_PauseVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).PauseVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_PauseVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).PauseVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_UnpauseVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).UnpauseVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_UnpauseVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).UnpauseVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_FreezeVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FreezeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).FreezeVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_FreezeVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).FreezeVirtualMachine(ctx, req.(*FreezeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_UnfreezeVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).UnfreezeVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_UnfreezeVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).UnfreezeVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_SoftRebootVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SoftRebootVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SoftRebootVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SoftRebootVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_ShutdownVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).ShutdownVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_ShutdownVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).ShutdownVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_KillVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).KillVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_KillVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).KillVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_DeleteVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).DeleteVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_DeleteVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).DeleteVirtualMachine(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_MigrateVirtualMachine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MigrationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).MigrateVirtualMachine(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_MigrateVirtualMachine_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).MigrateVirtualMachine(ctx, req.(*MigrationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_SyncMigrationTarget_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SyncMigrationTarget(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SyncMigrationTarget_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SyncMigrationTarget(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_CancelVirtualMachineMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).CancelVirtualMachineMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_CancelVirtualMachineMigration_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).CancelVirtualMachineMigration(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_SignalTargetPodCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SignalTargetPodCleanup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SignalTargetPodCleanup_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SignalTargetPodCleanup(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_FinalizeVirtualMachineMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).FinalizeVirtualMachineMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_FinalizeVirtualMachineMigration_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).FinalizeVirtualMachineMigration(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_HotplugHostDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).HotplugHostDevices(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_HotplugHostDevices_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).HotplugHostDevices(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetDomain(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetDomain_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetDomain(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetDomainStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetDomainStats(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetDomainStats_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetDomainStats(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetGuestInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetGuestInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetGuestInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetGuestInfo(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetUsers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetUsers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetUsers(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetFilesystems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetFilesystems(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetFilesystems_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetFilesystems(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).Ping(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_Ping_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).Ping(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_Exec_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExecRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).Exec(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_Exec_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).Exec(ctx, req.(*ExecRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GuestPing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GuestPingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GuestPing(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GuestPing_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GuestPing(ctx, req.(*GuestPingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_VirtualMachineMemoryDump_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MemoryDumpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).VirtualMachineMemoryDump(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_VirtualMachineMemoryDump_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).VirtualMachineMemoryDump(ctx, req.(*MemoryDumpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetQemuVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetQemuVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetQemuVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetQemuVersion(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_SyncVirtualMachineCPUs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SyncVirtualMachineCPUs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SyncVirtualMachineCPUs_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SyncVirtualMachineCPUs(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_SyncVirtualMachineMemory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).SyncVirtualMachineMemory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_SyncVirtualMachineMemory_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).SyncVirtualMachineMemory(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetSEVInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetSEVInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetSEVInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetSEVInfo(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetLaunchMeasurement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VMIRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetLaunchMeasurement(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetLaunchMeasurement_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetLaunchMeasurement(ctx, req.(*VMIRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_InjectLaunchSecret_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InjectLaunchSecretRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).InjectLaunchSecret(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_InjectLaunchSecret_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).InjectLaunchSecret(ctx, req.(*InjectLaunchSecretRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_GetAppliedVMIChecksum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmptyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).GetAppliedVMIChecksum(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_GetAppliedVMIChecksum_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).GetAppliedVMIChecksum(ctx, req.(*EmptyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Cmd_MigrationProxy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MigrationProxyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdServer).MigrationProxy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cmd_MigrationProxy_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdServer).MigrationProxy(ctx, req.(*MigrationProxyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Cmd_ServiceDesc is the grpc.ServiceDesc for Cmd service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Cmd_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "kubevirt.cmd.v1.Cmd", + HandlerType: (*CmdServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "SyncVirtualMachine", + Handler: _Cmd_SyncVirtualMachine_Handler, + }, + { + MethodName: "PauseVirtualMachine", + Handler: _Cmd_PauseVirtualMachine_Handler, + }, + { + MethodName: "UnpauseVirtualMachine", + Handler: _Cmd_UnpauseVirtualMachine_Handler, + }, + { + MethodName: "FreezeVirtualMachine", + Handler: _Cmd_FreezeVirtualMachine_Handler, + }, + { + MethodName: "UnfreezeVirtualMachine", + Handler: _Cmd_UnfreezeVirtualMachine_Handler, + }, + { + MethodName: "SoftRebootVirtualMachine", + Handler: _Cmd_SoftRebootVirtualMachine_Handler, + }, + { + MethodName: "ShutdownVirtualMachine", + Handler: _Cmd_ShutdownVirtualMachine_Handler, + }, + { + MethodName: "KillVirtualMachine", + Handler: _Cmd_KillVirtualMachine_Handler, + }, + { + MethodName: "DeleteVirtualMachine", + Handler: _Cmd_DeleteVirtualMachine_Handler, + }, + { + MethodName: "MigrateVirtualMachine", + Handler: _Cmd_MigrateVirtualMachine_Handler, + }, + { + MethodName: "SyncMigrationTarget", + Handler: _Cmd_SyncMigrationTarget_Handler, + }, + { + MethodName: "CancelVirtualMachineMigration", + Handler: _Cmd_CancelVirtualMachineMigration_Handler, + }, + { + MethodName: "SignalTargetPodCleanup", + Handler: _Cmd_SignalTargetPodCleanup_Handler, + }, + { + MethodName: "FinalizeVirtualMachineMigration", + Handler: _Cmd_FinalizeVirtualMachineMigration_Handler, + }, + { + MethodName: "HotplugHostDevices", + Handler: _Cmd_HotplugHostDevices_Handler, + }, + { + MethodName: "GetDomain", + Handler: _Cmd_GetDomain_Handler, + }, + { + MethodName: "GetDomainStats", + Handler: _Cmd_GetDomainStats_Handler, + }, + { + MethodName: "GetGuestInfo", + Handler: _Cmd_GetGuestInfo_Handler, + }, + { + MethodName: "GetUsers", + Handler: _Cmd_GetUsers_Handler, + }, + { + MethodName: "GetFilesystems", + Handler: _Cmd_GetFilesystems_Handler, + }, + { + MethodName: "Ping", + Handler: _Cmd_Ping_Handler, + }, + { + MethodName: "Exec", + Handler: _Cmd_Exec_Handler, + }, + { + MethodName: "GuestPing", + Handler: _Cmd_GuestPing_Handler, + }, + { + MethodName: "VirtualMachineMemoryDump", + Handler: _Cmd_VirtualMachineMemoryDump_Handler, + }, + { + MethodName: "GetQemuVersion", + Handler: _Cmd_GetQemuVersion_Handler, + }, + { + MethodName: "SyncVirtualMachineCPUs", + Handler: _Cmd_SyncVirtualMachineCPUs_Handler, + }, + { + MethodName: "SyncVirtualMachineMemory", + Handler: _Cmd_SyncVirtualMachineMemory_Handler, + }, + { + MethodName: "GetSEVInfo", + Handler: _Cmd_GetSEVInfo_Handler, + }, + { + MethodName: "GetLaunchMeasurement", + Handler: _Cmd_GetLaunchMeasurement_Handler, + }, + { + MethodName: "InjectLaunchSecret", + Handler: _Cmd_InjectLaunchSecret_Handler, + }, + { + MethodName: "GetAppliedVMIChecksum", + Handler: _Cmd_GetAppliedVMIChecksum_Handler, + }, + { + MethodName: "MigrationProxy", + Handler: _Cmd_MigrationProxy_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "proto/cmd.proto", +} diff --git a/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info.pb.go b/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info.pb.go new file mode 100644 index 0000000000..5db0a0a6d9 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info.pb.go @@ -0,0 +1,164 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.10 +// protoc v3.19.6 +// source: proto/info.proto + +package info + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CmdInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CmdInfoRequest) Reset() { + *x = CmdInfoRequest{} + mi := &file_proto_info_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CmdInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CmdInfoRequest) ProtoMessage() {} + +func (x *CmdInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_info_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CmdInfoRequest.ProtoReflect.Descriptor instead. +func (*CmdInfoRequest) Descriptor() ([]byte, []int) { + return file_proto_info_proto_rawDescGZIP(), []int{0} +} + +type CmdInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + SupportedCmdVersions []uint32 `protobuf:"varint,1,rep,packed,name=supportedCmdVersions,proto3" json:"supportedCmdVersions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CmdInfoResponse) Reset() { + *x = CmdInfoResponse{} + mi := &file_proto_info_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CmdInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CmdInfoResponse) ProtoMessage() {} + +func (x *CmdInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_info_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CmdInfoResponse.ProtoReflect.Descriptor instead. +func (*CmdInfoResponse) Descriptor() ([]byte, []int) { + return file_proto_info_proto_rawDescGZIP(), []int{1} +} + +func (x *CmdInfoResponse) GetSupportedCmdVersions() []uint32 { + if x != nil { + return x.SupportedCmdVersions + } + return nil +} + +var File_proto_info_proto protoreflect.FileDescriptor + +const file_proto_info_proto_rawDesc = "" + + "\n" + + "\x10proto/info.proto\x12\x11kubevirt.cmd.info\"\x10\n" + + "\x0eCmdInfoRequest\"E\n" + + "\x0fCmdInfoResponse\x122\n" + + "\x14supportedCmdVersions\x18\x01 \x03(\rR\x14supportedCmdVersions2Z\n" + + "\aCmdInfo\x12O\n" + + "\x04Info\x12!.kubevirt.cmd.info.CmdInfoRequest\x1a\".kubevirt.cmd.info.CmdInfoResponse\"\x00B+Z)virt-launcher-plug/pkg/api/generated/infob\x06proto3" + +var ( + file_proto_info_proto_rawDescOnce sync.Once + file_proto_info_proto_rawDescData []byte +) + +func file_proto_info_proto_rawDescGZIP() []byte { + file_proto_info_proto_rawDescOnce.Do(func() { + file_proto_info_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_proto_info_proto_rawDesc), len(file_proto_info_proto_rawDesc))) + }) + return file_proto_info_proto_rawDescData +} + +var file_proto_info_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_proto_info_proto_goTypes = []any{ + (*CmdInfoRequest)(nil), // 0: kubevirt.cmd.info.CmdInfoRequest + (*CmdInfoResponse)(nil), // 1: kubevirt.cmd.info.CmdInfoResponse +} +var file_proto_info_proto_depIdxs = []int32{ + 0, // 0: kubevirt.cmd.info.CmdInfo.Info:input_type -> kubevirt.cmd.info.CmdInfoRequest + 1, // 1: kubevirt.cmd.info.CmdInfo.Info:output_type -> kubevirt.cmd.info.CmdInfoResponse + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_proto_info_proto_init() } +func file_proto_info_proto_init() { + if File_proto_info_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_info_proto_rawDesc), len(file_proto_info_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_proto_info_proto_goTypes, + DependencyIndexes: file_proto_info_proto_depIdxs, + MessageInfos: file_proto_info_proto_msgTypes, + }.Build() + File_proto_info_proto = out.File + file_proto_info_proto_goTypes = nil + file_proto_info_proto_depIdxs = nil +} diff --git a/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info_grpc.pb.go b/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info_grpc.pb.go new file mode 100644 index 0000000000..67ef1021b0 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/generated/info/proto/info_grpc.pb.go @@ -0,0 +1,121 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.19.6 +// source: proto/info.proto + +package info + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + CmdInfo_Info_FullMethodName = "/kubevirt.cmd.info.CmdInfo/Info" +) + +// CmdInfoClient is the client API for CmdInfo service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CmdInfoClient interface { + Info(ctx context.Context, in *CmdInfoRequest, opts ...grpc.CallOption) (*CmdInfoResponse, error) +} + +type cmdInfoClient struct { + cc grpc.ClientConnInterface +} + +func NewCmdInfoClient(cc grpc.ClientConnInterface) CmdInfoClient { + return &cmdInfoClient{cc} +} + +func (c *cmdInfoClient) Info(ctx context.Context, in *CmdInfoRequest, opts ...grpc.CallOption) (*CmdInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CmdInfoResponse) + err := c.cc.Invoke(ctx, CmdInfo_Info_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CmdInfoServer is the server API for CmdInfo service. +// All implementations must embed UnimplementedCmdInfoServer +// for forward compatibility. +type CmdInfoServer interface { + Info(context.Context, *CmdInfoRequest) (*CmdInfoResponse, error) + mustEmbedUnimplementedCmdInfoServer() +} + +// UnimplementedCmdInfoServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedCmdInfoServer struct{} + +func (UnimplementedCmdInfoServer) Info(context.Context, *CmdInfoRequest) (*CmdInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") +} +func (UnimplementedCmdInfoServer) mustEmbedUnimplementedCmdInfoServer() {} +func (UnimplementedCmdInfoServer) testEmbeddedByValue() {} + +// UnsafeCmdInfoServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CmdInfoServer will +// result in compilation errors. +type UnsafeCmdInfoServer interface { + mustEmbedUnimplementedCmdInfoServer() +} + +func RegisterCmdInfoServer(s grpc.ServiceRegistrar, srv CmdInfoServer) { + // If the following call pancis, it indicates UnimplementedCmdInfoServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&CmdInfo_ServiceDesc, srv) +} + +func _CmdInfo_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CmdInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CmdInfoServer).Info(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: CmdInfo_Info_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CmdInfoServer).Info(ctx, req.(*CmdInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// CmdInfo_ServiceDesc is the grpc.ServiceDesc for CmdInfo service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var CmdInfo_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "kubevirt.cmd.info.CmdInfo", + HandlerType: (*CmdInfoServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Info", + Handler: _CmdInfo_Info_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "proto/info.proto", +} diff --git a/images/virt-launcher/vlctl/pkg/api/stats.go b/images/virt-launcher/vlctl/pkg/api/stats.go new file mode 100644 index 0000000000..ee0433bea3 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/api/stats.go @@ -0,0 +1,174 @@ +/* +Copyright The KubeVirt Authors. +Copyright 2025 Flant JSC + +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. + +Initially copied from https://github.com/kubevirt/kubevirt/blob/v1.6.2/pkg/virt-launcher/virtwrap/stats/types.go +*/ + +package api + +type DomainStats struct { + // the following aren't really needed for stats, but it's practical to report + // OTOH, the whole "Domain" is too much data to be unconditionally reported + Name string + UUID string + // omitted from libvirt-go: Domain + // omitted from libvirt-go: State + Cpu *DomainStatsCPU + // new, see below + Memory *DomainStatsMemory + // omitted from libvirt-go: DomainJobInfo + MigrateDomainJobInfo *DomainJobInfo + // omitted from libvirt-go: Balloon + Vcpu []DomainStatsVcpu + Net []DomainStatsNet + Block []DomainStatsBlock + // omitted from libvirt-go: Perf + // extra stats + CPUMapSet bool + CPUMap [][]bool + NrVirtCpu uint + DirtyRate *DomainStatsDirtyRate +} + +type DomainStatsCPU struct { + TimeSet bool + Time uint64 + UserSet bool + User uint64 + SystemSet bool + System uint64 +} + +type DomainStatsVcpu struct { + StateSet bool + State int // VcpuState + TimeSet bool + Time uint64 + WaitSet bool + Wait uint64 + DelaySet bool + Delay uint64 +} + +type DomainStatsNet struct { + NameSet bool + Name string + AliasSet bool + Alias string + RxBytesSet bool + RxBytes uint64 + RxPktsSet bool + RxPkts uint64 + RxErrsSet bool + RxErrs uint64 + RxDropSet bool + RxDrop uint64 + TxBytesSet bool + TxBytes uint64 + TxPktsSet bool + TxPkts uint64 + TxErrsSet bool + TxErrs uint64 + TxDropSet bool + TxDrop uint64 +} + +type DomainStatsBlock struct { + NameSet bool + Name string + Alias string + BackingIndexSet bool + BackingIndex uint + PathSet bool + Path string + RdReqsSet bool + RdReqs uint64 + RdBytesSet bool + RdBytes uint64 + RdTimesSet bool + RdTimes uint64 + WrReqsSet bool + WrReqs uint64 + WrBytesSet bool + WrBytes uint64 + WrTimesSet bool + WrTimes uint64 + FlReqsSet bool + FlReqs uint64 + FlTimesSet bool + FlTimes uint64 + ErrorsSet bool + Errors uint64 + AllocationSet bool + Allocation uint64 + CapacitySet bool + Capacity uint64 + PhysicalSet bool + Physical uint64 +} + +// mimic existing structs, but data is taken from +// DomainMemoryStat +type DomainStatsMemory struct { + UnusedSet bool + Unused uint64 + CachedSet bool + Cached uint64 + AvailableSet bool + Available uint64 + ActualBalloonSet bool + ActualBalloon uint64 + RSSSet bool + RSS uint64 + SwapInSet bool + SwapIn uint64 + SwapOutSet bool + SwapOut uint64 + MajorFaultSet bool + MajorFault uint64 + MinorFaultSet bool + MinorFault uint64 + UsableSet bool + Usable uint64 + TotalSet bool + Total uint64 +} + +// mimic existing structs, but data is taken from +// DomainJobInfo +type DomainJobInfo struct { + DataTotalSet bool + DataTotal uint64 + DataProcessedSet bool + DataProcessed uint64 + MemoryBpsSet bool + MemoryBps uint64 + DataRemainingSet bool + DataRemaining uint64 + MemDirtyRateSet bool + MemDirtyRate uint64 +} + +type DomainStatsDirtyRate struct { + CalcStatusSet bool + CalcStatus int + CalcStartTimeSet bool + CalcStartTime int64 + CalcPeriodSet bool + CalcPeriod int + MegabytesPerSecondSet bool + MegabytesPerSecond int64 +} diff --git a/images/virt-launcher/vlctl/pkg/client/client.go b/images/virt-launcher/vlctl/pkg/client/client.go new file mode 100644 index 0000000000..2260ac61f3 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/client/client.go @@ -0,0 +1,386 @@ +/* +Copyright The KubeVirt Authors. +Copyright 2025 Flant JSC + +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. + +Initially copied from https://github.com/kubevirt/kubevirt/blob/v1.6.2/pkg/virt-handler/cmd-client/client.go +*/ + +package client + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net" + "net/rpc" + "os" + "sort" + "syscall" + "time" + + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + v1 "kubevirt.io/api/core/v1" + + "vlctl/pkg/api" + cmdproto "vlctl/pkg/api/generated/cmd/proto" + infoproto "vlctl/pkg/api/generated/info/proto" +) + +var ( + supportedCmdVersions = []uint32{1} +) + +const ( + shortTimeout time.Duration = 5 * time.Second +) + +type LauncherClient interface { + GetDomain() (*api.Domain, bool, error) + GetDomainStats() (*api.DomainStats, bool, error) + GetGuestInfo() (*v1.VirtualMachineInstanceGuestAgentInfo, error) + GetUsers() (v1.VirtualMachineInstanceGuestOSUserList, error) + GetFilesystems() (v1.VirtualMachineInstanceFileSystemList, error) + Ping() error + GuestPing(string, int32) error + GetQemuVersion() (string, error) + GetSEVInfo() (*v1.SEVPlatformInfo, error) + Close() +} + +func NewClient(socketPath string) (LauncherClient, error) { + conn, err := DialSocket(socketPath) + if err != nil { + return nil, err + } + + infoClient := infoproto.NewCmdInfoClient(conn) + return NewClientWithInfoClient(infoClient, conn) +} + +func NewClientWithInfoClient(infoClient infoproto.CmdInfoClient, conn *grpc.ClientConn) (LauncherClient, error) { + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + info, err := infoClient.Info(ctx, &infoproto.CmdInfoRequest{}) + if err != nil { + return nil, fmt.Errorf("could not check cmd server version: %v", err) + } + version, err := GetHighestCompatibleVersion(info.SupportedCmdVersions, supportedCmdVersions) + if err != nil { + return nil, err + } + + // create cmd client + switch version { + case 1: + client := cmdproto.NewCmdClient(conn) + return newV1Client(client, conn), nil + default: + return nil, fmt.Errorf("cmd client version %v not implemented yet", version) + } +} + +func GetHighestCompatibleVersion(serverVersions []uint32, clientVersions []uint32) (uint32, error) { + sort.Slice(serverVersions, func(i, j int) bool { return serverVersions[i] > serverVersions[j] }) + for _, s := range serverVersions { + for _, c := range clientVersions { + if s == c { + return s, nil + } + + } + } + return 0, fmt.Errorf("no compatible version found, server: %v, client: %v", serverVersions, clientVersions) +} + +func newV1Client(client cmdproto.CmdClient, conn *grpc.ClientConn) LauncherClient { + return &VirtLauncherClient{ + v1client: client, + conn: conn, + } +} + +type VirtLauncherClient struct { + v1client cmdproto.CmdClient + conn *grpc.ClientConn +} + +func (v VirtLauncherClient) GetDomain() (*api.Domain, bool, error) { + domain := &api.Domain{} + exists := false + + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + domainResponse, err := v.v1client.GetDomain(ctx, request) + var response *cmdproto.Response + if domainResponse != nil { + response = domainResponse.Response + } + + if err = handleError(err, "GetDomain", response); err != nil || domainResponse == nil { + return nil, false, err + } + + if domainResponse.Domain != "" { + if err := json.Unmarshal([]byte(domainResponse.Domain), &domain); err != nil { + return nil, false, err + } + exists = true + } + return domain, exists, nil +} + +func (v VirtLauncherClient) GetDomainStats() (*api.DomainStats, bool, error) { + stats := &api.DomainStats{} + exists := false + + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + domainStatsResponse, err := v.v1client.GetDomainStats(ctx, request) + var response *cmdproto.Response + if domainStatsResponse != nil { + response = domainStatsResponse.Response + } + + if err = handleError(err, "GetDomainStats", response); err != nil || domainStatsResponse == nil { + return nil, false, err + } + + if domainStatsResponse.DomainStats != "" { + if err := json.Unmarshal([]byte(domainStatsResponse.DomainStats), stats); err != nil { + return nil, false, err + } + exists = true + } + return stats, exists, nil +} + +func (v VirtLauncherClient) GetGuestInfo() (*v1.VirtualMachineInstanceGuestAgentInfo, error) { + guestInfo := &v1.VirtualMachineInstanceGuestAgentInfo{} + + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + gaRespose, err := v.v1client.GetGuestInfo(ctx, request) + var response *cmdproto.Response + if gaRespose != nil { + response = gaRespose.Response + } + + if err = handleError(err, "GetGuestInfo", response); err != nil || gaRespose == nil { + return guestInfo, err + } + + if gaRespose.GuestInfoResponse != "" { + if err := json.Unmarshal([]byte(gaRespose.GetGuestInfoResponse()), guestInfo); err != nil { + return guestInfo, err + } + } + return guestInfo, nil +} + +func (v VirtLauncherClient) GetUsers() (v1.VirtualMachineInstanceGuestOSUserList, error) { + var userList []v1.VirtualMachineInstanceGuestOSUser + + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + uResponse, err := v.v1client.GetUsers(ctx, request) + var response *cmdproto.Response + if uResponse != nil { + response = uResponse.Response + } + + if err = handleError(err, "GetUsers", response); err != nil || uResponse == nil { + return v1.VirtualMachineInstanceGuestOSUserList{}, err + } + + if uResponse.GetGuestUserListResponse() != "" { + if err := json.Unmarshal([]byte(uResponse.GetGuestUserListResponse()), &userList); err != nil { + return v1.VirtualMachineInstanceGuestOSUserList{}, err + } + } + + guestUserList := v1.VirtualMachineInstanceGuestOSUserList{ + Items: userList, + } + + return guestUserList, nil +} + +func (v VirtLauncherClient) GetFilesystems() (v1.VirtualMachineInstanceFileSystemList, error) { + var fsList []v1.VirtualMachineInstanceFileSystem + + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + fsResponse, err := v.v1client.GetFilesystems(ctx, request) + var response *cmdproto.Response + if fsResponse != nil { + response = fsResponse.Response + } + + if err = handleError(err, "GetFilesystems", response); err != nil || fsResponse == nil { + return v1.VirtualMachineInstanceFileSystemList{}, err + } + + if fsResponse.GetGuestFilesystemsResponse() != "" { + if err := json.Unmarshal([]byte(fsResponse.GetGuestFilesystemsResponse()), &fsList); err != nil { + return v1.VirtualMachineInstanceFileSystemList{}, err + } + } + + filesystemList := v1.VirtualMachineInstanceFileSystemList{ + Items: fsList, + } + + return filesystemList, nil +} + +func (v VirtLauncherClient) Ping() error { + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + response, err := v.v1client.Ping(ctx, request) + + err = handleError(err, "Ping", response) + return err +} + +func (v VirtLauncherClient) GuestPing(domainName string, timeoutSeconds int32) error { + request := &cmdproto.GuestPingRequest{ + DomainName: domainName, + TimeoutSeconds: timeoutSeconds, + } + ctx, cancel := context.WithTimeout( + context.Background(), + // we give the context a bit more time as the timeout should kick + // on the actual execution + time.Duration(timeoutSeconds)*time.Second+shortTimeout, + ) + defer cancel() + + _, err := v.v1client.GuestPing(ctx, request) + return err +} + +func (v VirtLauncherClient) GetQemuVersion() (string, error) { + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + versionResponse, err := v.v1client.GetQemuVersion(ctx, request) + var response *cmdproto.Response + if versionResponse != nil { + response = versionResponse.Response + } + if err = handleError(err, "GetQemuVersion", response); err != nil { + return "", err + } + + if versionResponse != nil && versionResponse.Version != "" { + return versionResponse.Version, nil + } + + return "", errors.New("error getting the qemu version") +} + +func (v VirtLauncherClient) GetSEVInfo() (*v1.SEVPlatformInfo, error) { + request := &cmdproto.EmptyRequest{} + ctx, cancel := context.WithTimeout(context.Background(), shortTimeout) + defer cancel() + + sevInfoResponse, err := v.v1client.GetSEVInfo(ctx, request) + if err = handleError(err, "GetSEVInfo", sevInfoResponse.GetResponse()); err != nil { + return nil, err + } + + sevPlatformInfo := &v1.SEVPlatformInfo{} + if err := json.Unmarshal(sevInfoResponse.GetSevInfo(), sevPlatformInfo); err != nil { + return nil, err + } + + return sevPlatformInfo, nil +} + +func (v VirtLauncherClient) Close() { + _ = v.conn.Close() +} + +func IsUnimplemented(err error) bool { + if grpcStatus, ok := status.FromError(err); ok { + if grpcStatus.Code() == codes.Unimplemented { + return true + } + } + return false +} +func handleError(err error, cmdName string, response *cmdproto.Response) error { + if IsDisconnected(err) { + return err + } else if IsUnimplemented(err) { + return err + } else if err != nil { + msg := fmt.Sprintf("unknown error encountered sending command %s: %s", cmdName, err.Error()) + return fmt.Errorf(msg) + } else if response != nil && !response.Success { + return fmt.Errorf("server error. command %s failed: %q", cmdName, response.Message) + } + return nil +} + +func IsDisconnected(err error) bool { + if err == nil { + return false + } + + if errors.Is(err, rpc.ErrShutdown) || errors.Is(err, io.ErrUnexpectedEOF) || err == io.EOF { + return true + } + + var opErr *net.OpError + if errors.As(err, &opErr) { + var syscallErr *os.SyscallError + if errors.As(opErr.Err, &syscallErr) { + // catches "connection reset by peer" + if errors.Is(syscallErr.Err, syscall.ECONNRESET) { + return true + } + } + } + + if grpcStatus, ok := status.FromError(err); ok { + + // see https://github.com/grpc/grpc-go/blob/master/codes/codes.go + switch grpcStatus.Code() { + case codes.Canceled: + // e.g. v1client connection closing + return true + } + + } + + return false +} diff --git a/images/virt-launcher/vlctl/pkg/client/grpc.go b/images/virt-launcher/vlctl/pkg/client/grpc.go new file mode 100644 index 0000000000..7251958d22 --- /dev/null +++ b/images/virt-launcher/vlctl/pkg/client/grpc.go @@ -0,0 +1,59 @@ +/* +Copyright The KubeVirt Authors. +Copyright 2025 Flant JSC + +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. + +Initially copied from https://github.com/kubevirt/kubevirt/blob/v1.6.2/pkg/util/net/grpc/grpc.go +*/ + +package client + +import ( + "context" + "net" + "time" + + "google.golang.org/grpc" +) + +const ( + ConnectTimeoutSeconds = 2 +) + +func DialSocket(socketPath string) (*grpc.ClientConn, error) { + return DialSocketWithTimeout(socketPath, 0) +} + +func DialSocketWithTimeout(socketPath string, timeout int) (*grpc.ClientConn, error) { + + options := []grpc.DialOption{ + grpc.WithAuthority("localhost"), + grpc.WithInsecure(), + grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { + return net.DialTimeout("unix", addr, timeout) + }), + grpc.WithBlock(), // dial sync in order to catch errors early + } + + if timeout > 0 { + options = append(options, + grpc.WithTimeout(time.Duration(timeout+ConnectTimeoutSeconds)*time.Second), + ) + } + + ctx, cancel := context.WithTimeout(context.Background(), ConnectTimeoutSeconds*time.Second) + defer cancel() + + return grpc.DialContext(ctx, socketPath, options...) +} diff --git a/images/virt-launcher/vlctl/proto/cmd.proto b/images/virt-launcher/vlctl/proto/cmd.proto new file mode 100644 index 0000000000..73102d8729 --- /dev/null +++ b/images/virt-launcher/vlctl/proto/cmd.proto @@ -0,0 +1,223 @@ +syntax = "proto3"; + +package kubevirt.cmd.v1; +option go_package = "virt-launcher-plug/pkg/api/generated/cmd"; + +service Cmd { + rpc SyncVirtualMachine(VMIRequest) returns (Response) {} + rpc PauseVirtualMachine(VMIRequest) returns (Response) {} + rpc UnpauseVirtualMachine(VMIRequest) returns (Response) {} + rpc FreezeVirtualMachine(FreezeRequest) returns (Response) {} + rpc UnfreezeVirtualMachine(VMIRequest) returns (Response) {} + rpc SoftRebootVirtualMachine(VMIRequest) returns (Response) {} + rpc ShutdownVirtualMachine(VMIRequest) returns (Response) {} + rpc KillVirtualMachine(VMIRequest) returns (Response) {} + rpc DeleteVirtualMachine(VMIRequest) returns (Response) {} + rpc MigrateVirtualMachine(MigrationRequest) returns (Response) {} + rpc SyncMigrationTarget(VMIRequest) returns (Response) {} + rpc CancelVirtualMachineMigration(VMIRequest) returns (Response) {} + rpc SignalTargetPodCleanup(VMIRequest) returns (Response) {} + rpc FinalizeVirtualMachineMigration(VMIRequest) returns (Response) {} + rpc HotplugHostDevices(VMIRequest) returns (Response) {} + rpc GetDomain(EmptyRequest) returns (DomainResponse) {} + rpc GetDomainStats(EmptyRequest) returns (DomainStatsResponse) {} + rpc GetGuestInfo(EmptyRequest) returns (GuestInfoResponse) {} + rpc GetUsers(EmptyRequest) returns (GuestUserListResponse) {} + rpc GetFilesystems(EmptyRequest) returns (GuestFilesystemsResponse) {} + rpc Ping(EmptyRequest) returns (Response) {} + rpc Exec(ExecRequest) returns (ExecResponse) {} + rpc GuestPing(GuestPingRequest) returns (GuestPingResponse) {} + rpc VirtualMachineMemoryDump(MemoryDumpRequest) returns (Response) {} + rpc GetQemuVersion(EmptyRequest) returns (QemuVersionResponse){} + rpc SyncVirtualMachineCPUs(VMIRequest) returns (Response) {} + rpc SyncVirtualMachineMemory(VMIRequest) returns (Response) {} + rpc GetSEVInfo(EmptyRequest) returns (SEVInfoResponse) {} + rpc GetLaunchMeasurement(VMIRequest) returns (LaunchMeasurementResponse) {} + rpc InjectLaunchSecret(InjectLaunchSecretRequest) returns (Response) {} + rpc GetAppliedVMIChecksum(EmptyRequest) returns (VMIChecksumResponse) {} + rpc MigrationProxy(MigrationProxyRequest) returns (Response); +} + +message QemuVersionResponse { + Response response = 1; + string version = 2; +} + +message VMI { + bytes vmiJson = 1; +} + +message CPU { + uint32 id = 1; + repeated uint32 siblings = 2; +} + +message Sibling { + uint32 id = 1; + uint64 value = 2; +} + +message Pages { + uint64 count = 1; + string unit = 2; + uint32 size = 3; +} + +message Memory { + uint64 amount = 1; + string unit = 2; +} + +message Cell { + uint32 id = 1; + Memory memory = 2; + repeated Pages pages = 3; + repeated Sibling distances = 4; + repeated CPU cpus = 5; +} + +message Topology { + repeated Cell numa_cells = 1; +} + +message SMBios { + string manufacturer = 1; + string product = 2; + string version = 3; + string sku = 4; + string family = 5; +} + +message DiskInfo { + string format = 1; + string backingFile = 2; + uint64 actualSize = 3; + uint64 virtualSize = 4; +} + +message ClusterConfig{ + bool ExpandDisksEnabled = 1; + bool FreePageReportingDisabled = 2; + bool BochsDisplayForEFIGuests = 3; + bool SerialConsoleLogDisabled = 4; +} + +message InterfaceBindingMigration{ + string Method = 1; +} + +message VirtualMachineOptions { + SMBios VirtualMachineSMBios = 1; + uint32 MemBalloonStatsPeriod = 2; + repeated string PreallocatedVolumes = 3; + Topology topology = 4; + map DisksInfo = 5; + // Deprecated, use clusterConfig.ExpandDisksEnabled + bool ExpandDisksEnabled = 6; + ClusterConfig clusterConfig = 7; + map interfaceDomainAttachment = 8; + map interfaceMigration = 9; +} + +message VMIRequest { + VMI vmi = 1; + VirtualMachineOptions options = 2; +} + +message MigrationRequest { + VMI vmi = 1; + bytes options = 2; +} + +message ExecRequest { + string domainName = 1; + string Command = 2; + repeated string Args = 3; + int32 timeoutSeconds = 4; +} + +message EmptyRequest {} + +message Response { + bool success = 1; + string message = 2; +} + +message DomainResponse { + Response response = 1; + string domain = 2; +} + +message DomainStatsResponse { + Response response = 1; + string domainStats = 2; +} + +message GuestInfoResponse { + Response response = 1; + string guestInfoResponse = 2; +} + +message GuestUserListResponse { + Response response = 1; + string guestUserListResponse = 2; +} + +message GuestFilesystemsResponse { + Response response = 1; + string guestFilesystemsResponse = 2; +} + +message ExecResponse { + Response response = 1; + int32 exitCode = 2; + string stdOut = 3; +} + +message GuestPingRequest { + string domainName = 1; + int32 timeoutSeconds = 2; +} + +message GuestPingResponse { + Response response = 1; +} + +message FreezeRequest { + VMI vmi = 1; + int32 unfreezeTimeoutSeconds = 2; +} + +message MemoryDumpRequest { + VMI vmi = 1; + string dumpPath = 2; +} + +message SEVInfoResponse { + Response response = 1; + bytes sevInfo = 2; +} + +message LaunchMeasurementResponse { + Response response = 1; + bytes launchMeasurement = 2; +} + +message InjectLaunchSecretRequest { + VMI vmi = 1; + bytes options = 2; +} + +message VMIChecksumResponse { + Response response = 1; + string checksum = 2; +} + +enum MigrationProxyAction { + START = 0; + STOP = 1; +} + +message MigrationProxyRequest { + MigrationProxyAction action = 1; +} diff --git a/images/virt-launcher/vlctl/proto/info.proto b/images/virt-launcher/vlctl/proto/info.proto new file mode 100644 index 0000000000..b99390ef3f --- /dev/null +++ b/images/virt-launcher/vlctl/proto/info.proto @@ -0,0 +1,14 @@ +syntax = "proto3"; + +package kubevirt.cmd.info; +option go_package = "virt-launcher-plug/pkg/api/generated/info"; + +service CmdInfo { + rpc Info (CmdInfoRequest) returns (CmdInfoResponse) {} +} + +message CmdInfoRequest {} + +message CmdInfoResponse { + repeated uint32 supportedCmdVersions = 1; +} diff --git a/images/virtualization-artifact/go.mod b/images/virtualization-artifact/go.mod index d99893ce14..e2a681171d 100644 --- a/images/virtualization-artifact/go.mod +++ b/images/virtualization-artifact/go.mod @@ -51,7 +51,7 @@ require ( go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.3 // indirect - golang.org/x/mod v0.24.0 // indirect + golang.org/x/mod v0.29.0 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect @@ -120,16 +120,16 @@ require ( go.opentelemetry.io/otel/trace v1.33.0 // indirect go.opentelemetry.io/proto/otlp v1.4.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.38.0 // indirect + golang.org/x/crypto v0.45.0 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.14.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/sync v0.18.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.38.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect @@ -159,7 +159,7 @@ replace ( // CVE Replaces replace ( - golang.org/x/crypto => golang.org/x/crypto v0.38.0 // CVE-2024-45337,CVE-2025-22869 + golang.org/x/crypto => golang.org/x/crypto v0.45.0 // CVE-2024-45337,CVE-2025-22869 golang.org/x/net => golang.org/x/net v0.40.0 // CVE-2025-22870, CVE-2025-22872 golang.org/x/oauth2 => golang.org/x/oauth2 v0.27.0 // CVE-2025-22868 ) diff --git a/images/virtualization-artifact/go.sum b/images/virtualization-artifact/go.sum index ca3749b832..6394c47d80 100644 --- a/images/virtualization-artifact/go.sum +++ b/images/virtualization-artifact/go.sum @@ -389,8 +389,8 @@ go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= go.yaml.in/yaml/v3 v3.0.3 h1:bXOww4E/J3f66rav3pX3m8w6jDE4knZjGOw8b5Y6iNE= go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= @@ -416,8 +416,12 @@ golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= +golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= @@ -437,8 +441,12 @@ golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -482,12 +490,22 @@ golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/telemetry v0.0.0-20250710130107-8d8967aff50b/go.mod h1:4ZwOYna0/zsOKwuR5X/m0QFOJpSZvAxFfkQT+Erd9D4= +golang.org/x/telemetry v0.0.0-20250807160809-1a19826ec488/go.mod h1:fGb/2+tgXXjhjHsTNdVEEMZNWA0quBnfrO+AfoDSAKw= +golang.org/x/telemetry v0.0.0-20250908211612-aef8a434d053/go.mod h1:+nZKN+XVh4LCiA9DV3ywrzN4gumyCnKjau3NGb9SGoE= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -507,8 +525,9 @@ golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -542,8 +561,12 @@ golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/images/vm-route-forge/go.mod b/images/vm-route-forge/go.mod index 57bbcc5dcc..bc930145b6 100644 --- a/images/vm-route-forge/go.mod +++ b/images/vm-route-forge/go.mod @@ -5,13 +5,13 @@ go 1.24.6 tool github.com/cilium/ebpf/cmd/bpf2go require ( - github.com/cilium/cilium v1.15.16 + github.com/cilium/cilium v1.16.17 github.com/cilium/ebpf v0.16.0 github.com/deckhouse/virtualization/api v0.0.0-00010101000000-000000000000 github.com/go-logr/logr v1.4.3 github.com/spf13/cobra v1.9.1 github.com/spf13/pflag v1.0.7 - github.com/vishvananda/netlink v1.2.1-beta.2.0.20240524165444-4d4ba1473f21 + github.com/vishvananda/netlink v1.3.1-0.20241022031324-976bd8de7d81 go.uber.org/zap v1.27.0 golang.org/x/sys v0.34.0 k8s.io/apimachinery v0.33.3 @@ -26,25 +26,25 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect - github.com/cilium/proxy v0.0.0-20231202123106-38b645b854f3 // indirect + github.com/cilium/hive v0.0.0-20240529072208-d997f86e4219 // indirect + github.com/cilium/proxy v0.0.0-20250526114940-b80199397e8a // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/emicklei/go-restful/v3 v3.11.2 // indirect + github.com/emicklei/go-restful/v3 v3.12.0 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect - github.com/go-ole/go-ole v1.2.6 // indirect - github.com/go-openapi/analysis v0.21.4 // indirect - github.com/go-openapi/errors v0.20.4 // indirect + github.com/go-openapi/analysis v0.23.0 // indirect + github.com/go-openapi/errors v0.22.0 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect - github.com/go-openapi/jsonreference v0.20.4 // indirect - github.com/go-openapi/loads v0.21.2 // indirect - github.com/go-openapi/runtime v0.26.2 // indirect - github.com/go-openapi/spec v0.20.11 // indirect - github.com/go-openapi/strfmt v0.21.9 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/loads v0.22.0 // indirect + github.com/go-openapi/runtime v0.28.0 // indirect + github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-openapi/strfmt v0.23.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect - github.com/go-openapi/validate v0.22.3 // indirect + github.com/go-openapi/validate v0.24.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/google/btree v1.1.3 // indirect @@ -52,14 +52,13 @@ require ( github.com/google/go-cmp v0.7.0 // indirect github.com/google/gopacket v1.1.19 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect + github.com/hashicorp/hcl v1.0.1-vault-5 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect - github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/mackerelio/go-osstat v0.2.5 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -70,11 +69,10 @@ require ( github.com/openshift/api v0.0.0-20230503133300-8bbcb7ca7183 // indirect github.com/openshift/custom-resource-status v1.1.2 // indirect github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/prometheus/client_golang v1.22.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect @@ -82,38 +80,34 @@ require ( github.com/rogpeppe/go-internal v1.13.1 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect - github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/shirou/gopsutil/v3 v3.23.5 // indirect + github.com/sasha-s/go-deadlock v0.3.5 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/viper v1.18.1 // indirect + github.com/spf13/viper v1.19.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tklauser/go-sysconf v0.3.11 // indirect - github.com/tklauser/numcpus v0.6.0 // indirect github.com/vishvananda/netns v0.0.4 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/yusufpapurcu/wmi v1.2.3 // indirect - go.mongodb.org/mongo-driver v1.13.1 // indirect + go.mongodb.org/mongo-driver v1.14.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel v1.33.0 // indirect - go.opentelemetry.io/otel/metric v1.33.0 // indirect - go.opentelemetry.io/otel/trace v1.33.0 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect go.uber.org/dig v1.17.1 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.3 // indirect go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/net v0.39.0 // indirect - golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.14.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect - golang.org/x/time v0.9.0 // indirect + golang.org/x/net v0.42.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/term v0.33.0 // indirect + golang.org/x/text v0.27.0 // indirect + golang.org/x/time v0.12.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect - google.golang.org/protobuf v1.36.5 // indirect + google.golang.org/protobuf v1.36.6 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect @@ -128,7 +122,7 @@ require ( kubevirt.io/controller-lifecycle-operator-sdk/api v0.0.0-20220329064328-f3cc58c6ed90 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/images/vm-route-forge/go.sum b/images/vm-route-forge/go.sum index 65cc2e5874..b0ec361037 100644 --- a/images/vm-route-forge/go.sum +++ b/images/vm-route-forge/go.sum @@ -1,3 +1,5 @@ +cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= +cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= @@ -6,7 +8,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -14,8 +15,6 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= @@ -27,17 +26,17 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cilium/checkmate v1.0.3 h1:CQC5eOmlAZeEjPrVZY3ZwEBH64lHlx9mXYdUehEwI5w= -github.com/cilium/checkmate v1.0.3/go.mod h1:KiBTasf39/F2hf2yAmHw21YFl3hcEyP4Yk6filxc12A= -github.com/cilium/cilium v1.15.16 h1:m27kbvRA0ynOQlm1ay+a+lNVgLCTUW5Inky9WoA3wBM= -github.com/cilium/cilium v1.15.16/go.mod h1:UuiAb8fmxV/lix5cGRgiJJ7hvhRfcdF48QreqG0xTB4= +github.com/cilium/cilium v1.16.17 h1:5DUFyl/DhCEhWGdMQjw0eA9FlI8dBFpg2ENYJan3Wk0= +github.com/cilium/cilium v1.16.17/go.mod h1:Wa47utg/8XuOe8pq64KwNOM8wDsXoYP3HZ6uw3IYDVg= github.com/cilium/ebpf v0.16.0 h1:+BiEnHL6Z7lXnlGUsXQPPAE7+kenAd4ES8MQ5min0Ok= github.com/cilium/ebpf v0.16.0/go.mod h1:L7u2Blt2jMM/vLAVgjxluxtBKlz3/GWjB0dMOEngfwE= -github.com/cilium/proxy v0.0.0-20231202123106-38b645b854f3 h1:fckMszrvhMot1XdF04NUKzmGw2CBJWGc9BCpFhVPKD8= -github.com/cilium/proxy v0.0.0-20231202123106-38b645b854f3/go.mod h1:cvRtoiPIT40QqsHRR77WyyMSj8prsz0/kaV0s8Q3LIA= +github.com/cilium/hive v0.0.0-20240529072208-d997f86e4219 h1:iX4v9lg63iTv8x8MWUMVbeWqtAGcV6yh/w3Zp9sP3ME= +github.com/cilium/hive v0.0.0-20240529072208-d997f86e4219/go.mod h1:6tW1eCwSq8Wz8IVtpZE0MemoCWSrEOUa8aLKotmBRCo= +github.com/cilium/proxy v0.0.0-20250526114940-b80199397e8a h1:5pJ6eaVk/y1C8cBMpfUWMuHa+qTefq2jqcNf0et0mGk= +github.com/cilium/proxy v0.0.0-20250526114940-b80199397e8a/go.mod h1:Bs5kHQ+FYHLrAkEaTQpbwblJIv6NfU2Tsuo+wCkN+9s= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -49,15 +48,18 @@ github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkg github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful v2.15.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/emicklei/go-restful/v3 v3.11.2 h1:1onLa9DcsMYO9P+CXaL0dStDqQ2EHHXLiz+BtnqkLAU= -github.com/emicklei/go-restful/v3 v3.11.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk= +github.com/emicklei/go-restful/v3 v3.12.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473 h1:4cmBvAEBNJaGARUEs3/suWRyfyBfhf7I60WBZq+bv2w= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane/envoy v1.32.4 h1:jb83lalDRZSpPWW2Z7Mck/8kXZ5CQAFYVjQcdVIr83A= +github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= -github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls= +github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= @@ -82,43 +84,35 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= -github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc= -github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.4 h1:unTcVm6PispJsMECE3zWgvG4xTiKda1LIR5rCRWLG6M= -github.com/go-openapi/errors v0.20.4/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk= +github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU= +github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo= +github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w= +github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU= -github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4= -github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro= -github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw= -github.com/go-openapi/runtime v0.26.2 h1:elWyB9MacRzvIVgAZCBJmqTi7hBzU0hlKD4IvfX0Zl0= -github.com/go-openapi/runtime v0.26.2/go.mod h1:O034jyRZ557uJKzngbMDJXkcKJVzXJiymdSfgejrcRw= -github.com/go-openapi/spec v0.20.6/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/spec v0.20.11 h1:J/TzFDLTt4Rcl/l1PmyErvkqlJDncGvPTMnCI39I4gY= -github.com/go-openapi/spec v0.20.11/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg= -github.com/go-openapi/strfmt v0.21.9 h1:LnEGOO9qyEC1v22Bzr323M98G13paIUGPU7yeJtG9Xs= -github.com/go-openapi/strfmt v0.21.9/go.mod h1:0k3v301mglEaZRJdDDGSlN6Npq4VMVU69DE0LUyf7uA= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco= +github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs= +github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ= +github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc= +github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= +github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= +github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c= +github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/go-openapi/validate v0.22.3 h1:KxG9mu5HBRYbecRb37KRCihvGGtND2aXziBAv0NNfyI= -github.com/go-openapi/validate v0.22.3/go.mod h1:kVxh31KbfsxU8ZyoHaDbLBWU5CnMdqBUEtadQ2G4d5M= +github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58= +github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= @@ -147,9 +141,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= -github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= @@ -158,9 +149,7 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -177,16 +166,13 @@ github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwg github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo= github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= -github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl v1.0.1-vault-5 h1:kI3hhbbyzr4dldA8UdTb7ZlVVlI2DACdCfz31RPDgJM= +github.com/hashicorp/hcl v1.0.1-vault-5/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= @@ -203,7 +189,6 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= @@ -218,8 +203,8 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/mackerelio/go-osstat v0.2.5 h1:+MqTbZUhoIt4m8qzkVoXUJg1EuifwlAJSk4Yl2GXh+o= +github.com/mackerelio/go-osstat v0.2.5/go.mod h1:atxwWF+POUZcdtR1wnsUcQxTytoHG4uhl2AKKzrOajY= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -231,8 +216,6 @@ github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/ github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= github.com/mdlayher/socket v0.4.1 h1:eM9y2/jlbs1M615oshPQOHZzj6R6wMT7bX5NPiQvn2U= github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= @@ -242,7 +225,6 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= @@ -307,18 +289,18 @@ github.com/openshift/custom-resource-status v1.1.2/go.mod h1:DB/Mf2oTeiAmVVX1gN+ github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b h1:FfH+VrHHk6Lxt9HdVS0PXzSXFyS2NbZKXv33FYPol0A= github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b/go.mod h1:AC62GU6hc0BrNm+9RK9VSiwa/EUe1bkIeFORAMcHvJU= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= -github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7 h1:Dx7Ovyv/SFnMFw3fD4oEoeorXc6saIiQ23LrGLth0Gw= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -337,12 +319,8 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= -github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/shirou/gopsutil/v3 v3.23.5 h1:5SgDCeQ0KW0S4N0znjeM/eFHXXOKyv2dVNgRq/c9P6Y= -github.com/shirou/gopsutil/v3 v3.23.5/go.mod h1:Ng3Maa27Q2KARVJ0SPZF5NdrQSC3XHKP8IIWrHgMeLY= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/sasha-s/go-deadlock v0.3.5 h1:tNCOEEDG6tBqrNDOX35j/7hL5FcFViG6awUGROb2NsU= +github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= @@ -358,8 +336,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.18.1 h1:rmuU42rScKWlhhJDyXZRKJQHXFX02chSVW1IvkPGiVM= -github.com/spf13/viper v1.18.1/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -373,51 +351,35 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= -github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= -github.com/vishvananda/netlink v1.2.1-beta.2.0.20240524165444-4d4ba1473f21 h1:tcHUxOT8j/R+0S+A1j8D2InqguXFNxAiij+8QFOlX7Y= -github.com/vishvananda/netlink v1.2.1-beta.2.0.20240524165444-4d4ba1473f21/go.mod h1:whJevzBpTrid75eZy99s3DqCmy05NfibNaF2Ol5Ox5A= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netlink v1.3.1-0.20241022031324-976bd8de7d81 h1:9fkQcQYvtTr9ayFXuMfDMVuDt4+BYG9FwsGLnrBde0M= +github.com/vishvananda/netlink v1.3.1-0.20241022031324-976bd8de7d81/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= -github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= -github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= -github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= -github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8= -go.mongodb.org/mongo-driver v1.13.1 h1:YIc7HTYsKndGK4RFzJ3covLz1byri52x0IoMB0Pt/vk= -go.mongodb.org/mongo-driver v1.13.1/go.mod h1:wcDf1JBCXy2mOW0bWHwO/IOYqdca1MPCwDtFu/Z9+eo= +go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= +go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= -go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= -go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= -go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= go.opentelemetry.io/otel/sdk v1.33.0 h1:iax7M131HuAm9QkZotNHEfstof92xM+N8sr3uHXc2IM= go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= -go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= -go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.uber.org/dig v1.17.1 h1:Tga8Lz8PcYNsWsyHMZ1Vm0OQOUaJNDyvPImgbAu9YSc= go.uber.org/dig v1.17.1/go.mod h1:Us0rSJiThwCv2GteUN0Q7OKvU7n5J4dxZ9JKUXozFdE= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -434,7 +396,6 @@ go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBs go4.org/netipx v0.0.0-20231129151722-fdeea329fbba/go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -479,21 +440,19 @@ golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -532,14 +491,13 @@ golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXct golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= +golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -552,10 +510,11 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= -golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= -golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= +golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -585,8 +544,8 @@ golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -599,11 +558,11 @@ google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoA google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q= -google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y= +google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= +google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -621,8 +580,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -641,10 +600,8 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -693,8 +650,9 @@ sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HR sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc= sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= +sigs.k8s.io/structured-merge-diff/v4 v4.7.0 h1:qPeWmscJcXP0snki5IYF79Z8xrl8ETFxgMd7wez1XkI= +sigs.k8s.io/structured-merge-diff/v4 v4.7.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= diff --git a/tests/e2e/go.mod b/tests/e2e/go.mod index eee8c15250..7e5e7a6a6b 100644 --- a/tests/e2e/go.mod +++ b/tests/e2e/go.mod @@ -9,7 +9,7 @@ require ( github.com/deckhouse/virtualization/api v0.0.0-20240923080356-bb5809dba578 github.com/onsi/ginkgo/v2 v2.22.0 github.com/onsi/gomega v1.36.1 - golang.org/x/sync v0.14.0 + golang.org/x/sync v0.18.0 gopkg.in/yaml.v3 v3.0.1 k8s.io/api v0.33.3 k8s.io/apimachinery v0.33.3 @@ -62,13 +62,13 @@ require ( github.com/xlab/treeprint v1.2.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.3 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.38.0 // indirect google.golang.org/protobuf v1.36.5 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/tests/e2e/go.sum b/tests/e2e/go.sum index f59519457d..03eeb2c2e3 100644 --- a/tests/e2e/go.sum +++ b/tests/e2e/go.sum @@ -355,8 +355,8 @@ golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= @@ -374,8 +374,8 @@ golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -422,8 +422,8 @@ golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -446,8 +446,8 @@ golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= -golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -465,8 +465,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -497,8 +497,8 @@ golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=