Skip to content
Draft

bump #2174

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,12 @@ tasks:
cmds:
- werf build {{ .target }}

generate:kubevirt-rewrite-rules:
desc: "Generate YAML from kubevirt rewrite rules"
cmds:
- go run ./cmd/generate-rules/ > ../../templates/kubevirt/_rewrite_rules_data.tpl
dir: ./images/kube-api-rewriter

dev:format:yaml:
desc: "Format non-templated YAML files, e.g. CRDs"
cmds:
Expand Down
2 changes: 1 addition & 1 deletion build/components/versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ firmware:
libvirt: v10.9.0
edk2: stable202411
core:
3p-kubevirt: v1.6.2-v12n.21
3p-kubevirt: feat/virt-handler-to-hostnetwork # v1.6.2-v12n.21
3p-containerized-data-importer: v1.60.3-v12n.17
distribution: 2.8.3
package:
Expand Down
41 changes: 41 additions & 0 deletions images/kube-api-rewriter/cmd/generate-rules/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/*
Copyright 2024 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.
*/

package main

import (
"fmt"
"os"

"sigs.k8s.io/yaml"

"github.com/deckhouse/virtualization/kube-api-rewriter/pkg/kubevirt"
)

func main() {
data, err := yaml.Marshal(kubevirt.KubevirtRewriteRules)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to marshal rewrite rules: %v\n", err)
os.Exit(1)
}

fmt.Print("{{- define \"kubevirt.rewrite_rules_data\" -}}\n")
if _, err := os.Stdout.Write(data); err != nil {
fmt.Fprintf(os.Stderr, "failed to write output: %v\n", err)
os.Exit(1)
}
fmt.Print("{{- end -}}\n")
}
11 changes: 11 additions & 0 deletions images/kube-api-rewriter/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,17 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-openapi/jsonpointer v0.21.1 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.1 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/josephburnett/jd v1.9.2 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
Expand All @@ -25,6 +30,7 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.23.0 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.65.0 // indirect
Expand All @@ -43,13 +49,16 @@ require (
golang.org/x/text v0.27.0 // indirect
golang.org/x/time v0.12.0 // 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/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/api v0.33.3 // indirect
k8s.io/apimachinery v0.33.3 // indirect
k8s.io/apiserver v0.33.3 // indirect
k8s.io/client-go v0.33.3 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
sigs.k8s.io/controller-runtime v0.21.0 // indirect
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
Expand All @@ -64,3 +73,5 @@ replace (
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
)

replace github.com/deckhouse/kube-api-rewriter => github.com/yaroslavborbat/kube-api-rewriter v0.0.0-20260402203155-ce012e9b14c8 // feat/auth-rbac-middleware
16 changes: 8 additions & 8 deletions images/kube-api-rewriter/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/deckhouse/kube-api-rewriter v0.1.2 h1:FQiVAbj73Sm5MmTvuA73wFM8mHQkJlq9oDlHLNw2Yy8=
github.com/deckhouse/kube-api-rewriter v0.1.2/go.mod h1:tZFw2byvVh4C0D/RxAAgp2x929yTUv9+sN2zZy59hNE=
github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
Expand All @@ -30,8 +28,8 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
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=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
Expand Down Expand Up @@ -104,6 +102,8 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
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/yaroslavborbat/kube-api-rewriter v0.0.0-20260402203155-ce012e9b14c8 h1:2sMKqgWgX9O80bAfJHmgw81EIBpfw4PxUH1uf6vU/d0=
github.com/yaroslavborbat/kube-api-rewriter v0.0.0-20260402203155-ce012e9b14c8/go.mod h1:6xreNakzKpoQ6btk+tViQ1F3QFRksDR7vHGNysoIymQ=
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.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
Expand Down Expand Up @@ -190,12 +190,14 @@ k8s.io/api v0.33.3 h1:SRd5t//hhkI1buzxb288fy2xvjubstenEKL9K51KBI8=
k8s.io/api v0.33.3/go.mod h1:01Y/iLUjNBM3TAvypct7DIj0M0NIZc+PzAHCIo0CYGE=
k8s.io/apimachinery v0.33.3 h1:4ZSrmNa0c/ZpZJhAgRdcsFcZOw1PQU1bALVQ0B3I5LA=
k8s.io/apimachinery v0.33.3/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
k8s.io/apiserver v0.33.3 h1:Wv0hGc+QFdMJB4ZSiHrCgN3zL3QRatu56+rpccKC3J4=
k8s.io/apiserver v0.33.3/go.mod h1:05632ifFEe6TxwjdAIrwINHWE2hLwyADFk5mBsQa15E=
k8s.io/client-go v0.33.3 h1:M5AfDnKfYmVJif92ngN532gFqakcGi6RvaOF16efrpA=
k8s.io/client-go v0.33.3/go.mod h1:luqKBQggEf3shbxHY4uVENAxrDISLOarxpTKMiUuujg=
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-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA=
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8=
Expand All @@ -207,8 +209,6 @@ 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.7.0 h1:qPeWmscJcXP0snki5IYF79Z8xrl8ETFxgMd7wez1XkI=
sigs.k8s.io/structured-merge-diff/v4 v4.7.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
64 changes: 32 additions & 32 deletions images/kube-api-rewriter/pkg/kubevirt/kubevirt_rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.
package kubevirt

import (
. "github.com/deckhouse/kube-api-rewriter/pkg/rewriter"
"github.com/deckhouse/kube-api-rewriter/pkg/rewriter"
)

const (
Expand All @@ -26,15 +26,15 @@ const (
rootPrefix = "virtualization.deckhouse.io"
)

var KubevirtRewriteRules = &RewriteRules{
var KubevirtRewriteRules = &rewriter.RewriteRules{
KindPrefix: "InternalVirtualization", // VirtualMachine -> InternalVirtualizationVirtualMachine
ResourceTypePrefix: "internalvirtualization", // virtualmachines -> internalvirtualizationvirtualmachines
ShortNamePrefix: "intvirt", // kubectl get intvirtvm
Categories: []string{"intvirt"}, // kubectl get intvirt to see all KubeVirt and CDI resources.
Rules: KubevirtAPIGroupsRules,
Webhooks: KubevirtWebhooks,
Labels: MetadataReplace{
Names: []MetadataReplaceRule{
Labels: rewriter.MetadataReplace{
Names: []rewriter.MetadataReplaceRule{
{Original: "cdi.kubevirt.io", Renamed: "cdi." + internalPrefix},
{Original: "kubevirt.io", Renamed: "kubevirt." + internalPrefix},
{Original: "operator.kubevirt.io", Renamed: "operator.kubevirt." + internalPrefix},
Expand All @@ -60,7 +60,7 @@ var KubevirtRewriteRules = &RewriteRules{
Renamed: "app.kubernetes.io/managed-by", RenamedValue: "kubevirt-operator-internal-virtualization",
},
},
Prefixes: []MetadataReplaceRule{
Prefixes: []rewriter.MetadataReplaceRule{
// CDI related labels.
{Original: "cdi.kubevirt.io", Renamed: "cdi." + internalPrefix},
{Original: "operator.cdi.kubevirt.io", Renamed: "operator.cdi." + internalPrefix},
Expand All @@ -85,8 +85,8 @@ var KubevirtRewriteRules = &RewriteRules{
{Original: "machine-type.node.kubevirt.io", Renamed: "machine-type." + nodePrefix},
},
},
Annotations: MetadataReplace{
Prefixes: []MetadataReplaceRule{
Annotations: rewriter.MetadataReplace{
Prefixes: []rewriter.MetadataReplaceRule{
// CDI related annotations.
{Original: "cdi.kubevirt.io", Renamed: "cdi." + internalPrefix},
{Original: "operator.cdi.kubevirt.io", Renamed: "operator.cdi." + internalPrefix},
Expand All @@ -95,14 +95,14 @@ var KubevirtRewriteRules = &RewriteRules{
{Original: "certificates.kubevirt.io", Renamed: "certificates.kubevirt." + internalPrefix},
},
},
Finalizers: MetadataReplace{
Prefixes: []MetadataReplaceRule{
Finalizers: rewriter.MetadataReplace{
Prefixes: []rewriter.MetadataReplaceRule{
{Original: "kubevirt.io", Renamed: "kubevirt." + internalPrefix},
{Original: "operator.cdi.kubevirt.io", Renamed: "operator.cdi." + internalPrefix},
},
},
Excludes: []ExcludeRule{
ExcludeRule{
Excludes: []rewriter.ExcludeRule{
rewriter.ExcludeRule{
Kinds: []string{
"PersistentVolumeClaim",
"PersistentVolume",
Expand All @@ -112,7 +112,7 @@ var KubevirtRewriteRules = &RewriteRules{
"app.kubernetes.io/managed-by": "cdi-controller",
},
},
ExcludeRule{
rewriter.ExcludeRule{
Kinds: []string{
"CDI",
},
Expand All @@ -125,15 +125,15 @@ var KubevirtRewriteRules = &RewriteRules{

// TODO create generator in golang to produce below rules from Kubevirt and CDI sources so proxy can work with future versions.

var KubevirtAPIGroupsRules = map[string]APIGroupRule{
var KubevirtAPIGroupsRules = map[string]rewriter.APIGroupRule{
"cdi.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "cdi.kubevirt.io",
Versions: []string{"v1beta1"},
PreferredVersion: "v1beta1",
Renamed: "cdi." + internalPrefix,
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// cdiconfigs.cdi.kubevirt.io
"cdiconfigs": {
Kind: "CDIConfig",
Expand Down Expand Up @@ -247,13 +247,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"forklift.cdi.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "forklift.cdi.kubevirt.io",
Versions: []string{"v1beta1"},
PreferredVersion: "v1beta1",
Renamed: "forklift.cdi." + internalPrefix,
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// openstackvolumepopulators.forklift.cdi.kubevirt.io
"openstackvolumepopulators": {
Kind: "OpenstackVolumePopulator",
Expand All @@ -277,13 +277,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "kubevirt.io",
Versions: []string{"v1", "v1alpha3"},
PreferredVersion: "v1",
Renamed: "internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// kubevirts.kubevirt.io
"kubevirts": {
Kind: "KubeVirt",
Expand Down Expand Up @@ -353,13 +353,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"clone.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "clone.kubevirt.io",
Versions: []string{"v1alpha1"},
PreferredVersion: "v1alpha1",
Renamed: "clone.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// virtualmachineclones.clone.kubevirt.io
"virtualmachineclones": {
Kind: "VirtualMachineClone",
Expand All @@ -374,13 +374,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"export.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "export.kubevirt.io",
Versions: []string{"v1alpha1"},
PreferredVersion: "v1alpha1",
Renamed: "export.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// virtualmachineexports.export.kubevirt.io
"virtualmachineexports": {
Kind: "VirtualMachineExport",
Expand All @@ -395,13 +395,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"instancetype.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "instancetype.kubevirt.io",
Versions: []string{"v1alpha1", "v1alpha2"},
PreferredVersion: "v1alpha2",
Renamed: "instancetype.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// virtualmachineinstancetypes.instancetype.kubevirt.io
"virtualmachineinstancetypes": {
Kind: "VirtualMachineInstancetype",
Expand Down Expand Up @@ -449,13 +449,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"migrations.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "migrations.kubevirt.io",
Versions: []string{"v1alpha1"},
PreferredVersion: "v1alpha1",
Renamed: "migrations.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// migrationpolicies.migrations.kubevirt.io
"migrationpolicies": {
Kind: "MigrationPolicy",
Expand All @@ -470,13 +470,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"pool.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "pool.kubevirt.io",
Versions: []string{"v1alpha1"},
PreferredVersion: "v1alpha1",
Renamed: "pool.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// virtualmachinepools.pool.kubevirt.io
"virtualmachinepools": {
Kind: "VirtualMachinePool",
Expand All @@ -491,13 +491,13 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
},
"snapshot.kubevirt.io": {
GroupRule: GroupRule{
GroupRule: rewriter.GroupRule{
Group: "snapshot.kubevirt.io",
Versions: []string{"v1alpha1"},
PreferredVersion: "v1alpha1",
Renamed: "snapshot.internal.virtualization.deckhouse.io",
},
ResourceRules: map[string]ResourceRule{
ResourceRules: map[string]rewriter.ResourceRule{
// virtualmachinerestores.snapshot.kubevirt.io
"virtualmachinerestores": {
Kind: "VirtualMachineRestore",
Expand Down Expand Up @@ -535,7 +535,7 @@ var KubevirtAPIGroupsRules = map[string]APIGroupRule{
},
}

var KubevirtWebhooks = map[string]WebhookRule{
var KubevirtWebhooks = map[string]rewriter.WebhookRule{
// CDI webhooks.
// Run this in original CDI installation:
// kubectl get validatingwebhookconfiguration,mutatingwebhookconfiguration -l cdi.kubevirt.io -o json | jq '.items[] | .webhooks[] | {"path": .clientConfig.service.path, "group": (.rules[]|.apiGroups|join(",")), "resource": (.rules[]|.resources|join(",")) } | "\""+.path +"\": {\nPath: \"" + .path + "\",\nGroup: \"" + .group + "\",\nResource: \"" + .resource + "\",\n}," ' -r
Expand Down
Loading
Loading