v1alpha1

package
v1.9.10-beta.0 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

Package v1alpha1 is the package that contains the libraries that drive the kubeadm binary. +k8s:defaulter-gen=TypeMeta +groupName=kubeadm.k8s.io +k8s:deepcopy-gen=package +k8s:conversion-gen=k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm

Index

Constants

View Source
const (
	// DefaultServiceDNSDomain defines default cluster-internal domain name for Services and Pods
	DefaultServiceDNSDomain = "cluster.local"
	// DefaultServicesSubnet defines default service subnet range
	DefaultServicesSubnet = "10.96.0.0/12"
	// DefaultClusterDNSIP defines default DNS IP
	DefaultClusterDNSIP = "10.96.0.10"
	// DefaultKubernetesVersion defines default kubernetes version
	DefaultKubernetesVersion = "stable-1.9"
	// DefaultAPIBindPort defines default API port
	DefaultAPIBindPort = 6443
	// DefaultAuthorizationModes defines default authorization modes
	DefaultAuthorizationModes = "Node,RBAC"
	// DefaultCertificatesDir defines default certificate directory
	DefaultCertificatesDir = "/etc/kubernetes/pki"
	// DefaultImageRepository defines default image registry
	DefaultImageRepository = "gcr.io/google_containers"
	// DefaultManifestsDir defines default manifests directory
	DefaultManifestsDir = "/etc/kubernetes/manifests"

	// DefaultEtcdDataDir defines default location of etcd where static pods will save data to
	DefaultEtcdDataDir = "/var/lib/etcd"
	// DefaultEtcdClusterSize defines the default cluster size when using the etcd-operator
	DefaultEtcdClusterSize = 3
	// DefaultEtcdOperatorVersion defines the default version of the etcd-operator to use
	DefaultEtcdOperatorVersion = "v0.6.0"
	// DefaultEtcdCertDir represents the directory where PKI assets are stored for self-hosted etcd
	DefaultEtcdCertDir = "/etc/kubernetes/pki/etcd"
	// DefaultEtcdClusterServiceName is the default name of the service backing the etcd cluster
	DefaultEtcdClusterServiceName = "etcd-cluster"
	// DefaultProxyBindAddressv4 is the default bind address when the advertise address is v4
	DefaultProxyBindAddressv4 = "0.0.0.0"
	// DefaultProxyBindAddressv6 is the default bind address when the advertise address is v6
	DefaultProxyBindAddressv6 = "::"
	// KubeproxyKubeConfigFileName efines the file name for the kube-proxy's KubeConfig file
	KubeproxyKubeConfigFileName = "/var/lib/kube-proxy/kubeconfig.conf"
)
View Source
const DefaultCACertPath = "/etc/kubernetes/pki/ca.crt"

DefaultCACertPath defines default location of CA certificate on Linux

View Source
const GroupName = "kubeadm.k8s.io"

GroupName is the group name use in this package

Variables

View Source
var (

	// SchemeBuilder points to a list of functions added to Scheme.
	SchemeBuilder runtime.SchemeBuilder

	// AddToScheme applies all the stored functions to the scheme.
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Convert_kubeadm_API_To_v1alpha1_API added in v1.8.0

func Convert_kubeadm_API_To_v1alpha1_API(in *kubeadm.API, out *API, s conversion.Scope) error

Convert_kubeadm_API_To_v1alpha1_API is an autogenerated conversion function.

func Convert_kubeadm_Etcd_To_v1alpha1_Etcd added in v1.8.0

func Convert_kubeadm_Etcd_To_v1alpha1_Etcd(in *kubeadm.Etcd, out *Etcd, s conversion.Scope) error

Convert_kubeadm_Etcd_To_v1alpha1_Etcd is an autogenerated conversion function.

func Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount added in v1.9.0

func Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount(in *kubeadm.HostPathMount, out *HostPathMount, s conversion.Scope) error

Convert_kubeadm_HostPathMount_To_v1alpha1_HostPathMount is an autogenerated conversion function.

func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy added in v1.9.0

func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy(in *kubeadm.KubeProxy, out *KubeProxy, s conversion.Scope) error

Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy is an autogenerated conversion function.

func Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration added in v1.9.0

func Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration(in *kubeadm.KubeletConfiguration, out *KubeletConfiguration, s conversion.Scope) error

Convert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration is an autogenerated conversion function.

func Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration added in v1.8.0

func Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration(in *kubeadm.MasterConfiguration, out *MasterConfiguration, s conversion.Scope) error

Convert_kubeadm_MasterConfiguration_To_v1alpha1_MasterConfiguration is an autogenerated conversion function.

func Convert_kubeadm_Networking_To_v1alpha1_Networking added in v1.8.0

func Convert_kubeadm_Networking_To_v1alpha1_Networking(in *kubeadm.Networking, out *Networking, s conversion.Scope) error

Convert_kubeadm_Networking_To_v1alpha1_Networking is an autogenerated conversion function.

func Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration added in v1.8.0

func Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration(in *kubeadm.NodeConfiguration, out *NodeConfiguration, s conversion.Scope) error

Convert_kubeadm_NodeConfiguration_To_v1alpha1_NodeConfiguration is an autogenerated conversion function.

func Convert_kubeadm_SelfHostedEtcd_To_v1alpha1_SelfHostedEtcd added in v1.9.0

func Convert_kubeadm_SelfHostedEtcd_To_v1alpha1_SelfHostedEtcd(in *kubeadm.SelfHostedEtcd, out *SelfHostedEtcd, s conversion.Scope) error

Convert_kubeadm_SelfHostedEtcd_To_v1alpha1_SelfHostedEtcd is an autogenerated conversion function.

func Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery added in v1.8.0

func Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery(in *kubeadm.TokenDiscovery, out *TokenDiscovery, s conversion.Scope) error

Convert_kubeadm_TokenDiscovery_To_v1alpha1_TokenDiscovery is an autogenerated conversion function.

func Convert_v1alpha1_API_To_kubeadm_API added in v1.8.0

func Convert_v1alpha1_API_To_kubeadm_API(in *API, out *kubeadm.API, s conversion.Scope) error

Convert_v1alpha1_API_To_kubeadm_API is an autogenerated conversion function.

func Convert_v1alpha1_Etcd_To_kubeadm_Etcd added in v1.8.0

func Convert_v1alpha1_Etcd_To_kubeadm_Etcd(in *Etcd, out *kubeadm.Etcd, s conversion.Scope) error

Convert_v1alpha1_Etcd_To_kubeadm_Etcd is an autogenerated conversion function.

func Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount added in v1.9.0

func Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount(in *HostPathMount, out *kubeadm.HostPathMount, s conversion.Scope) error

Convert_v1alpha1_HostPathMount_To_kubeadm_HostPathMount is an autogenerated conversion function.

func Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy added in v1.9.0

func Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy(in *KubeProxy, out *kubeadm.KubeProxy, s conversion.Scope) error

Convert_v1alpha1_KubeProxy_To_kubeadm_KubeProxy is an autogenerated conversion function.

func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration added in v1.9.0

func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *KubeletConfiguration, out *kubeadm.KubeletConfiguration, s conversion.Scope) error

Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration is an autogenerated conversion function.

func Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration added in v1.8.0

func Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration(in *MasterConfiguration, out *kubeadm.MasterConfiguration, s conversion.Scope) error

Convert_v1alpha1_MasterConfiguration_To_kubeadm_MasterConfiguration is an autogenerated conversion function.

func Convert_v1alpha1_Networking_To_kubeadm_Networking added in v1.8.0

func Convert_v1alpha1_Networking_To_kubeadm_Networking(in *Networking, out *kubeadm.Networking, s conversion.Scope) error

Convert_v1alpha1_Networking_To_kubeadm_Networking is an autogenerated conversion function.

func Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration added in v1.8.0

func Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration(in *NodeConfiguration, out *kubeadm.NodeConfiguration, s conversion.Scope) error

Convert_v1alpha1_NodeConfiguration_To_kubeadm_NodeConfiguration is an autogenerated conversion function.

func Convert_v1alpha1_SelfHostedEtcd_To_kubeadm_SelfHostedEtcd added in v1.9.0

func Convert_v1alpha1_SelfHostedEtcd_To_kubeadm_SelfHostedEtcd(in *SelfHostedEtcd, out *kubeadm.SelfHostedEtcd, s conversion.Scope) error

Convert_v1alpha1_SelfHostedEtcd_To_kubeadm_SelfHostedEtcd is an autogenerated conversion function.

func Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery added in v1.8.0

func Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery(in *TokenDiscovery, out *kubeadm.TokenDiscovery, s conversion.Scope) error

Convert_v1alpha1_TokenDiscovery_To_kubeadm_TokenDiscovery is an autogenerated conversion function.

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func RegisterConversions added in v1.8.0

func RegisterConversions(scheme *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func SetDefaultsEtcdSelfHosted added in v1.9.0

func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration)

SetDefaultsEtcdSelfHosted sets defaults for self-hosted etcd if used

func SetDefaults_KubeletConfiguration added in v1.9.0

func SetDefaults_KubeletConfiguration(obj *MasterConfiguration)

SetDefaults_KubeletConfiguration assigns default values to kubelet

func SetDefaults_MasterConfiguration

func SetDefaults_MasterConfiguration(obj *MasterConfiguration)

SetDefaults_MasterConfiguration assigns default values to Master node

func SetDefaults_NodeConfiguration

func SetDefaults_NodeConfiguration(obj *NodeConfiguration)

SetDefaults_NodeConfiguration assigns default values to a regular node

func SetDefaults_ProxyConfiguration added in v1.9.0

func SetDefaults_ProxyConfiguration(obj *MasterConfiguration)

SetDefaults_ProxyConfiguration assigns default values for the Proxy

func SetObjectDefaults_MasterConfiguration

func SetObjectDefaults_MasterConfiguration(in *MasterConfiguration)

func SetObjectDefaults_NodeConfiguration

func SetObjectDefaults_NodeConfiguration(in *NodeConfiguration)

Types

type API

type API struct {
	// AdvertiseAddress sets the address for the API server to advertise.
	AdvertiseAddress string `json:"advertiseAddress"`
	// BindPort sets the secure port for the API Server to bind to
	BindPort int32 `json:"bindPort"`
}

API struct contains elements of API server address.

func (*API) DeepCopy added in v1.8.0

func (in *API) DeepCopy() *API

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.

func (*API) DeepCopyInto added in v1.8.0

func (in *API) DeepCopyInto(out *API)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Etcd

type Etcd struct {
	Endpoints []string          `json:"endpoints"`
	CAFile    string            `json:"caFile"`
	CertFile  string            `json:"certFile"`
	KeyFile   string            `json:"keyFile"`
	DataDir   string            `json:"dataDir"`
	ExtraArgs map[string]string `json:"extraArgs,omitempty"`
	// Image specifies which container image to use for running etcd. If empty, automatically populated by kubeadm using the image repository and default etcd version
	Image      string          `json:"image"`
	SelfHosted *SelfHostedEtcd `json:"selfHosted,omitempty"`
}

Etcd contains elements describing Etcd configuration

func (*Etcd) DeepCopy added in v1.8.0

func (in *Etcd) DeepCopy() *Etcd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.

func (*Etcd) DeepCopyInto added in v1.8.0

func (in *Etcd) DeepCopyInto(out *Etcd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HostPathMount added in v1.9.0

type HostPathMount struct {
	Name      string `json:"name"`
	HostPath  string `json:"hostPath"`
	MountPath string `json:"mountPath"`
}

HostPathMount contains elements describing volumes that are mounted from the host

func (*HostPathMount) DeepCopy added in v1.9.0

func (in *HostPathMount) DeepCopy() *HostPathMount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostPathMount.

func (*HostPathMount) DeepCopyInto added in v1.9.0

func (in *HostPathMount) DeepCopyInto(out *HostPathMount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeProxy added in v1.9.0

type KubeProxy struct {
	Config *kubeproxyconfigv1alpha1.KubeProxyConfiguration `json:"config,omitempty"`
}

KubeProxy contains elements describing the proxy configuration

func (*KubeProxy) DeepCopy added in v1.9.0

func (in *KubeProxy) DeepCopy() *KubeProxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxy.

func (*KubeProxy) DeepCopyInto added in v1.9.0

func (in *KubeProxy) DeepCopyInto(out *KubeProxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfiguration added in v1.9.0

type KubeletConfiguration struct {
	BaseConfig *kubeletconfigv1alpha1.KubeletConfiguration `json:"baseConfig,omitempty"`
}

KubeletConfiguration contains elements describing initial remote configuration of kubelet

func (*KubeletConfiguration) DeepCopy added in v1.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfiguration.

func (*KubeletConfiguration) DeepCopyInto added in v1.9.0

func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MasterConfiguration

type MasterConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	API                  API                  `json:"api"`
	KubeProxy            KubeProxy            `json:"kubeProxy"`
	Etcd                 Etcd                 `json:"etcd"`
	KubeletConfiguration KubeletConfiguration `json:"kubeletConfiguration"`
	Networking           Networking           `json:"networking"`
	KubernetesVersion    string               `json:"kubernetesVersion"`
	CloudProvider        string               `json:"cloudProvider"`
	NodeName             string               `json:"nodeName"`
	AuthorizationModes   []string             `json:"authorizationModes,omitempty"`

	Token    string           `json:"token"`
	TokenTTL *metav1.Duration `json:"tokenTTL,omitempty"`

	APIServerExtraArgs         map[string]string `json:"apiServerExtraArgs,omitempty"`
	ControllerManagerExtraArgs map[string]string `json:"controllerManagerExtraArgs,omitempty"`
	SchedulerExtraArgs         map[string]string `json:"schedulerExtraArgs,omitempty"`

	APIServerExtraVolumes         []HostPathMount `json:"apiServerExtraVolumes,omitempty"`
	ControllerManagerExtraVolumes []HostPathMount `json:"controllerManagerExtraVolumes,omitempty"`
	SchedulerExtraVolumes         []HostPathMount `json:"schedulerExtraVolumes,omitempty"`

	// APIServerCertSANs sets extra Subject Alternative Names for the API Server signing cert
	APIServerCertSANs []string `json:"apiServerCertSANs,omitempty"`
	// CertificatesDir specifies where to store or look for all required certificates
	CertificatesDir string `json:"certificatesDir"`

	// ImageRepository what container registry to pull control plane images from
	ImageRepository string `json:"imageRepository"`
	// UnifiedControlPlaneImage specifies if a specific container image should be used for all control plane components
	UnifiedControlPlaneImage string `json:"unifiedControlPlaneImage"`

	// FeatureGates enabled by the user
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
}

MasterConfiguration contains a list of elements which make up master's configuration object.

func (*MasterConfiguration) DeepCopy added in v1.8.0

func (in *MasterConfiguration) DeepCopy() *MasterConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MasterConfiguration.

func (*MasterConfiguration) DeepCopyInto added in v1.8.0

func (in *MasterConfiguration) DeepCopyInto(out *MasterConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MasterConfiguration) DeepCopyObject added in v1.8.0

func (in *MasterConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Networking

type Networking struct {
	ServiceSubnet string `json:"serviceSubnet"`
	PodSubnet     string `json:"podSubnet"`
	DNSDomain     string `json:"dnsDomain"`
}

Networking contains elements describing cluster's networking configuration

func (*Networking) DeepCopy added in v1.8.0

func (in *Networking) DeepCopy() *Networking

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.

func (*Networking) DeepCopyInto added in v1.8.0

func (in *Networking) DeepCopyInto(out *Networking)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeConfiguration

type NodeConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	CACertPath               string   `json:"caCertPath"`
	DiscoveryFile            string   `json:"discoveryFile"`
	DiscoveryToken           string   `json:"discoveryToken"`
	DiscoveryTokenAPIServers []string `json:"discoveryTokenAPIServers,omitempty"`
	NodeName                 string   `json:"nodeName"`
	TLSBootstrapToken        string   `json:"tlsBootstrapToken"`
	Token                    string   `json:"token"`

	// DiscoveryTokenCACertHashes specifies a set of public key pins to verify
	// when token-based discovery is used. The root CA found during discovery
	// must match one of these values. Specifying an empty set disables root CA
	// pinning, which can be unsafe. Each hash is specified as "<type>:<value>",
	// where the only currently supported type is "sha256". This is a hex-encoded
	// SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded
	// ASN.1. These hashes can be calculated using, for example, OpenSSL:
	// openssl x509 -pubkey -in ca.crt openssl rsa -pubin -outform der 2>&/dev/null | openssl dgst -sha256 -hex
	DiscoveryTokenCACertHashes []string `json:"discoveryTokenCACertHashes,omitempty"`

	// DiscoveryTokenUnsafeSkipCAVerification allows token-based discovery
	// without CA verification via DiscoveryTokenCACertHashes. This can weaken
	// the security of kubeadm since other nodes can impersonate the master.
	DiscoveryTokenUnsafeSkipCAVerification bool `json:"discoveryTokenUnsafeSkipCAVerification"`

	// FeatureGates enabled by the user
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
}

NodeConfiguration contains elements describing a particular node

func (*NodeConfiguration) DeepCopy added in v1.8.0

func (in *NodeConfiguration) DeepCopy() *NodeConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeConfiguration.

func (*NodeConfiguration) DeepCopyInto added in v1.8.0

func (in *NodeConfiguration) DeepCopyInto(out *NodeConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeConfiguration) DeepCopyObject added in v1.8.0

func (in *NodeConfiguration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SelfHostedEtcd added in v1.9.0

type SelfHostedEtcd struct {
	// CertificatesDir represents the directory where all etcd TLS assets are stored. By default this is
	// a dir names "etcd" in the main CertificatesDir value.
	CertificatesDir string `json:"certificatesDir"`
	// ClusterServiceName is the name of the service that load balances the etcd cluster
	ClusterServiceName string `json:"clusterServiceName"`
	// EtcdVersion is the version of etcd running in the cluster.
	EtcdVersion string `json:"etcdVersion"`
	// OperatorVersion is the version of the etcd-operator to use.
	OperatorVersion string `json:"operatorVersion"`
}

SelfHostedEtcd describes options required to configure self-hosted etcd

func (*SelfHostedEtcd) DeepCopy added in v1.9.0

func (in *SelfHostedEtcd) DeepCopy() *SelfHostedEtcd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelfHostedEtcd.

func (*SelfHostedEtcd) DeepCopyInto added in v1.9.0

func (in *SelfHostedEtcd) DeepCopyInto(out *SelfHostedEtcd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenDiscovery added in v1.6.0

type TokenDiscovery struct {
	ID        string   `json:"id"`
	Secret    string   `json:"secret"`
	Addresses []string `json:"addresses"`
}

TokenDiscovery contains elements needed for token discovery

func (*TokenDiscovery) DeepCopy added in v1.8.0

func (in *TokenDiscovery) DeepCopy() *TokenDiscovery

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenDiscovery.

func (*TokenDiscovery) DeepCopyInto added in v1.8.0

func (in *TokenDiscovery) DeepCopyInto(out *TokenDiscovery)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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