mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-13 05:02:50 +00:00
Move REST* interfaces into pkg/api/rest
Dependency chain is now api -> api/rest -> apiserver. Makes the interfaces much cleaner to read, and cleans up some inconsistenties that crept in along the way.
This commit is contained in:
@@ -31,6 +31,7 @@ import (
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/admission"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/latest"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta1"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta2"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3"
|
||||
@@ -151,7 +152,7 @@ type Master struct {
|
||||
masterServices *util.Runner
|
||||
|
||||
// storage contains the RESTful endpoints exposed by this master
|
||||
storage map[string]apiserver.RESTStorage
|
||||
storage map[string]rest.Storage
|
||||
|
||||
// registries are internal client APIs for accessing the storage layer
|
||||
// TODO: define the internal typed interface in a way that clients can
|
||||
@@ -384,7 +385,7 @@ func (m *Master) init(c *Config) {
|
||||
}
|
||||
|
||||
// TODO: Factor out the core API registration
|
||||
m.storage = map[string]apiserver.RESTStorage{
|
||||
m.storage = map[string]rest.Storage{
|
||||
"pods": podStorage,
|
||||
"pods/status": podStatusStorage,
|
||||
"pods/binding": bindingStorage,
|
||||
@@ -576,7 +577,7 @@ func (m *Master) defaultAPIGroupVersion() *apiserver.APIGroupVersion {
|
||||
|
||||
// api_v1beta1 returns the resources and codec for API version v1beta1.
|
||||
func (m *Master) api_v1beta1() *apiserver.APIGroupVersion {
|
||||
storage := make(map[string]apiserver.RESTStorage)
|
||||
storage := make(map[string]rest.Storage)
|
||||
for k, v := range m.storage {
|
||||
storage[k] = v
|
||||
}
|
||||
@@ -589,7 +590,7 @@ func (m *Master) api_v1beta1() *apiserver.APIGroupVersion {
|
||||
|
||||
// api_v1beta2 returns the resources and codec for API version v1beta2.
|
||||
func (m *Master) api_v1beta2() *apiserver.APIGroupVersion {
|
||||
storage := make(map[string]apiserver.RESTStorage)
|
||||
storage := make(map[string]rest.Storage)
|
||||
for k, v := range m.storage {
|
||||
storage[k] = v
|
||||
}
|
||||
@@ -602,7 +603,7 @@ func (m *Master) api_v1beta2() *apiserver.APIGroupVersion {
|
||||
|
||||
// api_v1beta3 returns the resources and codec for API version v1beta3.
|
||||
func (m *Master) api_v1beta3() *apiserver.APIGroupVersion {
|
||||
storage := make(map[string]apiserver.RESTStorage)
|
||||
storage := make(map[string]rest.Storage)
|
||||
for k, v := range m.storage {
|
||||
if k == "minions" {
|
||||
continue
|
||||
|
@@ -22,7 +22,7 @@ import (
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest"
|
||||
|
||||
"github.com/golang/glog"
|
||||
)
|
||||
@@ -91,7 +91,7 @@ func (m *Master) createMasterNamespaceIfNeeded(ns string) error {
|
||||
Namespace: "",
|
||||
},
|
||||
}
|
||||
_, err := m.storage["namespaces"].(apiserver.RESTCreater).Create(ctx, namespace)
|
||||
_, err := m.storage["namespaces"].(rest.Creater).Create(ctx, namespace)
|
||||
if err != nil && errors.IsAlreadyExists(err) {
|
||||
err = nil
|
||||
}
|
||||
@@ -121,7 +121,7 @@ func (m *Master) createMasterServiceIfNeeded(serviceName string, serviceIP net.I
|
||||
SessionAffinity: api.AffinityTypeNone,
|
||||
},
|
||||
}
|
||||
_, err := m.storage["services"].(apiserver.RESTCreater).Create(ctx, svc)
|
||||
_, err := m.storage["services"].(rest.Creater).Create(ctx, svc)
|
||||
if err != nil && errors.IsAlreadyExists(err) {
|
||||
err = nil
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ import (
|
||||
"errors"
|
||||
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/fields"
|
||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/labels"
|
||||
@@ -38,12 +38,12 @@ import (
|
||||
//
|
||||
// TODO: this also means that pod and node API endpoints have to be colocated in the same
|
||||
// process
|
||||
func RESTStorageToNodes(storage apiserver.RESTStorage) client.NodesInterface {
|
||||
func RESTStorageToNodes(storage rest.Storage) client.NodesInterface {
|
||||
return &nodeAdaptor{storage}
|
||||
}
|
||||
|
||||
type nodeAdaptor struct {
|
||||
storage apiserver.RESTStorage
|
||||
storage rest.Storage
|
||||
}
|
||||
|
||||
func (n *nodeAdaptor) Nodes() client.NodeInterface {
|
||||
@@ -66,7 +66,7 @@ func (n *nodeAdaptor) Create(minion *api.Node) (*api.Node, error) {
|
||||
// List lists all the nodes in the cluster.
|
||||
func (n *nodeAdaptor) List() (*api.NodeList, error) {
|
||||
ctx := api.NewContext()
|
||||
obj, err := n.storage.(apiserver.RESTLister).List(ctx, labels.Everything(), fields.Everything())
|
||||
obj, err := n.storage.(rest.Lister).List(ctx, labels.Everything(), fields.Everything())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -76,7 +76,7 @@ func (n *nodeAdaptor) List() (*api.NodeList, error) {
|
||||
// Get gets an existing node.
|
||||
func (n *nodeAdaptor) Get(name string) (*api.Node, error) {
|
||||
ctx := api.NewContext()
|
||||
obj, err := n.storage.(apiserver.RESTGetter).Get(ctx, name)
|
||||
obj, err := n.storage.(rest.Getter).Get(ctx, name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user