fix apigateway clientset bug
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
controllermanager "kubesphere.io/kubesphere/cmd/controller-manager/app"
|
controllermanager "kubesphere.io/kubesphere/cmd/controller-manager/app"
|
||||||
|
ksapigateway "kubesphere.io/kubesphere/cmd/ks-apigateway/app"
|
||||||
ksapiserver "kubesphere.io/kubesphere/cmd/ks-apiserver/app"
|
ksapiserver "kubesphere.io/kubesphere/cmd/ks-apiserver/app"
|
||||||
ksaiam "kubesphere.io/kubesphere/cmd/ks-iam/app"
|
ksaiam "kubesphere.io/kubesphere/cmd/ks-iam/app"
|
||||||
"os"
|
"os"
|
||||||
@@ -46,11 +47,13 @@ func NewHyperSphereCommand() (*cobra.Command, []func() *cobra.Command) {
|
|||||||
apiserver := func() *cobra.Command { return ksapiserver.NewAPIServerCommand() }
|
apiserver := func() *cobra.Command { return ksapiserver.NewAPIServerCommand() }
|
||||||
controllermanager := func() *cobra.Command { return controllermanager.NewControllerManagerCommand() }
|
controllermanager := func() *cobra.Command { return controllermanager.NewControllerManagerCommand() }
|
||||||
iam := func() *cobra.Command { return ksaiam.NewAPIServerCommand() }
|
iam := func() *cobra.Command { return ksaiam.NewAPIServerCommand() }
|
||||||
|
apigateway := func() *cobra.Command { return ksapigateway.NewAPIGatewayCommand() }
|
||||||
|
|
||||||
commandFns := []func() *cobra.Command{
|
commandFns := []func() *cobra.Command{
|
||||||
apiserver,
|
apiserver,
|
||||||
controllermanager,
|
controllermanager,
|
||||||
iam,
|
iam,
|
||||||
|
apigateway,
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/mholt/caddy/caddy/caddymain"
|
"kubesphere.io/kubesphere/cmd/ks-apigateway/app"
|
||||||
"github.com/mholt/caddy/caddyhttp/httpserver"
|
"os"
|
||||||
|
|
||||||
// Install apis
|
// Install apis
|
||||||
_ "kubesphere.io/kubesphere/pkg/apigateway/caddy-plugin/authenticate"
|
_ "kubesphere.io/kubesphere/pkg/apigateway/caddy-plugin/authenticate"
|
||||||
@@ -28,8 +28,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
httpserver.RegisterDevDirective("authenticate", "jwt")
|
|
||||||
httpserver.RegisterDevDirective("authentication", "jwt")
|
cmd := app.NewAPIGatewayCommand()
|
||||||
httpserver.RegisterDevDirective("swagger", "jwt")
|
|
||||||
caddymain.Run()
|
if err := cmd.Execute(); err != nil {
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
46
cmd/ks-apigateway/app/server.go
Normal file
46
cmd/ks-apigateway/app/server.go
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
package app
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/mholt/caddy/caddy/caddymain"
|
||||||
|
"github.com/mholt/caddy/caddyhttp/httpserver"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
apiserverconfig "kubesphere.io/kubesphere/pkg/server/config"
|
||||||
|
"kubesphere.io/kubesphere/pkg/simple/client"
|
||||||
|
"kubesphere.io/kubesphere/pkg/utils/signals"
|
||||||
|
)
|
||||||
|
|
||||||
|
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 {
|
||||||
|
|
||||||
|
err := apiserverconfig.Load()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return Run(signals.SetupSignalHandler())
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
func Run(stopCh <-chan struct{}) error {
|
||||||
|
|
||||||
|
csop := &client.ClientSetOptions{}
|
||||||
|
csop.SetKubernetesOptions(apiserverconfig.Get().KubernetesOptions)
|
||||||
|
client.NewClientSetFactory(csop, stopCh)
|
||||||
|
|
||||||
|
httpserver.RegisterDevDirective("authenticate", "jwt")
|
||||||
|
httpserver.RegisterDevDirective("authentication", "jwt")
|
||||||
|
httpserver.RegisterDevDirective("swagger", "jwt")
|
||||||
|
caddymain.Run()
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user