package endpoints
import "k8s.io/kubernetes/staging/src/k8s.io/apiserver/pkg/endpoints"
Package endpoints contains the generic code that provides a RESTful Kubernetes-style API service.
Index ¶
- Constants
- func GetResourceKind(groupVersion schema.GroupVersion, storage rest.Storage, typer runtime.ObjectTyper) (schema.GroupVersionKind, error)
- type APIGroupVersion
- type APIInstaller
- type StorageMetricsOverride
Constants ¶
const ( ROUTE_META_GVK = "x-kubernetes-group-version-kind" ROUTE_META_ACTION = "x-kubernetes-action" )
Functions ¶
func GetResourceKind ¶
func GetResourceKind(groupVersion schema.GroupVersion, storage rest.Storage, typer runtime.ObjectTyper) (schema.GroupVersionKind, error)
GetResourceKind returns the external group version kind registered for the given storage object. If the storage object is a subresource and has an override supplied for it, it returns the group version kind supplied in the override.
Types ¶
type APIGroupVersion ¶
type APIGroupVersion struct { Storage map[string]rest.Storage Root string // GroupVersion is the external group version GroupVersion schema.GroupVersion // OptionsExternalVersion controls the Kubernetes APIVersion used for common objects in the apiserver // schema like api.Status, api.DeleteOptions, and metav1.ListOptions. Other implementors may // define a version "v1beta1" but want to use the Kubernetes "v1" internal objects. If // empty, defaults to GroupVersion. OptionsExternalVersion *schema.GroupVersion // MetaGroupVersion defaults to "meta.k8s.io/v1" and is the scheme group version used to decode // common API implementations like ListOptions. Future changes will allow this to vary by group // version (for when the inevitable meta/v2 group emerges). MetaGroupVersion *schema.GroupVersion // RootScopedKinds are the root scoped kinds for the primary GroupVersion RootScopedKinds sets.String // Serializer is used to determine how to convert responses from API methods into bytes to send over // the wire. Serializer runtime.NegotiatedSerializer ParameterCodec runtime.ParameterCodec Typer runtime.ObjectTyper Creater runtime.ObjectCreater Convertor runtime.ObjectConvertor Defaulter runtime.ObjectDefaulter Linker runtime.SelfLinker UnsafeConvertor runtime.ObjectConvertor // Authorizer determines whether a user is allowed to make a certain request. The Handler does a preliminary // authorization check using the request URI but it may be necessary to make additional checks, such as in // the create-on-update case Authorizer authorizer.Authorizer Admit admission.Interface MinRequestTimeout time.Duration // EnableAPIResponseCompression indicates whether API Responses should support compression // if the client requests it via Accept-Encoding EnableAPIResponseCompression bool // OpenAPIModels exposes the OpenAPI models to each individual handler. OpenAPIModels openapiproto.Models // The limit on the request body size that would be accepted and decoded in a write request. // 0 means no limit. MaxRequestBodyBytes int64 }
APIGroupVersion is a helper for exposing rest.Storage objects as http.Handlers via go-restful It handles URLs of the form: /${storage_key}[/${object_name}] Where 'storage_key' points to a rest.Storage object stored in storage. This object should contain all parameterization necessary for running a particular API version
func (*APIGroupVersion) InstallREST ¶
func (g *APIGroupVersion) InstallREST(container *restful.Container) error
InstallREST registers the REST handlers (storage, watch, proxy and redirect) into a restful Container. It is expected that the provided path root prefix will serve all operations. Root MUST NOT end in a slash.
type APIInstaller ¶
type APIInstaller struct {
// contains filtered or unexported fields
}
func (*APIInstaller) Install ¶
func (a *APIInstaller) Install() ([]metav1.APIResource, *restful.WebService, []error)
Install handlers for API resources.
type StorageMetricsOverride ¶
type StorageMetricsOverride interface { // OverrideMetricsVerb gives a storage object an opportunity to override the verb reported to the metrics endpoint OverrideMetricsVerb(oldVerb string) (newVerb string) }
An interface to see if one storage supports override its default verb for monitoring
Source Files ¶
doc.go groupversion.go installer.go
Directories ¶
Path | Synopsis |
---|---|
staging/src/k8s.io/apiserver/pkg/endpoints/discovery | |
staging/src/k8s.io/apiserver/pkg/endpoints/filters | Package filters contains all the http handler chain filters which _are_ api related, i.e. |
staging/src/k8s.io/apiserver/pkg/endpoints/handlers | Package handlers contains HTTP handlers to implement the apiserver APIs. |
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/negotiation | Package negotiation contains media type negotiation logic. |
staging/src/k8s.io/apiserver/pkg/endpoints/handlers/responsewriters | Package responsewriters containers helpers to write responses in HTTP handlers. |
staging/src/k8s.io/apiserver/pkg/endpoints/metrics | |
staging/src/k8s.io/apiserver/pkg/endpoints/openapi | |
staging/src/k8s.io/apiserver/pkg/endpoints/openapi/testing | |
staging/src/k8s.io/apiserver/pkg/endpoints/request | Package request contains everything around extracting info from a http request object. |
staging/src/k8s.io/apiserver/pkg/endpoints/testing |
- Version
- v1.13.7
- Published
- Jun 4, 2019
- Platform
- linux/amd64
- Imports
- 25 packages
- Last checked
- 1 minute ago –
Tools for package owners.