mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
replace global registry in apimachinery with global registry in k8s.io/kubernetes
This commit is contained in:
parent
1854d48238
commit
05eb75612f
@ -70,7 +70,6 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
|
|||||||
// imports for the code in commonTemplate
|
// imports for the code in commonTemplate
|
||||||
imports = append(imports,
|
imports = append(imports,
|
||||||
"k8s.io/kubernetes/pkg/api",
|
"k8s.io/kubernetes/pkg/api",
|
||||||
"k8s.io/apimachinery/pkg/apimachinery/registered",
|
|
||||||
"k8s.io/kubernetes/pkg/client/testing/core",
|
"k8s.io/kubernetes/pkg/client/testing/core",
|
||||||
"k8s.io/kubernetes/pkg/client/typed/discovery",
|
"k8s.io/kubernetes/pkg/client/typed/discovery",
|
||||||
"fakediscovery \"k8s.io/kubernetes/pkg/client/typed/discovery/fake\"",
|
"fakediscovery \"k8s.io/kubernetes/pkg/client/typed/discovery/fake\"",
|
||||||
@ -118,7 +117,7 @@ func NewSimpleClientset(objects ...runtime.Object) *Clientset {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fakePtr := core.Fake{}
|
fakePtr := core.Fake{}
|
||||||
fakePtr.AddReactor("*", "*", core.ObjectReaction(o, registered.RESTMapper()))
|
fakePtr.AddReactor("*", "*", core.ObjectReaction(o, api.Registry.RESTMapper()))
|
||||||
|
|
||||||
fakePtr.AddWatchReactor("*", core.DefaultWatchReactor(watch.NewFake(), nil))
|
fakePtr.AddWatchReactor("*", core.DefaultWatchReactor(watch.NewFake(), nil))
|
||||||
|
|
||||||
|
@ -58,7 +58,6 @@ func (g *genGroup) Imports(c *generator.Context) (imports []string) {
|
|||||||
func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
|
func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
|
||||||
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
sw := generator.NewSnippetWriter(w, c, "$", "$")
|
||||||
const pkgRESTClient = "k8s.io/kubernetes/pkg/client/restclient"
|
const pkgRESTClient = "k8s.io/kubernetes/pkg/client/restclient"
|
||||||
const pkgRegistered = "k8s.io/apimachinery/pkg/apimachinery/registered"
|
|
||||||
const pkgAPI = "k8s.io/kubernetes/pkg/api"
|
const pkgAPI = "k8s.io/kubernetes/pkg/api"
|
||||||
const pkgSerializer = "k8s.io/apimachinery/pkg/runtime/serializer"
|
const pkgSerializer = "k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
const pkgUnversioned = "k8s.io/kubernetes/pkg/api/unversioned"
|
const pkgUnversioned = "k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
@ -94,11 +93,9 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
|
|||||||
"DefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "DefaultKubernetesUserAgent"}),
|
"DefaultKubernetesUserAgent": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "DefaultKubernetesUserAgent"}),
|
||||||
"RESTClientInterface": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Interface"}),
|
"RESTClientInterface": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Interface"}),
|
||||||
"RESTClientFor": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "RESTClientFor"}),
|
"RESTClientFor": c.Universe.Function(types.Name{Package: pkgRESTClient, Name: "RESTClientFor"}),
|
||||||
"Group": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "Group"}),
|
|
||||||
"GroupOrDie": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "GroupOrDie"}),
|
|
||||||
"IsEnabledVersion": c.Universe.Variable(types.Name{Package: pkgRegistered, Name: "IsEnabledVersion"}),
|
|
||||||
"ParseGroupVersion": c.Universe.Function(types.Name{Package: pkgSchema, Name: "ParseGroupVersion"}),
|
"ParseGroupVersion": c.Universe.Function(types.Name{Package: pkgSchema, Name: "ParseGroupVersion"}),
|
||||||
"apiPath": apiPath(g.group),
|
"apiPath": apiPath(g.group),
|
||||||
|
"apiRegistry": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Registry"}),
|
||||||
"codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}),
|
"codecs": c.Universe.Variable(types.Name{Package: pkgAPI, Name: "Codecs"}),
|
||||||
"directCodecFactory": c.Universe.Variable(types.Name{Package: pkgSerializer, Name: "DirectCodecFactory"}),
|
"directCodecFactory": c.Universe.Variable(types.Name{Package: pkgSerializer, Name: "DirectCodecFactory"}),
|
||||||
"Errorf": c.Universe.Variable(types.Name{Package: "fmt", Name: "Errorf"}),
|
"Errorf": c.Universe.Variable(types.Name{Package: "fmt", Name: "Errorf"}),
|
||||||
@ -140,7 +137,7 @@ type $.GroupVersion$Interface interface {
|
|||||||
`
|
`
|
||||||
|
|
||||||
var groupClientTemplate = `
|
var groupClientTemplate = `
|
||||||
// $.GroupVersion$Client is used to interact with features provided by the $.Group$ group.
|
// $.GroupVersion$Client is used to interact with features provided by the $.groupName$ group.
|
||||||
type $.GroupVersion$Client struct {
|
type $.GroupVersion$Client struct {
|
||||||
restClient $.RESTClientInterface|raw$
|
restClient $.RESTClientInterface|raw$
|
||||||
}
|
}
|
||||||
@ -205,7 +202,7 @@ func New(c $.RESTClientInterface|raw$) *$.GroupVersion$Client {
|
|||||||
var setInternalVersionClientDefaultsTemplate = `
|
var setInternalVersionClientDefaultsTemplate = `
|
||||||
func setConfigDefaults(config *$.Config|raw$) error {
|
func setConfigDefaults(config *$.Config|raw$) error {
|
||||||
// if $.group$ group is not registered, return an error
|
// if $.group$ group is not registered, return an error
|
||||||
g, err := $.Group|raw$("$.groupName$")
|
g, err := $.apiRegistry|raw$.Group("$.groupName$")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -236,7 +233,7 @@ func setConfigDefaults(config *$.Config|raw$) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
// if $.groupName$/$.version$ is not enabled, return an error
|
// if $.groupName$/$.version$ is not enabled, return an error
|
||||||
if ! $.IsEnabledVersion|raw$(gv) {
|
if ! $.apiRegistry|raw$.IsEnabledVersion(gv) {
|
||||||
return $.Errorf|raw$("$.groupName$/$.version$ is not enabled")
|
return $.Errorf|raw$("$.groupName$/$.version$ is not enabled")
|
||||||
}
|
}
|
||||||
config.APIPath = $.apiPath$
|
config.APIPath = $.apiPath$
|
||||||
|
@ -17,13 +17,20 @@ limitations under the License.
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/apimachinery/registered"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
|
// Registry is an instance of an API registry. This is an interim step to start removing the idea of a global
|
||||||
|
// API registry.
|
||||||
|
var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
|
||||||
|
|
||||||
|
// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already api.Registry.
|
||||||
// NOTE: If you are copying this file to start a new api group, STOP! Copy the
|
// NOTE: If you are copying this file to start a new api group, STOP! Copy the
|
||||||
// extensions group instead. This Scheme is special and should appear ONLY in
|
// extensions group instead. This Scheme is special and should appear ONLY in
|
||||||
// the api group, unless you really know what you're doing.
|
// the api group, unless you really know what you're doing.
|
||||||
@ -65,7 +72,7 @@ func init() {
|
|||||||
// TODO(lavalamp): move this call to scheme builder above. Can't
|
// TODO(lavalamp): move this call to scheme builder above. Can't
|
||||||
// remove it from here because lots of people inappropriately rely on it
|
// remove it from here because lots of people inappropriately rely on it
|
||||||
// (specifically the unversioned time conversion). Can't have it in
|
// (specifically the unversioned time conversion). Can't have it in
|
||||||
// both places because then it gets double registered. Consequence of
|
// both places because then it gets double api.Registry. Consequence of
|
||||||
// current state is that it only ever gets registered in the main
|
// current state is that it only ever gets registered in the main
|
||||||
// api.Scheme, even though everyone that uses anything from unversioned
|
// api.Scheme, even though everyone that uses anything from unversioned
|
||||||
// needs these.
|
// needs these.
|
||||||
|
@ -19,7 +19,6 @@ package registered
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@ -31,10 +30,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
|
||||||
DefaultAPIRegistrationManager = NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
|
|
||||||
)
|
|
||||||
|
|
||||||
// APIRegistrationManager provides the concept of what API groups are enabled.
|
// APIRegistrationManager provides the concept of what API groups are enabled.
|
||||||
//
|
//
|
||||||
// TODO: currently, it also provides a "registered" concept. But it's wrong to
|
// TODO: currently, it also provides a "registered" concept. But it's wrong to
|
||||||
@ -99,28 +94,6 @@ func NewOrDie(kubeAPIVersions string) *APIRegistrationManager {
|
|||||||
return m
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
// People are calling global functions. Let them continue to do that (for now).
|
|
||||||
var (
|
|
||||||
ValidateEnvRequestedVersions = DefaultAPIRegistrationManager.ValidateEnvRequestedVersions
|
|
||||||
AllPreferredGroupVersions = DefaultAPIRegistrationManager.AllPreferredGroupVersions
|
|
||||||
RESTMapper = DefaultAPIRegistrationManager.RESTMapper
|
|
||||||
GroupOrDie = DefaultAPIRegistrationManager.GroupOrDie
|
|
||||||
AddThirdPartyAPIGroupVersions = DefaultAPIRegistrationManager.AddThirdPartyAPIGroupVersions
|
|
||||||
IsThirdPartyAPIGroupVersion = DefaultAPIRegistrationManager.IsThirdPartyAPIGroupVersion
|
|
||||||
RegisteredGroupVersions = DefaultAPIRegistrationManager.RegisteredGroupVersions
|
|
||||||
IsRegisteredVersion = DefaultAPIRegistrationManager.IsRegisteredVersion
|
|
||||||
IsRegistered = DefaultAPIRegistrationManager.IsRegistered
|
|
||||||
Group = DefaultAPIRegistrationManager.Group
|
|
||||||
EnabledVersionsForGroup = DefaultAPIRegistrationManager.EnabledVersionsForGroup
|
|
||||||
EnabledVersions = DefaultAPIRegistrationManager.EnabledVersions
|
|
||||||
IsEnabledVersion = DefaultAPIRegistrationManager.IsEnabledVersion
|
|
||||||
IsAllowedVersion = DefaultAPIRegistrationManager.IsAllowedVersion
|
|
||||||
EnableVersions = DefaultAPIRegistrationManager.EnableVersions
|
|
||||||
RegisterGroup = DefaultAPIRegistrationManager.RegisterGroup
|
|
||||||
RegisterVersions = DefaultAPIRegistrationManager.RegisterVersions
|
|
||||||
InterfacesFor = DefaultAPIRegistrationManager.InterfacesFor
|
|
||||||
)
|
|
||||||
|
|
||||||
// RegisterVersions adds the given group versions to the list of registered group versions.
|
// RegisterVersions adds the given group versions to the list of registered group versions.
|
||||||
func (m *APIRegistrationManager) RegisterVersions(availableVersions []schema.GroupVersion) {
|
func (m *APIRegistrationManager) RegisterVersions(availableVersions []schema.GroupVersion) {
|
||||||
for _, v := range availableVersions {
|
for _, v := range availableVersions {
|
||||||
|
@ -17,12 +17,19 @@ limitations under the License.
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/apimachinery/registered"
|
||||||
metav1 "k8s.io/client-go/pkg/apis/meta/v1"
|
metav1 "k8s.io/client-go/pkg/apis/meta/v1"
|
||||||
"k8s.io/client-go/pkg/runtime"
|
"k8s.io/client-go/pkg/runtime"
|
||||||
"k8s.io/client-go/pkg/runtime/schema"
|
"k8s.io/client-go/pkg/runtime/schema"
|
||||||
"k8s.io/client-go/pkg/runtime/serializer"
|
"k8s.io/client-go/pkg/runtime/serializer"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Registry is an instance of an API registry. This is an interim step to start removing the idea of a global
|
||||||
|
// API registry.
|
||||||
|
var Registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS"))
|
||||||
|
|
||||||
// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
|
// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
|
||||||
// NOTE: If you are copying this file to start a new api group, STOP! Copy the
|
// NOTE: If you are copying this file to start a new api group, STOP! Copy the
|
||||||
// extensions group instead. This Scheme is special and should appear ONLY in
|
// extensions group instead. This Scheme is special and should appear ONLY in
|
||||||
|
Loading…
Reference in New Issue
Block a user