pkg/k8s/backend.go: use apiextensions/v1

This commit is contained in:
leonnicolas
2021-06-02 13:29:23 +02:00
parent e272d725a5
commit 6cfcc4e58d
8 changed files with 41 additions and 33 deletions

View File

@@ -21,7 +21,7 @@ import (
"strings"
"github.com/ghodss/yaml"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
@@ -86,6 +86,7 @@ func (labels *Labels) Set(value string) error {
}
func NewCustomResourceDefinition(config Config) *extensionsobj.CustomResourceDefinition {
schema := GetCustomResourceValidation(config.SpecDefinitionName, config.GetOpenAPIDefinitions)
crd := &extensionsobj.CustomResourceDefinition{
ObjectMeta: metav1.ObjectMeta{
@@ -95,31 +96,33 @@ func NewCustomResourceDefinition(config Config) *extensionsobj.CustomResourceDef
},
TypeMeta: CustomResourceDefinitionTypeMeta,
Spec: extensionsobj.CustomResourceDefinitionSpec{
Group: config.Group,
Version: config.Version,
Scope: extensionsobj.ResourceScope(config.ResourceScope),
Group: config.Group,
Versions: []extensionsobj.CustomResourceDefinitionVersion{
{
Name: config.Version,
Schema: schema,
Subresources: &extensionsobj.CustomResourceSubresources{
Status: &extensionsobj.CustomResourceSubresourceStatus{},
Scale: &extensionsobj.CustomResourceSubresourceScale{
SpecReplicasPath: config.SpecReplicasPath,
StatusReplicasPath: config.StatusReplicasPath,
LabelSelectorPath: &config.LabelSelectorPath,
},
},
Served: true,
Storage: true,
},
},
Scope: extensionsobj.ResourceScope(config.ResourceScope),
Names: extensionsobj.CustomResourceDefinitionNames{
Plural: config.Plural,
Kind: config.Kind,
Categories: config.Categories,
ShortNames: config.ShortNames,
},
Subresources: &extensionsobj.CustomResourceSubresources{
Status: &extensionsobj.CustomResourceSubresourceStatus {
},
Scale: &extensionsobj.CustomResourceSubresourceScale {
SpecReplicasPath: config.SpecReplicasPath,
StatusReplicasPath: config.StatusReplicasPath,
LabelSelectorPath: &config.LabelSelectorPath,
},
},
},
}
if config.SpecDefinitionName != "" && config.EnableValidation == true {
crd.Spec.Validation = GetCustomResourceValidation(config.SpecDefinitionName, config.GetOpenAPIDefinitions)
}
return crd
}

View File

@@ -2,8 +2,9 @@ package crdvalidation
import (
"fmt"
spec "github.com/go-openapi/spec"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
common "k8s.io/kube-openapi/pkg/common"
)

View File

@@ -2,7 +2,7 @@ package crdvalidation
import (
spec "github.com/go-openapi/spec"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
extensionsobj "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
common "k8s.io/kube-openapi/pkg/common"
)
@@ -10,7 +10,7 @@ import (
// CustomResourceDefinitionTypeMeta set the default kind/apiversion of CRD
var CustomResourceDefinitionTypeMeta = metav1.TypeMeta{
Kind: "CustomResourceDefinition",
APIVersion: "apiextensions.k8s.io/v1beta1",
APIVersion: "apiextensions.k8s.io/v1",
}
// OpenAPIRefCallBack returns a jsonref using the input string without modification
@@ -69,4 +69,3 @@ func fixKnownTypes(openapiSpec map[string]common.OpenAPIDefinition) {
},
}
}

6
vendor/modules.txt vendored
View File

@@ -2,9 +2,6 @@
github.com/PuerkitoBio/purell
# github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578
github.com/PuerkitoBio/urlesc
# github.com/ant31/crd-validation v0.0.0-20180801212718-38f6a293f140
## explicit
github.com/ant31/crd-validation/pkg
# github.com/awalterschulze/gographviz v0.0.0-20181013152038-b2885df04310
## explicit
github.com/awalterschulze/gographviz
@@ -104,6 +101,9 @@ github.com/kr/logfmt
## explicit
github.com/kylelemons/godebug/diff
github.com/kylelemons/godebug/pretty
# github.com/leonnicolas/crd-validation v0.0.0-20210602093346-4236c21fcd92
## explicit
github.com/leonnicolas/crd-validation/pkg
# github.com/mailru/easyjson v0.7.0
github.com/mailru/easyjson/buffer
github.com/mailru/easyjson/jlexer