Skip to content

Commit 69b045c

Browse files
authored
Merge pull request #107 from yue9944882/fix-proxy-timeout
Fixes proxy timeout
2 parents 63b50f7 + bdd6692 commit 69b045c

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

cmd/apiserver/main.go

+14
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,15 @@ import (
1919
"github.com/oam-dev/cluster-gateway/pkg/metrics"
2020
"github.com/oam-dev/cluster-gateway/pkg/options"
2121
"github.com/oam-dev/cluster-gateway/pkg/util/singleton"
22+
"k8s.io/apimachinery/pkg/util/sets"
23+
"k8s.io/apiserver/pkg/endpoints/request"
24+
"k8s.io/apiserver/pkg/server"
2225
"k8s.io/klog/v2"
26+
"net/http"
2327
"sigs.k8s.io/apiserver-runtime/pkg/builder"
2428
// +kubebuilder:scaffold:resource-imports
2529
clusterv1alpha1 "github.com/oam-dev/cluster-gateway/pkg/apis/cluster/v1alpha1"
30+
genericfilters "k8s.io/apiserver/pkg/server/filters"
2631

2732
_ "github.com/oam-dev/cluster-gateway/pkg/featuregates"
2833
)
@@ -39,6 +44,15 @@ func main() {
3944
ExposeLoopbackMasterClientConfig().
4045
ExposeLoopbackAuthorizer().
4146
WithoutEtcd().
47+
WithConfigFns(func(config *server.RecommendedConfig) *server.RecommendedConfig {
48+
config.LongRunningFunc = func(r *http.Request, requestInfo *request.RequestInfo) bool {
49+
if requestInfo.Resource == "clustergateways" && requestInfo.Subresource == "proxy" {
50+
return true
51+
}
52+
return genericfilters.BasicLongRunningRequestCheck(sets.NewString("watch"), sets.NewString())(r, requestInfo)
53+
}
54+
return config
55+
}).
4256
WithOptionsFns(func(options *builder.ServerOptions) *builder.ServerOptions {
4357
if err := config.ValidateSecret(); err != nil {
4458
klog.Fatal(err)

0 commit comments

Comments
 (0)