1. Remove ks-iam standalone binary, move it to ks-apiserver 2. Generate all devops apis inside kubesphere repository, no need to import s2ioperator. 3. Reorganize ldap code, make it more flexible to use.
41 lines
958 B
Go
41 lines
958 B
Go
package app
|
|
|
|
import (
|
|
"flag"
|
|
"github.com/mholt/caddy/caddy/caddymain"
|
|
"github.com/mholt/caddy/caddyhttp/httpserver"
|
|
"github.com/spf13/cobra"
|
|
"kubesphere.io/kubesphere/pkg/utils/signals"
|
|
|
|
"kubesphere.io/kubesphere/pkg/apigateway"
|
|
)
|
|
|
|
func NewAPIGatewayCommand() *cobra.Command {
|
|
|
|
cmd := &cobra.Command{
|
|
Use: "ks-apigateway",
|
|
Long: `The KubeSphere API Gateway, which is responsible
|
|
for proxy request to the right backend. API Gateway also proxy
|
|
Kubernetes API Server for KubeSphere authorization purpose.
|
|
`,
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
apigateway.RegisterPlugins()
|
|
|
|
return Run(signals.SetupSignalHandler())
|
|
},
|
|
}
|
|
|
|
cmd.Flags().AddGoFlagSet(flag.CommandLine)
|
|
|
|
return cmd
|
|
}
|
|
|
|
func Run(stopCh <-chan struct{}) error {
|
|
httpserver.RegisterDevDirective("authenticate", "jwt")
|
|
httpserver.RegisterDevDirective("authentication", "jwt")
|
|
httpserver.RegisterDevDirective("swagger", "jwt")
|
|
caddymain.Run()
|
|
|
|
return nil
|
|
}
|