kubernetes/

directory
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2015 License: Apache-2.0

README

Kubernetes

GoDoc Travis Coverage Status

I am ...
  • Interested in learning more about using Kubernetes? Please see our user-facing documentation on kubernetes.io
  • Interested in hacking on the core Kubernetes code base? Keep reading!

Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes is:

  • lean: lightweight, simple, accessible
  • portable: public, private, hybrid, multi cloud
  • extensible: modular, pluggable, hookable, composable
  • self-healing: auto-placement, auto-restart, auto-replication

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.


Kubernetes can run anywhere!

However, initial development was done on GCE and so our instructions and scripts are built around that. If you make it work on other infrastructure please let us know and contribute instructions/code.

Kubernetes is in pre-production beta!

While the concepts and architecture in Kubernetes represent years of experience designing and building large scale cluster manager at Google, the Kubernetes project is still under heavy development. Expect bugs, design and API changes as we bring it to a stable, production product over the coming year.

Concepts

Kubernetes works with the following concepts:

Clusters are the compute resources on top of which your containers are built. Kubernetes can run anywhere! See the Getting Started Guides for instructions for a variety of services.

Pods are a colocated group of Docker containers with shared volumes. They're the smallest deployable units that can be created, scheduled, and managed with Kubernetes. Pods can be created individually, but it's recommended that you use a replication controller even if creating a single pod. More about pods.

Replication controllers manage the lifecycle of pods. They ensure that a specified number of pods are running at any given time, by creating or killing pods as required. More about replication controllers.

Services provide a single, stable name and address for a set of pods. They act as basic load balancers. More about services.

Labels are used to organize and select groups of objects based on key:value pairs. More about labels.

Documentation

Kubernetes documentation is organized into several categories.

  • Getting Started Guides
  • User Documentation
    • User FAQ
    • in docs
    • for people who want to run programs on kubernetes
    • describes current features of the system (with brief mentions of planned features)
  • Developer Documentation
    • in docs/devel
    • for people who want to contribute code to kubernetes
    • covers development conventions
    • explains current architecture and project plans
  • Service Documentation
    • in docs/services.md
    • Service FAQ
    • for people who are interested in how Services work
    • details of kube-proxy iptables
    • how to wire services to external internet
  • API documentation
    • in the API doc
    • and automatically generated API documentation served by the master
  • Design Documentation
    • in docs/design
    • for people who want to understand the design choices made
    • describes tradeoffs, alternative designs
    • descriptions of planned features that are too long for a github issue.
  • Walkthroughs and Examples
    • in examples
    • Hands on introduction and example config files
  • Wiki/FAQ

Community, discussion and support

If you have questions or want to start contributing please reach out. We don't bite!

The Kubernetes team is hanging out on IRC on the #google-containers channel on freenode.net. This client may be overloaded from time to time. If this happens you can use any IRC client out there to talk to us.

We also have the google-containers Google Groups mailing list for questions and discussion as well as the kubernetes-announce mailing list for important announcements (low-traffic, no chatter).

If you are a company and are looking for a more formal engagement with Google around Kubernetes and containers at Google as a whole, please fill out this form and we'll be in touch.

Analytics

Directories

Path Synopsis
cmd
kube-apiserver/app
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
kube-controller-manager/app
Package app implements a server that runs a set of active components.
Package app implements a server that runs a set of active components.
kube-proxy/app
Package app does all of the work necessary to configure and run a Kubernetes app process.
Package app does all of the work necessary to configure and run a Kubernetes app process.
kubelet/app
Package app makes it easy to create a kubelet server for various contexts.
Package app makes it easy to create a kubelet server for various contexts.
pkg
api
Package api contains the latest (or "internal") version of the Kubernetes API objects.
Package api contains the latest (or "internal") version of the Kubernetes API objects.
api/errors
Package errors provides detailed error types for api field validation.
Package errors provides detailed error types for api field validation.
api/errors/etcd
Package etcd provides conversion of etcd errors to API errors.
Package etcd provides conversion of etcd errors to API errors.
api/latest
Package latest defines the default output serializations that code should use and imports the required schemas.
Package latest defines the default output serializations that code should use and imports the required schemas.
api/meta
Package meta provides functions for retrieving API metadata from objects belonging to the Kubernetes API TODO: move everything in this file to pkg/api/rest
Package meta provides functions for retrieving API metadata from objects belonging to the Kubernetes API TODO: move everything in this file to pkg/api/rest
api/registered
Package to keep track of API Versions that should be registered in api.Scheme.
Package to keep track of API Versions that should be registered in api.Scheme.
api/rest
Package rest defines common logic around changes to Kubernetes resources.
Package rest defines common logic around changes to Kubernetes resources.
api/testapi
Package testapi provides a helper for retrieving the KUBE_API_VERSION environment variable.
Package testapi provides a helper for retrieving the KUBE_API_VERSION environment variable.
api/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
api/v1beta3
Package v1beta3 is the v1beta3 version of the API.
Package v1beta3 is the v1beta3 version of the API.
api/validation
Package validation has functions for validating the correctness of api objects and explaining what is wrong with them when they aren't valid.
Package validation has functions for validating the correctness of api objects and explaining what is wrong with them when they aren't valid.
apiserver
Package apiserver contains the code that provides a rest.ful api service.
Package apiserver contains the code that provides a rest.ful api service.
auth/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.
capabilities
package capbabilities manages system level capabilities
package capbabilities manages system level capabilities
client
Package client contains the implementation of the client side communication with the Kubernetes master.
Package client contains the implementation of the client side communication with the Kubernetes master.
client/cache
Package cache is a client-side caching mechanism.
Package cache is a client-side caching mechanism.
client/chaosclient
Package chaosclient makes it easy to simulate network latency, misbehaving servers, and random errors from servers.
Package chaosclient makes it easy to simulate network latency, misbehaving servers, and random errors from servers.
client/clientcmd
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination.
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination.
client/portforward
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers.
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers.
client/record
Package record has all client logic for recording and reporting events.
Package record has all client logic for recording and reporting events.
client/remotecommand
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.
clientauth
Package authcfg defines a file format for holding authentication information needed by clients of Kubernetes.
Package authcfg defines a file format for holding authentication information needed by clients of Kubernetes.
cloudprovider
Package cloudprovider supplies interfaces and implementations for cloud service providers.
Package cloudprovider supplies interfaces and implementations for cloud service providers.
cloudprovider/fake
Package fake_cloud is a test-double implementation of cloudprovider Interface, TCPLoadBalancer and Instances.
Package fake_cloud is a test-double implementation of cloudprovider Interface, TCPLoadBalancer and Instances.
cloudprovider/gce
Package gce_cloud is an implementation of Interface, TCPLoadBalancer and Instances for Google Compute Engine.
Package gce_cloud is an implementation of Interface, TCPLoadBalancer and Instances for Google Compute Engine.
cloudprovider/nodecontroller
Package nodecontroller contains code for syncing cloud instances with minion registry
Package nodecontroller contains code for syncing cloud instances with minion registry
cloudprovider/routecontroller
Package routecontroller contains code for syncing cloud routing rules with the list of registered nodes.
Package routecontroller contains code for syncing cloud routing rules with the list of registered nodes.
cloudprovider/servicecontroller
Package servicecontroller contains code for syncing cloud load balancers with the service registry.
Package servicecontroller contains code for syncing cloud load balancers with the service registry.
cloudprovider/vagrant
Package vagrant_cloud is an implementation of Interface, TCPLoadBalancer and Instances for developer managed Vagrant cluster.
Package vagrant_cloud is an implementation of Interface, TCPLoadBalancer and Instances for developer managed Vagrant cluster.
controller
Package controller contains logic for watching and synchronizing replicationControllers.
Package controller contains logic for watching and synchronizing replicationControllers.
controller/framework
Package framework implements all the grunt work involved in running a simple controller.
Package framework implements all the grunt work involved in running a simple controller.
conversion
Package conversion provides go object versioning and encoding/decoding mechanisms.
Package conversion provides go object versioning and encoding/decoding mechanisms.
conversion/queryparams
Package queryparams provides conversion from versioned runtime objects to URL query values
Package queryparams provides conversion from versioned runtime objects to URL query values
credentialprovider
Package credentialprovider supplies interfaces and implementations for docker registry providers to expose their authentication scheme.
Package credentialprovider supplies interfaces and implementations for docker registry providers to expose their authentication scheme.
credentialprovider/gcp
Package gcp_credentials contains implementations of DockerConfigProvider for Google Cloud Platform.
Package gcp_credentials contains implementations of DockerConfigProvider for Google Cloud Platform.
fieldpath
Package fieldpath supplies methods for extracting fields from objects given a path to a field.
Package fieldpath supplies methods for extracting fields from objects given a path to a field.
fields
Package fields implements a simple field system, parsing and matching selectors with sets of fields.
Package fields implements a simple field system, parsing and matching selectors with sets of fields.
healthz
Package healthz implements basic http server health checking.
Package healthz implements basic http server health checking.
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.
kubectl
Package kubectl is a set of libraries that are used by the kubectl command line tool.
Package kubectl is a set of libraries that are used by the kubectl command line tool.
kubectl/resource
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions.
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions.
kubelet
Package kubelet is the package that contains the libraries that drive the Kubelet binary.
Package kubelet is the package that contains the libraries that drive the Kubelet binary.
kubelet/cadvisor
Kubelet interactions with cAdvisor.
Kubelet interactions with cAdvisor.
kubelet/config
Reads the pod configuration from the Kubernetes apiserver.
Reads the pod configuration from the Kubernetes apiserver.
kubelet/envvars
Package envvars is the package that build the environment variables that kubernetes provides to the containers run by it.
Package envvars is the package that build the environment variables that kubernetes provides to the containers run by it.
kubelet/leaky
Package leaky holds bits of kubelet that should be internal but have leaked out through bad abstractions.
Package leaky holds bits of kubelet that should be internal but have leaked out through bad abstractions.
kubelet/lifecycle
Handlers for pod lifecycle events.
Handlers for pod lifecycle events.
kubelet/network/exec
Package exec scans and loads networking plugins that are installed under /usr/libexec/kubernetes/kubelet-plugins/net/exec/ The layout convention for a plugin is: plugin-name/ (plugins have to be directories first) plugin-name/plugin-name (executable that will be called out, see Vendoring Note for more nuances) plugin-name/<other-files> where, 'executable' has the following requirements: - should have exec permissions - should give non-zero exit code on failure, and zero on sucess - the arguments will be <action> <pod_namespace> <pod_name> <docker_id_of_infra_container> whereupon, <action> will be one of: - init, called when the kubelet loads the plugin - setup, called after the infra container of a pod is created, but before other containers of the pod are created - teardown, called before the pod infra container is killed As the executables are called, the file-descriptors stdin, stdout, stderr remain open.
Package exec scans and loads networking plugins that are installed under /usr/libexec/kubernetes/kubelet-plugins/net/exec/ The layout convention for a plugin is: plugin-name/ (plugins have to be directories first) plugin-name/plugin-name (executable that will be called out, see Vendoring Note for more nuances) plugin-name/<other-files> where, 'executable' has the following requirements: - should have exec permissions - should give non-zero exit code on failure, and zero on sucess - the arguments will be <action> <pod_namespace> <pod_name> <docker_id_of_infra_container> whereupon, <action> will be one of: - init, called when the kubelet loads the plugin - setup, called after the infra container of a pod is created, but before other containers of the pod are created - teardown, called before the pod infra container is killed As the executables are called, the file-descriptors stdin, stdout, stderr remain open.
kubelet/types
Common types in the Kubelet.
Common types in the Kubelet.
kubelet/util
Utility functions.
Utility functions.
labels
Package labels implements a simple label system, parsing and matching selectors with sets of labels.
Package labels implements a simple label system, parsing and matching selectors with sets of labels.
master
Package master contains code for setting up and running a Kubernetes cluster master.
Package master contains code for setting up and running a Kubernetes cluster master.
master/ports
Package ports defines ports used by various pieces of the kubernetes infrastructure.
Package ports defines ports used by various pieces of the kubernetes infrastructure.
namespace
namespace contains a controller that handles namespace lifecycle
namespace contains a controller that handles namespace lifecycle
probe
Package probe contains utilities for health probing, as well as health status information.
Package probe contains utilities for health probing, as well as health status information.
proxy
Package proxy implements the layer-3 network proxy.
Package proxy implements the layer-3 network proxy.
proxy/config
Package config provides decoupling between various configuration sources (etcd, files,...) and the pieces that actually care about them (loadbalancer, proxy).
Package config provides decoupling between various configuration sources (etcd, files,...) and the pieces that actually care about them (loadbalancer, proxy).
registry/componentstatus
Package componentstatus provides interfaces and implementation for retrieving cluster component status.
Package componentstatus provides interfaces and implementation for retrieving cluster component status.
registry/controller
Package controller provides Registry interface and it's RESTStorage implementation for storing ReplicationController api objects.
Package controller provides Registry interface and it's RESTStorage implementation for storing ReplicationController api objects.
registry/endpoint
Package endpoint provides Registry interface and it's RESTStorage implementation for storing Endpoint api objects.
Package endpoint provides Registry interface and it's RESTStorage implementation for storing Endpoint api objects.
registry/etcd
Package etcd provides etcd backend implementation for storing PodRegistry, ControllerRegistry and ServiceRegistry api objects.
Package etcd provides etcd backend implementation for storing PodRegistry, ControllerRegistry and ServiceRegistry api objects.
registry/event
Package event provides Registry interface and it's REST implementation for storing Event api objects.
Package event provides Registry interface and it's REST implementation for storing Event api objects.
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/etcd
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/limitrange
Package limitrange provides Registry interface and it's REST implementation for storing LimitRange api objects.
Package limitrange provides Registry interface and it's REST implementation for storing LimitRange api objects.
registry/minion
Package minion provides Registry interface and implementation for storing Minions.
Package minion provides Registry interface and implementation for storing Minions.
registry/namespace
Package namespace provides Registry interface and it's REST implementation for storing Namespace api objects.
Package namespace provides Registry interface and it's REST implementation for storing Namespace api objects.
registry/pod
Package pod provides Registry interface and it's RESTStorage implementation for storing Pod api objects.
Package pod provides Registry interface and it's RESTStorage implementation for storing Pod api objects.
registry/podtemplate
Package podtemplate provides RESTStorage implementations for storing PodTemplate API objects.
Package podtemplate provides RESTStorage implementations for storing PodTemplate API objects.
registry/registrytest
Package registrytest provides tests for Registry implementations for storing Minions, Pods, Schedulers and Services.
Package registrytest provides tests for Registry implementations for storing Minions, Pods, Schedulers and Services.
registry/resourcequota
Package resourcequota provides Registry interface and it's REST implementation for storing ResourceQuota api objects.
Package resourcequota provides Registry interface and it's REST implementation for storing ResourceQuota api objects.
registry/secret
Package secrets provides Registry interface and its REST implementation for storing Secret api objects.
Package secrets provides Registry interface and its REST implementation for storing Secret api objects.
registry/securitycontextconstraints
Package securitycontextconstraints provides Registry interface and its REST implementation for storing SecurityContextConstraints api objects.
Package securitycontextconstraints provides Registry interface and its REST implementation for storing SecurityContextConstraints api objects.
registry/service
Package service provides the Registry interface and its RESTStorage implementation for storing Service api objects.
Package service provides the Registry interface and its RESTStorage implementation for storing Service api objects.
registry/serviceaccount
Package serviceaccount provides a Registry interface and a strategy implementation for storing ServiceAccount API objects.
Package serviceaccount provides a Registry interface and a strategy implementation for storing ServiceAccount API objects.
resourcequota
resourcequota contains a controller that makes resource quota usage observations
resourcequota contains a controller that makes resource quota usage observations
runtime
Defines conversions between generic types and structs to map query strings to struct objects.
Defines conversions between generic types and structs to map query strings to struct objects.
securitycontext
Package securitycontext contains security context api implementations
Package securitycontext contains security context api implementations
securitycontextconstraints
Package securitycontextconstraints contains security context constraints api implementations.
Package securitycontextconstraints contains security context constraints api implementations.
securitycontextconstraints/selinux
Package selinux contains security context constraints SELinux strategy implementations.
Package selinux contains security context constraints SELinux strategy implementations.
securitycontextconstraints/user
Package user contains security context constraints user strategy implementations.
Package user contains security context constraints user strategy implementations.
service
Package service provides EndpointController implementation to manage and sync service endpoints.
Package service provides EndpointController implementation to manage and sync service endpoints.
serviceaccount
Package serviceaccount provides implementations to manage service accounts and service account tokens
Package serviceaccount provides implementations to manage service accounts and service account tokens
tools
Package tools implements types which help work with etcd which depend on the api package.
Package tools implements types which help work with etcd which depend on the api package.
types
Package types implements various generic types used throughout kubernetes.
Package types implements various generic types used throughout kubernetes.
ui
package ui contains utilities for accessing the static data files compiled in the data/* subdirectories.
package ui contains utilities for accessing the static data files compiled in the data/* subdirectories.
util
Package util implements various utility functions used in both testing and implementation of Kubernetes.
Package util implements various utility functions used in both testing and implementation of Kubernetes.
util/config
Package config provides utility objects for decoupling sources of configuration and the actual configuration state.
Package config provides utility objects for decoupling sources of configuration and the actual configuration state.
util/errors
Package errors implements various utility functions and types around errors.
Package errors implements various utility functions and types around errors.
util/exec
Package exec provides an injectable interface and implementations for running commands.
Package exec provides an injectable interface and implementations for running commands.
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/httpstream
Package httpstream adds multiplexed streaming support to HTTP requests and responses via connection upgrades.
Package httpstream adds multiplexed streaming support to HTTP requests and responses via connection upgrades.
util/iptables
Package iptables provides an interface and implementations for running iptables commands.
Package iptables provides an interface and implementations for running iptables commands.
util/mount
Package mount defines an interface to mounting filesystems.
Package mount defines an interface to mounting filesystems.
util/proxy
Package proxy provides transport and upgrade support for proxies
Package proxy provides transport and upgrade support for proxies
util/slice
Package slice provides utility methods for common operations on slices.
Package slice provides utility methods for common operations on slices.
util/wait
Package wait provides tools for polling or listening for changes to a condition.
Package wait provides tools for polling or listening for changes to a condition.
util/workqueue
Package workqueue provides a simple queue that supports the following features: * Fair: items processed in the order in which they are added.
Package workqueue provides a simple queue that supports the following features: * Fair: items processed in the order in which they are added.
version
Package version supplies version information collected at build time to kubernetes components.
Package version supplies version information collected at build time to kubernetes components.
version/verflag
Package verflag defines utility functions to handle command line flags related to version of Kubernetes.
Package verflag defines utility functions to handle command line flags related to version of Kubernetes.
volume
Package volume includes internal representations of external volume types as well as utility methods required to mount/unmount volumes to kubelets.
Package volume includes internal representations of external volume types as well as utility methods required to mount/unmount volumes to kubelets.
volume/aws_ebs
Package aws_ebs contains the internal representation of AWS Elastic Block Store volumes.
Package aws_ebs contains the internal representation of AWS Elastic Block Store volumes.
volume/empty_dir
Package empty_dir contains the internal representation of emptyDir volumes.
Package empty_dir contains the internal representation of emptyDir volumes.
volume/gce_pd
Package gce_pd contains the internal representation of GCE PersistentDisk volumes.
Package gce_pd contains the internal representation of GCE PersistentDisk volumes.
volume/git_repo
Package git_repo contains the internal representation of git repo volumes.
Package git_repo contains the internal representation of git repo volumes.
volume/glusterfs
Package glusterfs contains the internal representation of glusterfs volumes.
Package glusterfs contains the internal representation of glusterfs volumes.
volume/host_path
Package host_path contains the internal representation of hostPath volumes.
Package host_path contains the internal representation of hostPath volumes.
volume/iscsi
Package iscsi contains the internal representation of Internet Small Computer System Interface (iSCSI) volumes.
Package iscsi contains the internal representation of Internet Small Computer System Interface (iSCSI) volumes.
volume/nfs
Package nfs contains the internal representation of network file system (NFS) volumes.
Package nfs contains the internal representation of network file system (NFS) volumes.
volume/persistent_claim
Package persistent_claim contains the internal representation of persistent volume claims.
Package persistent_claim contains the internal representation of persistent volume claims.
volume/rbd
Package rbd contains the internal representation of Rados Block Store (Ceph) volumes.
Package rbd contains the internal representation of Rados Block Store (Ceph) volumes.
volume/secret
Package secret contains the internal representation of secret volumes.
Package secret contains the internal representation of secret volumes.
volume/util
Contains utility code for use by volume plugins.
Contains utility code for use by volume plugins.
watch
Package watch contains a generic watchable interface, and a fake for testing code that uses the watch interface.
Package watch contains a generic watchable interface, and a fake for testing code that uses the watch interface.
watch/json
Package json implements a simple encoder and decoder for streams of watch events over io.Writer/Readers
Package json implements a simple encoder and decoder for streams of watch events over io.Writer/Readers
plugin
cmd/kube-scheduler/app
Package app implements a Server object for running the scheduler.
Package app implements a Server object for running the scheduler.
pkg/admission/resourcequota
resourcequota enforces all incoming requests against any applied quota in the namespace context of the request
resourcequota enforces all incoming requests against any applied quota in the namespace context of the request
pkg/admission/serviceaccount
serviceaccount enforces all pods having an associated serviceaccount, and all containers mounting the API token for that serviceaccount at a known location
serviceaccount enforces all pods having an associated serviceaccount, and all containers mounting the API token for that serviceaccount at a known location
pkg/auth/authenticator/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
pkg/scheduler/algorithm
Package scheduler contains a generic Scheduler interface and several implementations.
Package scheduler contains a generic Scheduler interface and several implementations.
pkg/scheduler/algorithmprovider
This package is used to register algorithm provider plugins.
This package is used to register algorithm provider plugins.
pkg/scheduler/algorithmprovider/defaults
This is the default algorithm provider for the scheduler.
This is the default algorithm provider for the scheduler.
pkg/scheduler/factory
Package factory can set up a scheduler.
Package factory can set up a scheduler.
third_party
forked/json
Package json is forked from the Go standard library to enable us to find the field of a struct that a given JSON key maps to.
Package json is forked from the Go standard library to enable us to find the field of a struct that a given JSON key maps to.
forked/reflect
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined.
Package reflect is a fork of go's standard library reflection package, which allows for deep equal with equality functions defined.

Jump to

Keyboard shortcuts

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