Unverified Commit a2471a1f authored by Brian Downs's avatar Brian Downs Committed by GitHub

Merge pull request #2146 from briandowns/add_hook_for_rke2

add setup hook capabilities for rke2
parents 5859f83d 324bb559
package cmds package cmds
import ( import (
"context"
"github.com/rancher/k3s/pkg/daemons/config"
"github.com/rancher/k3s/pkg/version" "github.com/rancher/k3s/pkg/version"
"github.com/rancher/spur/cli" "github.com/rancher/spur/cli"
"github.com/rancher/spur/cli/altsrc" "github.com/rancher/spur/cli/altsrc"
...@@ -54,6 +57,7 @@ type Server struct { ...@@ -54,6 +57,7 @@ type Server struct {
ClusterInit bool ClusterInit bool
ClusterReset bool ClusterReset bool
EncryptSecrets bool EncryptSecrets bool
StartupHooks []func(context.Context, config.Control) error
} }
var ServerConfig Server var ServerConfig Server
......
...@@ -193,6 +193,8 @@ func run(app *cli.Context, cfg *cmds.Server) error { ...@@ -193,6 +193,8 @@ func run(app *cli.Context, cfg *cmds.Server) error {
return errors.Wrap(err, "Invalid tls-min-version") return errors.Wrap(err, "Invalid tls-min-version")
} }
serverConfig.StartupHooks = append(serverConfig.StartupHooks, cfg.StartupHooks...)
// TLS config based on mozilla ssl-config generator // TLS config based on mozilla ssl-config generator
// https://ssl-config.mozilla.org/#server=golang&version=1.13.6&config=intermediate&guideline=5.4 // https://ssl-config.mozilla.org/#server=golang&version=1.13.6&config=intermediate&guideline=5.4
// Need to disable the TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Cipher for TLS1.2 // Need to disable the TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 Cipher for TLS1.2
......
...@@ -60,6 +60,12 @@ func StartServer(ctx context.Context, config *Config) error { ...@@ -60,6 +60,12 @@ func StartServer(ctx context.Context, config *Config) error {
return errors.Wrap(err, "starting tls server") return errors.Wrap(err, "starting tls server")
} }
for _, hook := range config.StartupHooks {
if err := hook(ctx, config.ControlConfig); err != nil {
return errors.Wrap(err, "startup hook")
}
}
ip := net2.ParseIP(config.ControlConfig.BindAddress) ip := net2.ParseIP(config.ControlConfig.BindAddress)
if ip == nil { if ip == nil {
hostIP, err := net.ChooseHostInterface() hostIP, err := net.ChooseHostInterface()
......
package server package server
import ( import (
"context"
"github.com/rancher/k3s/pkg/daemons/config" "github.com/rancher/k3s/pkg/daemons/config"
) )
...@@ -10,4 +12,5 @@ type Config struct { ...@@ -10,4 +12,5 @@ type Config struct {
ControlConfig config.Control ControlConfig config.Control
Rootless bool Rootless bool
SupervisorPort int SupervisorPort int
StartupHooks []func(context.Context, config.Control) error
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment