@ -21,6 +21,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
"k8s.io/apimachinery/pkg/util/net"
kubeapiserverflag "k8s.io/component-base/cli/flag"
"k8s.io/kubernetes/pkg/master"
_ "github.com/go-sql-driver/mysql" // ensure we have mysql
@ -183,6 +184,20 @@ func run(app *cli.Context, cfg *cmds.Server) error {
serverConfig . ControlConfig . Disables [ "ccm" ] = true
}
TLSMinVersion := getArgValueFromList ( "tls-min-version" , cfg . ExtraAPIArgs )
serverConfig . ControlConfig . TLSMinVersion , err = kubeapiserverflag . TLSVersion ( TLSMinVersion )
if err != nil {
return errors . Wrapf ( err , "Invalid TLS Version %s: %v" , TLSMinVersion , err )
}
TLSCipherSuites := [ ] string { getArgValueFromList ( "tls-cipher-suites" , cfg . ExtraAPIArgs ) }
if len ( TLSCipherSuites ) != 0 && TLSCipherSuites [ 0 ] != "" {
serverConfig . ControlConfig . TLSCipherSuites , err = kubeapiserverflag . TLSCipherSuites ( TLSCipherSuites )
if err != nil {
return errors . Wrapf ( err , "Invalid TLS Cipher Suites %s: %v" , TLSCipherSuites , err )
}
}
logrus . Info ( "Starting k3s " , app . App . Version )
notifySocket := os . Getenv ( "NOTIFY_SOCKET" )
os . Unsetenv ( "NOTIFY_SOCKET" )
@ -240,3 +255,16 @@ func knownIPs(ips []string) []string {
}
return ips
}
func getArgValueFromList ( searchArg string , argList [ ] string ) string {
var value string
for _ , arg := range argList {
splitArg := strings . SplitN ( arg , "=" , 2 )
if splitArg [ 0 ] == searchArg {
value = splitArg [ 1 ]
// break if we found our value
break
}
}
return value
}