mirror of
https://github.com/gravitational/teleport.git
synced 2026-09-21 05:55:42 +08:00
check for correct kube and ssh listen address in starting message (#25780)
* check for correct kube listen address in starting message * fix for ssh proxy and usage of String function * remove consolef output and simplify output * remove consolef output * Remove consolef from services for startup * fix imports * remove all consolef usage
This commit is contained in:
@@ -243,14 +243,8 @@ func (process *TeleportProcess) initWindowsDesktopServiceRegistered(log *logrus.
|
||||
process.RegisterCriticalFunc("windows_desktop.serve", func() error {
|
||||
if useTunnel {
|
||||
log.Info("Starting Windows desktop service via proxy reverse tunnel.")
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentWindowsDesktop,
|
||||
"Windows desktop service %s:%s is starting via proxy reverse tunnel.",
|
||||
teleport.Version, teleport.Gitref)
|
||||
} else {
|
||||
log.Infof("Starting Windows desktop service on %v.", listener.Addr())
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentWindowsDesktop,
|
||||
"Windows desktop service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, listener.Addr())
|
||||
}
|
||||
process.BroadcastEvent(Event{Name: WindowsDesktopReady, Payload: nil})
|
||||
err := srv.Serve(listener)
|
||||
|
||||
@@ -32,7 +32,6 @@ import (
|
||||
"github.com/gravitational/teleport/lib/labels"
|
||||
"github.com/gravitational/teleport/lib/reversetunnel"
|
||||
"github.com/gravitational/teleport/lib/services"
|
||||
"github.com/gravitational/teleport/lib/utils"
|
||||
)
|
||||
|
||||
func (process *TeleportProcess) initKubernetes() {
|
||||
@@ -261,14 +260,8 @@ func (process *TeleportProcess) initKubernetesService(log *logrus.Entry, conn *C
|
||||
process.RegisterCriticalFunc("kube.serve", func() error {
|
||||
if conn.UseTunnel() {
|
||||
log.Info("Starting Kube service via proxy reverse tunnel.")
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentKube,
|
||||
"Kubernetes service %s:%s is starting via proxy reverse tunnel.",
|
||||
teleport.Version, teleport.Gitref)
|
||||
} else {
|
||||
log.Infof("Starting Kube service on %v.", listener.Addr())
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentKube,
|
||||
"Kubernetes service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, listener.Addr())
|
||||
}
|
||||
process.BroadcastEvent(Event{Name: KubernetesReady, Payload: nil})
|
||||
err := kubeServer.Serve(listener)
|
||||
|
||||
+11
-16
@@ -1794,8 +1794,7 @@ func (process *TeleportProcess) initAuthService() error {
|
||||
return trace.Wrap(err)
|
||||
}
|
||||
process.RegisterCriticalFunc("auth.tls", func() error {
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentAuth, "Auth service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, authAddr)
|
||||
log.Infof("Auth service %s:%s is starting on %v.", teleport.Version, teleport.Gitref, authAddr)
|
||||
|
||||
// since tlsServer.Serve is a blocking call, we emit this even right before
|
||||
// the service has started
|
||||
@@ -2471,8 +2470,6 @@ func (process *TeleportProcess) initSSH() error {
|
||||
warnOnErr(process.closeImportedDescriptors(teleport.ComponentNode), log)
|
||||
|
||||
log.Infof("Service %s:%s is starting on %v %v.", teleport.Version, teleport.Gitref, cfg.SSH.Addr.Addr, process.Config.CachePolicy)
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentNode, "Service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, cfg.SSH.Addr.Addr)
|
||||
|
||||
go s.Serve(limiter.WrapListener(listener))
|
||||
} else {
|
||||
@@ -3630,8 +3627,6 @@ func (process *TeleportProcess) initProxyEndpoint(conn *Connector) error {
|
||||
return trace.Wrap(err)
|
||||
}
|
||||
process.RegisterCriticalFunc("proxy.reversetunnel.server", func() error {
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentProxy, "Reverse tunnel service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, cfg.Proxy.ReverseTunnelListenAddr.Addr)
|
||||
log.Infof("Starting %s:%s on %v using %v", teleport.Version, teleport.Gitref, cfg.Proxy.ReverseTunnelListenAddr.Addr, process.Config.CachePolicy)
|
||||
if err := tsrv.Start(); err != nil {
|
||||
log.Error(err)
|
||||
@@ -3800,8 +3795,6 @@ func (process *TeleportProcess) initProxyEndpoint(conn *Connector) error {
|
||||
}
|
||||
|
||||
process.RegisterCriticalFunc("proxy.web", func() error {
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentProxy, "Web proxy service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, cfg.Proxy.WebAddr.Addr)
|
||||
log.Infof("Web proxy service %s:%s is starting on %v.", teleport.Version, teleport.Gitref, cfg.Proxy.WebAddr.Addr)
|
||||
defer webHandler.Close()
|
||||
process.BroadcastEvent(Event{Name: ProxyWebServerReady, Payload: webHandler})
|
||||
@@ -3988,9 +3981,11 @@ func (process *TeleportProcess) initProxyEndpoint(conn *Connector) error {
|
||||
transportpb.RegisterTransportServiceServer(sshGRPCServer, transportService)
|
||||
|
||||
process.RegisterCriticalFunc("proxy.ssh", func() error {
|
||||
utils.Consolef(cfg.Console, log, teleport.ComponentProxy, "SSH proxy service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, cfg.Proxy.SSHAddr.Addr)
|
||||
log.Infof("SSH proxy service %s:%s is starting on %v", teleport.Version, teleport.Gitref, cfg.Proxy.SSHAddr)
|
||||
sshListenerAddr := listeners.ssh.Addr().String()
|
||||
if cfg.Proxy.SSHAddr.Addr != "" {
|
||||
sshListenerAddr = cfg.Proxy.SSHAddr.Addr
|
||||
}
|
||||
log.Infof("SSH proxy service %s:%s is starting on %v", teleport.Version, teleport.Gitref, sshListenerAddr)
|
||||
|
||||
// start ssh server
|
||||
go func() {
|
||||
@@ -4124,7 +4119,11 @@ func (process *TeleportProcess) initProxyEndpoint(conn *Connector) error {
|
||||
trace.Component: component,
|
||||
})
|
||||
|
||||
log.Infof("Starting Kube proxy on %v.", cfg.Proxy.Kube.ListenAddr.Addr)
|
||||
kubeListenAddr := listeners.kube.Addr().String()
|
||||
if cfg.Proxy.Kube.ListenAddr.Addr != "" {
|
||||
kubeListenAddr = cfg.Proxy.Kube.ListenAddr.Addr
|
||||
}
|
||||
log.Infof("Starting Kube proxy on %v.", kubeListenAddr)
|
||||
err := kubeServer.Serve(listeners.kube)
|
||||
if err != nil && err != http.ErrServerClosed {
|
||||
log.Warningf("Kube TLS server exited with error: %v.", err)
|
||||
@@ -4465,10 +4464,6 @@ func (process *TeleportProcess) initMinimalReverseTunnel(listeners *proxyListene
|
||||
}
|
||||
|
||||
process.RegisterCriticalFunc("proxy.reversetunnel.web", func() error {
|
||||
utils.Consolef(
|
||||
cfg.Console, log, teleport.ComponentProxy,
|
||||
"Minimal web proxy service %s:%s is starting on %v.",
|
||||
teleport.Version, teleport.Gitref, cfg.Proxy.ReverseTunnelListenAddr.Addr)
|
||||
log.Infof("Minimal web proxy service %s:%s is starting on %v.", teleport.Version, teleport.Gitref, cfg.Proxy.ReverseTunnelListenAddr.Addr)
|
||||
defer minimalWebHandler.Close()
|
||||
if err := minimalWebServer.Serve(minimalListener.Web()); err != nil && err != http.ErrServerClosed {
|
||||
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
stdlog "log"
|
||||
"math"
|
||||
"os"
|
||||
"runtime"
|
||||
"strconv"
|
||||
@@ -279,21 +278,6 @@ func Color(color int, v interface{}) string {
|
||||
return fmt.Sprintf("\x1b[%dm%v\x1b[0m", color, v)
|
||||
}
|
||||
|
||||
// Consolef prints the same message to a 'ui console' (if defined) and also to
|
||||
// the logger with INFO priority
|
||||
func Consolef(w io.Writer, log logrus.FieldLogger, component, msg string, params ...interface{}) {
|
||||
msg = fmt.Sprintf(msg, params...)
|
||||
log.Info(msg)
|
||||
if w != nil {
|
||||
component := strings.ToUpper(component)
|
||||
// 13 is the length of "[KUBERNETES]", which is the longest component
|
||||
// name prefix we have *today*. Use a Max function here to avoid
|
||||
// negative spacing, in case we add longer component names.
|
||||
spacing := int(math.Max(float64(12-len(component)), 0))
|
||||
fmt.Fprintf(w, "[%v]%v %v\n", strings.ToUpper(component), strings.Repeat(" ", spacing), msg)
|
||||
}
|
||||
}
|
||||
|
||||
// InitCLIParser configures kingpin command line args parser with
|
||||
// some defaults common for all Teleport CLI tools
|
||||
func InitCLIParser(appName, appHelp string) (app *kingpin.Application) {
|
||||
|
||||
@@ -19,12 +19,10 @@ package utils
|
||||
import (
|
||||
"crypto/x509"
|
||||
"fmt"
|
||||
"io"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/gravitational/trace"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
@@ -60,17 +58,6 @@ func TestUserMessageFromError(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Regressions test - Consolef used to panic when component name was longer
|
||||
// than 8 bytes.
|
||||
func TestConsolefLongComponent(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
require.NotPanics(t, func() {
|
||||
component := strings.Repeat("na ", 10) + "batman!"
|
||||
Consolef(io.Discard, logrus.New(), component, "test message")
|
||||
})
|
||||
}
|
||||
|
||||
// TestEscapeControl tests escape control
|
||||
func TestEscapeControl(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -198,9 +198,8 @@ func TryRun(commands []CLICommand, args []string) error {
|
||||
if utils.IsUntrustedCertErr(err) {
|
||||
err = trace.WrapWithMessage(err, utils.SelfSignedCertsMsg)
|
||||
}
|
||||
utils.Consolef(os.Stderr, log.WithField(trace.Component, teleport.ComponentClient), teleport.ComponentClient,
|
||||
"Cannot connect to the auth server: %v.\nIs the auth server running on %q?",
|
||||
err, cfg.AuthServerAddresses()[0].Addr)
|
||||
log.Errorf("Cannot connect to the auth server. Is the auth server running on %q? %v",
|
||||
cfg.AuthServerAddresses()[0].Addr, err)
|
||||
return trace.NewAggregate(&common.ExitCodeError{Code: 1}, err)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user