Documentation ¶
Index ¶
Constants ¶
View Source
const ( RootUid = 0 TimeUid = 100 )
These are UID/GID constants for components inside the Metropolis node code.
View Source
const ( // ProtocolClusternet is used by //metropolis/node/core/clusternet when // creating/removing routes pointing to the clusternet interface. ProtocolClusternet netlink.RouteProtocol = 129 )
These are netlink protocol numbers used internally for various netlink resource (e.g. route) owners/manager.
Variables ¶
View Source
var ( // Used by //metropolis/node/kubernetes as the DNS server IP for containers. // Link-local IP space, 77 for ASCII M(onogon), 53 for DNS port. ContainerDNSIP = net.IPv4(169, 254, 77, 53) )
These are IP addresses used by various parts of Metropolis.
Functions ¶
This section is empty.
Types ¶
type Port ¶
type Port uint16
Port is a TCP and/or UDP port number reserved for and used by Metropolis node code.
const ( // CuratorServicePort is the TCP port on which the Curator listens for gRPC // calls and services Management/AAA/Curator RPCs. CuratorServicePort Port = 7835 // ConsensusPort is the TCP port on which etcd listens for peer traffic. ConsensusPort Port = 7834 // DebugServicePort is the TCP port on which the debug service serves gRPC // traffic. This is only available in debug builds. DebugServicePort Port = 7837 // WireGuardPort is the UDP port on which the Wireguard Kubernetes network // overlay listens for incoming peer traffic. WireGuardPort Port = 7838 // NodeManagement is the TCP port on which the node-local management service // serves gRPC traffic for NodeManagement. NodeManagement Port = 7839 // MetricsPort is the TCP port on which the Metrics Service exports // Prometheus-compatible metrics for this node, secured using TLS and the // Cluster/Node certificates. MetricsPort Port = 7840 // MetricsNodeListenerPort is the TCP port on which the Prometheus node_exporter // runs, bound to 127.0.0.1. The Metrics Service proxies traffic to it from the // public MetricsPort. MetricsNodeListenerPort Port = 7841 // MetricsEtcdListenerPort is the TCP port on which the etcd exporter // runs, bound to 127.0.0.1. The metrics service proxies traffic to it from the // public MetricsPort. MetricsEtcdListenerPort Port = 7842 // MetricsKubeSchedulerListenerPort is the TCP port on which the proxy for // the kube-scheduler runs, bound to 127.0.0.1. The metrics service proxies // traffic to it from the public MetricsPort. MetricsKubeSchedulerListenerPort Port = 7843 // MetricsKubeControllerManagerListenerPort is the TCP port on which the // proxy for the controller-manager runs, bound to 127.0.0.1. The metrics // service proxies traffic to it from the public MetricsPort. MetricsKubeControllerManagerListenerPort Port = 7844 // MetricsKubeAPIServerListenerPort is the TCP port on which the // proxy for the api-server runs, bound to 127.0.0.1. The metrics // service proxies traffic to it from the public MetricsPort. MetricsKubeAPIServerListenerPort Port = 7845 // KubernetesAPIPort is the TCP port on which the Kubernetes API is // exposed. KubernetesAPIPort Port = 6443 // KubernetesAPIWrappedPort is the TCP port on which the Metropolis // authenticating proxy for the Kubernetes API is exposed. KubernetesAPIWrappedPort Port = 6444 // KubernetesWorkerLocalAPIPort is the TCP port on which Kubernetes worker nodes // run a loadbalancer to access the cluster's API servers before cluster // networking is available. This port is only bound to 127.0.0.1. KubernetesWorkerLocalAPIPort Port = 6445 // DebuggerPort is the port on which the delve debugger runs (on debug // builds only). Not to be confused with DebugServicePort. DebuggerPort Port = 2345 )
func (Port) PortString ¶
Directories ¶
Path | Synopsis |
---|---|
build
|
|
fwprune
fwprune is a buildsystem utility that filters linux-firmware repository contents to include only files required by the built-in kernel modules, that are specified in modules.builtin.modinfo.
|
fwprune is a buildsystem utility that filters linux-firmware repository contents to include only files required by the built-in kernel modules, that are specified in modules.builtin.modinfo. |
genosrelease
genosrelease provides rudimentary support to generate os-release files following the freedesktop spec from arguments and stamping
|
genosrelease provides rudimentary support to generate os-release files following the freedesktop spec from arguments and stamping |
mkerofs
mkerofs takes a specification in the form of a prototext file (see fsspec next to this) and assembles an EROFS filesystem according to it.
|
mkerofs takes a specification in the form of a prototext file (see fsspec next to this) and assembles an EROFS filesystem according to it. |
mkimage
mkimage is a tool to generate Metropolis node disk images.
|
mkimage is a tool to generate Metropolis node disk images. |
mkimage/osimage
This package provides self-contained implementation used to generate Metropolis disk images.
|
This package provides self-contained implementation used to generate Metropolis disk images. |
mkpayload
mkpayload is an objcopy wrapper that builds EFI unified kernel images.
|
mkpayload is an objcopy wrapper that builds EFI unified kernel images. |
mkucode
This assembles standalone microcode files into the format expected by the Linux microcode loader.
|
This assembles standalone microcode files into the format expected by the Linux microcode loader. |
mkverity
This package implements a command line tool that creates dm-verity hash images at a selected path, given an existing data image.
|
This package implements a command line tool that creates dm-verity hash images at a selected path, given an existing data image. |
This uses the unstable overrideWrite interface to also emit all runtime writes to a dedicated runtime file descriptor to catch and debug crash dumps.
|
This uses the unstable overrideWrite interface to also emit all runtime writes to a dedicated runtime file descriptor to catch and debug crash dumps. |
cluster
Package cluster implements low-level clustering logic, especially logic regarding to bootstrapping, registering into and joining a cluster.
|
Package cluster implements low-level clustering logic, especially logic regarding to bootstrapping, registering into and joining a cluster. |
clusternet
Package clusternet implements a Cluster Networking mesh service running on all Metropolis nodes.
|
Package clusternet implements a Cluster Networking mesh service running on all Metropolis nodes. |
consensus/client
package client implements a higher-level client for consensus/etcd that is to be used within the Metropolis node code for unprivileged access (ie.
|
package client implements a higher-level client for consensus/etcd that is to be used within the Metropolis node code for unprivileged access (ie. |
curator
package curator implements the Curator, a service responsible for management of the Metropolis cluster that it is running on.
|
package curator implements the Curator, a service responsible for management of the Metropolis cluster that it is running on. |
devmgr
Package devmgr is the userspace pendant to the kernel device management system.
|
Package devmgr is the userspace pendant to the kernel device management system. |
metrics/fake_exporter
fake_exporter is a tiny Prometheus-compatible metrics exporter which exports a single metric with a value configured at startup.
|
fake_exporter is a tiny Prometheus-compatible metrics exporter which exports a single metric with a value configured at startup. |
mgmt
Package mgmt implements the node-local management service, a.k.a.
|
Package mgmt implements the node-local management service, a.k.a. |
network/dhcp4c
Package dhcp4c implements a DHCPv4 Client as specified in RFC2131 (with some notable deviations).
|
Package dhcp4c implements a DHCPv4 Client as specified in RFC2131 (with some notable deviations). |
network/dhcp4c/callback
Package callback contains minimal callbacks for configuring the kernel with options received over DHCP.
|
Package callback contains minimal callbacks for configuring the kernel with options received over DHCP. |
network/dhcp4c/transport
Package transport contains Linux-based transports for the DHCP broadcast and unicast specifications.
|
Package transport contains Linux-based transports for the DHCP broadcast and unicast specifications. |
network/dns
Package DNS provides a DNS server using CoreDNS.
|
Package DNS provides a DNS server using CoreDNS. |
network/hostsfile
Package hostsfile implements a service which owns and writes all node-local files/interfaces used by the system to resolve the local node's name and the names of other nodes in the cluster:
|
Package hostsfile implements a service which owns and writes all node-local files/interfaces used by the system to resolve the local node's name and the names of other nodes in the cluster: |
roleserve
Package roleserve implements the roleserver/“Role Server”.
|
Package roleserve implements the roleserver/“Role Server”. |
time
Package time implements a supervisor runnable which is responsible for keeping both the system clock and the RTC accurate.
|
Package time implements a supervisor runnable which is responsible for keeping both the system clock and the RTC accurate. |
authproxy
Package authproxy implements an authenticating proxy in front of the K8s API server converting Metropolis credentials into authentication headers.
|
Package authproxy implements an authenticating proxy in front of the K8s API server converting Metropolis credentials into authentication headers. |
clusternet
Package clusternet implements a WireGuard-based overlay network for Kubernetes.
|
Package clusternet implements a WireGuard-based overlay network for Kubernetes. |
metricsproxy
Package metricsproxy implements an authenticating proxy in front of the K8s controller-manager and scheduler providing unauthenticated access to the metrics via local ports
|
Package metricsproxy implements an authenticating proxy in front of the K8s controller-manager and scheduler providing unauthenticated access to the metrics via local ports |
nfproxy
Package nfproxy is a Kubernetes Service IP proxy based exclusively on the Linux nftables interface.
|
Package nfproxy is a Kubernetes Service IP proxy based exclusively on the Linux nftables interface. |
pki
package pki builds upon metropolis/pkg/pki/ to provide an etcd-backed implementation of all x509 PKI Certificates/CAs required to run Kubernetes.
|
package pki builds upon metropolis/pkg/pki/ to provide an etcd-backed implementation of all x509 PKI Certificates/CAs required to run Kubernetes. |
plugins/kvmdevice
Package kvmdevice implements a Kubernetes device plugin for the virtual KVM device.
|
Package kvmdevice implements a Kubernetes device plugin for the virtual KVM device. |
reconciler
The reconciler ensures that a base set of K8s resources is always available in the cluster.
|
The reconciler ensures that a base set of K8s resources is always available in the cluster. |
Click to show internal directories.
Click to hide internal directories.