blob: f4ffa0bf8e72d3a8ee50be66656d5daa26576225 [file] [log] [blame]
// Copyright 2020 The Monogon Project Authors.
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package node
import "strconv"
// Port is a TCP and/or UDP port number reserved for and used by Metropolis
// node code.
type Port uint16
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
// 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 (p Port) String() string {
switch p {
case CuratorServicePort:
return "curator"
case ConsensusPort:
return "consensus"
case DebugServicePort:
return "debug"
case WireGuardPort:
return "wireguard"
case KubernetesAPIPort:
return "kubernetes-api"
case KubernetesWorkerLocalAPIPort:
return "kubernetes-worker-local-api"
case KubernetesAPIWrappedPort:
return "kubernetes-api-wrapped"
case DebuggerPort:
return "delve"
}
return "unknown"
}
func (p Port) PortString() string {
return strconv.Itoa(int(p))
}