apiserver

module
v0.0.0-...-0c42e4c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2017 License: Apache-2.0

README

apiserver

Generic library for building a Kubernetes aggregated API server.

Purpose

This library contains code to create Kubernetes aggregation server complete with delegated authentication and authorization, kubectl compatible discovery information, optional admission chain, and versioned types. It's first consumers are k8s.io/kubernetes, k8s.io/kube-aggregator, and github.com/kubernetes-incubator/service-catalog.

Compatibility

There are NO compatibility guarantees for this repository, yet. It is in direct support of Kubernetes, so branches will track Kubernetes and be compatible with that repo. As we more cleanly separate the layers, we will review the compatibility guarantee. We have a goal to make this easier to use in 2017.

Where does it come from?

apiserver is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apiserver. Code changes are made in that location, merged into k8s.io/kubernetes and later synced here.

Things you should NOT do

  1. Directly modify any files under pkg in this repo. Those are driven from k8s.io/kuberenetes/staging/src/k8s.io/apiserver.
  2. Expect compatibility. This repo is changing quickly in direct support of Kubernetes and the API isn't yet stable enough for API guarantees.

Directories

Path Synopsis
pkg
admission/plugin/webhook/config/apis/webhookadmission/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
admission/plugin/webhook/config/apis/webhookadmission/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
admission/plugin/webhook/errors
Package errors contains utilities for admission webhook specific errors
Package errors contains utilities for admission webhook specific errors
admission/plugin/webhook/mutating
Package mutating delegates admission checks to dynamically configured mutating webhooks.
Package mutating delegates admission checks to dynamically configured mutating webhooks.
admission/plugin/webhook/namespace
Package namespace defines the utilities that are used by the webhook plugin to decide if a webhook should be applied to an object based on its namespace.
Package namespace defines the utilities that are used by the webhook plugin to decide if a webhook should be applied to an object based on its namespace.
admission/plugin/webhook/request
Package request creates admissionReview request based on admission attributes.
Package request creates admissionReview request based on admission attributes.
admission/plugin/webhook/testcerts
Package testcerts contains generated key pairs used by the unit tests of mutating and validating webhooks.
Package testcerts contains generated key pairs used by the unit tests of mutating and validating webhooks.
admission/plugin/webhook/validating
Package validating delegates admission checks to dynamically configured validating webhooks.
Package validating delegates admission checks to dynamically configured validating webhooks.
admission/plugin/webhook/versioned
Package versioned provides tools for making sure the objects sent to a webhook are in a version the webhook understands.
Package versioned provides tools for making sure the objects sent to a webhook are in a version the webhook understands.
apis/apiserver
Package apiserver is the internal version of the API.
Package apiserver is the internal version of the API.
apis/apiserver/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/audit
+k8s:deepcopy-gen=package +groupName=audit.k8s.io
+k8s:deepcopy-gen=package +groupName=audit.k8s.io
apis/audit/install
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
apis/audit/v1alpha1
+groupName=audit.k8s.io
+groupName=audit.k8s.io
apis/audit/v1beta1
+groupName=audit.k8s.io
+groupName=audit.k8s.io
apis/example
+k8s:deepcopy-gen=package +groupName=example.k8s.io
+k8s:deepcopy-gen=package +groupName=example.k8s.io
apis/example/install
Package install installs the example API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the example API group, making it available as an option to all of the API encoding/decoding machinery.
apis/example/v1
+groupName=example.apiserver.k8s.io
+groupName=example.apiserver.k8s.io
apis/example2
+k8s:deepcopy-gen=package +groupName=example2.k8s.io
+k8s:deepcopy-gen=package +groupName=example2.k8s.io
apis/example2/install
Package install installs the example2 API group, making it available as an option to all of the API encoding/decoding machinery.
Package install installs the example2 API group, making it available as an option to all of the API encoding/decoding machinery.
apis/example2/v1
+groupName=example2.apiserver.k8s.io
+groupName=example2.apiserver.k8s.io
audit
TODO: Delete this file if we generate a clientset.
TODO: Delete this file if we generate a clientset.
authentication/request/x509
Package x509 provides a request authenticator that validates and extracts user information from client certificates
Package x509 provides a request authenticator that validates and extracts user information from client certificates
authentication/user
Package user contains utilities for dealing with simple user exchange in the auth packages.
Package user contains utilities for dealing with simple user exchange in the auth packages.
authorization/union
Package union implements an authorizer that combines multiple subauthorizer.
Package union implements an authorizer that combines multiple subauthorizer.
endpoints
Package endpoints contains the generic code that provides a RESTful Kubernetes-style API service.
Package endpoints contains the generic code that provides a RESTful Kubernetes-style API service.
endpoints/filters
Package filters contains all the http handler chain filters which _are_ api related, i.e.
Package filters contains all the http handler chain filters which _are_ api related, i.e.
endpoints/handlers
Package handlers contains HTTP handlers to implement the apiserver APIs.
Package handlers contains HTTP handlers to implement the apiserver APIs.
endpoints/handlers/negotiation
Package negotation contains media type negotiation logic.
Package negotation contains media type negotiation logic.
endpoints/handlers/responsewriters
Package responsewriters containers helpers to write responses in HTTP handlers.
Package responsewriters containers helpers to write responses in HTTP handlers.
endpoints/request
Package request contains everything around extracting info from a http request object.
Package request contains everything around extracting info from a http request object.
registry
Package registry contains the generic implementation of the storage and system logic.
Package registry contains the generic implementation of the storage and system logic.
registry/generic
Package generic provides a generic object store interface and a generic label/field matching type.
Package generic provides a generic object store interface and a generic label/field matching type.
registry/generic/registry
Package etcd has a generic implementation of a registry that stores things in etcd.
Package etcd has a generic implementation of a registry that stores things in etcd.
registry/generic/rest
Package rest has generic implementations of resources used for REST responses
Package rest has generic implementations of resources used for REST responses
registry/rest
Package rest defines common logic around changes to Kubernetes-style resources.
Package rest defines common logic around changes to Kubernetes-style resources.
server
Package server contains the plumbing to create kubernetes-like API server command.
Package server contains the plumbing to create kubernetes-like API server command.
server/filters
Package filters contains all the http handler chain filters which are not api related.
Package filters contains all the http handler chain filters which are not api related.
server/healthz
Package healthz implements basic http server health checking.
Package healthz implements basic http server health checking.
server/httplog
Package httplog contains a helper object and functions to maintain a log along with an http response.
Package httplog contains a helper object and functions to maintain a log along with an http response.
server/mux
Package mux contains abstractions for http multiplexing of APIs.
Package mux contains abstractions for http multiplexing of APIs.
server/options
package options is the public flags and options used by a generic api server.
package options is the public flags and options used by a generic api server.
server/routes
Package routes holds a collection of optional genericapiserver http handlers.
Package routes holds a collection of optional genericapiserver http handlers.
server/storage
Package storage contains the plumbing to setup the etcd storage of the apiserver.
Package storage contains the plumbing to setup the etcd storage of the apiserver.
storage
Interfaces for database-related operations.
Interfaces for database-related operations.
storage/errors
Package etcd provides conversion of etcd errors to API errors.
Package etcd provides conversion of etcd errors to API errors.
storage/etcd/util
Package util holds generic etcd-related utility functions that any user of ectd might want to use, without pulling in kubernetes-specific code.
Package util holds generic etcd-related utility functions that any user of ectd might want to use, without pulling in kubernetes-specific code.
storage/value
Package value contains methods for assisting with transformation of values in storage.
Package value contains methods for assisting with transformation of values in storage.
storage/value/encrypt/aes
Package aes transforms values for storage at rest using AES-GCM.
Package aes transforms values for storage at rest using AES-GCM.
storage/value/encrypt/envelope
Package envelope transforms values for storage at rest using a Envelope provider
Package envelope transforms values for storage at rest using a Envelope provider
storage/value/encrypt/secretbox
Package secretbox transforms values for storage at rest using XSalsa20 and Poly1305.
Package secretbox transforms values for storage at rest using XSalsa20 and Poly1305.
util/flushwriter
Package flushwriter implements a wrapper for a writer that flushes on every write if that writer implements the io.Flusher interface
Package flushwriter implements a wrapper for a writer that flushes on every write if that writer implements the io.Flusher interface
util/webhook
Package webhook implements a generic HTTP webhook plugin.
Package webhook implements a generic HTTP webhook plugin.
util/wsstream
Package wsstream contains utilities for streaming content over WebSockets.
Package wsstream contains utilities for streaming content over WebSockets.
plugin
pkg/audit
Package audit contains implementations for pkg/audit/AuditBackend interface
Package audit contains implementations for pkg/audit/AuditBackend interface
pkg/audit/webhook
Package webhook implements the audit.Backend interface using HTTP webhooks.
Package webhook implements the audit.Backend interface using HTTP webhooks.
pkg/authenticator
Package authenticator contains implementations for pkg/auth/authenticator interfaces
Package authenticator contains implementations for pkg/auth/authenticator interfaces
pkg/authenticator/password
Package password contains authenticator.Password implementations
Package password contains authenticator.Password implementations
pkg/authenticator/password/keystone
Package keystone provides authentication via keystone.
Package keystone provides authentication via keystone.
pkg/authenticator/token/oidc
oidc implements the authenticator.Token interface using the OpenID Connect protocol.
oidc implements the authenticator.Token interface using the OpenID Connect protocol.
pkg/authenticator/token/webhook
Package webhook implements the authenticator.Token interface using HTTP webhooks.
Package webhook implements the authenticator.Token interface using HTTP webhooks.
pkg/authorizer/webhook
Package webhook implements the authorizer.Authorizer interface using HTTP webhooks.
Package webhook implements the authorizer.Authorizer interface using HTTP webhooks.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL