mirror of
https://git.vectorsigma.ru/public/k3s.git
synced 2026-07-29 20:58:54 +00:00
Move request handlers out of server package
The servers package, and router.go in particular, had become quite large. Address this by moving some things out to separate packages: * http request handlers all move to pkg/server/handlers. * node password bootstrap auth handler goes into pkg/nodepassword with the other nodepassword code. While we're at it, also be more consistent about calling variables that hold a config.Control struct or reference `control` instead of `config` or `server`. Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
This commit is contained in:
committed by
Brad Davidson
parent
17feb8bed1
commit
2e4e7cf2c1
@@ -23,6 +23,7 @@ import (
|
||||
"github.com/k3s-io/k3s/pkg/nodepassword"
|
||||
"github.com/k3s-io/k3s/pkg/rootlessports"
|
||||
"github.com/k3s-io/k3s/pkg/secretsencrypt"
|
||||
"github.com/k3s-io/k3s/pkg/server/handlers"
|
||||
"github.com/k3s-io/k3s/pkg/static"
|
||||
"github.com/k3s-io/k3s/pkg/util"
|
||||
"github.com/k3s-io/k3s/pkg/version"
|
||||
@@ -58,7 +59,7 @@ func StartServer(ctx context.Context, config *Config, cfg *cmds.Server) error {
|
||||
wg := &sync.WaitGroup{}
|
||||
wg.Add(len(config.StartupHooks))
|
||||
|
||||
config.ControlConfig.Runtime.Handler = router(ctx, config, cfg)
|
||||
config.ControlConfig.Runtime.Handler = handlers.NewHandler(ctx, &config.ControlConfig, cfg)
|
||||
config.ControlConfig.Runtime.StartupHooksWg = wg
|
||||
|
||||
shArgs := cmds.StartupHookArgs{
|
||||
@@ -346,7 +347,7 @@ func printTokens(config *config.Control) error {
|
||||
var serverTokenFile string
|
||||
if config.Runtime.ServerToken != "" {
|
||||
serverTokenFile = filepath.Join(config.DataDir, "token")
|
||||
if err := writeToken(config.Runtime.ServerToken, serverTokenFile, config.Runtime.ServerCA); err != nil {
|
||||
if err := handlers.WriteToken(config.Runtime.ServerToken, serverTokenFile, config.Runtime.ServerCA); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -374,7 +375,7 @@ func printTokens(config *config.Control) error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if err := writeToken(config.Runtime.AgentToken, agentTokenFile, config.Runtime.ServerCA); err != nil {
|
||||
if err := handlers.WriteToken(config.Runtime.AgentToken, agentTokenFile, config.Runtime.ServerCA); err != nil {
|
||||
return err
|
||||
}
|
||||
} else if serverTokenFile != "" {
|
||||
@@ -490,18 +491,6 @@ func printToken(httpsPort int, advertiseIP, prefix, cmd, varName string) {
|
||||
logrus.Infof("%s %s %s -s https://%s:%d -t ${%s}", prefix, version.Program, cmd, advertiseIP, httpsPort, varName)
|
||||
}
|
||||
|
||||
func writeToken(token, file, certs string) error {
|
||||
if len(token) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
token, err := clientaccess.FormatToken(token, certs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return os.WriteFile(file, []byte(token+"\n"), 0600)
|
||||
}
|
||||
|
||||
func setNoProxyEnv(config *config.Control) error {
|
||||
splitter := func(c rune) bool {
|
||||
return c == ','
|
||||
|
||||
Reference in New Issue
Block a user