Disable filer UI in configuration (#5297)

* Add filer.ui.enabled configuration property

* Add filer.expose_directory_metadata to config

* Ammend commit

* Remove ShowUI reference

* Update all routes that allow directory metadata

* Add cmd flag to server.go
This commit is contained in:
jerebear12
2024-02-27 10:38:55 -06:00
committed by GitHub
parent e88467bb36
commit 85d6d5371b
6 changed files with 23 additions and 2 deletions

View File

@@ -72,6 +72,7 @@ type FilerOption struct {
DownloadMaxBytesPs int64
DiskType string
AllowedOrigins []string
ExposeDirectoryData bool
}
type FilerServer struct {
@@ -115,6 +116,10 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
domains := strings.Split(allowedOrigins, ",")
option.AllowedOrigins = domains
v.SetDefault("filer.expose_directory_metadata.enabled", true)
returnDirMetadata := v.GetBool("filer.expose_directory_metadata.enabled")
option.ExposeDirectoryData = returnDirMetadata
fs = &FilerServer{
option: option,
grpcDialOption: security.LoadClientTLS(util.GetViper(), "grpc.filer"),

View File

@@ -117,7 +117,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request)
w.WriteHeader(http.StatusForbidden)
return
}
if query.Get("metadata") == "true" {
if query.Get("metadata") == "true" && fs.option.ExposeDirectoryData != false {
writeJsonQuiet(w, r, http.StatusOK, entry)
return
}
@@ -135,7 +135,7 @@ func (fs *FilerServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request)
return
}
if query.Get("metadata") == "true" {
if query.Get("metadata") == "true" && fs.option.ExposeDirectoryData != false {
if query.Get("resolveManifest") == "true" {
if entry.Chunks, _, err = filer.ResolveChunkManifest(
fs.filer.MasterClient.GetLookupFileIdFunction(),

View File

@@ -18,6 +18,11 @@ import (
// is empty.
func (fs *FilerServer) listDirectoryHandler(w http.ResponseWriter, r *http.Request) {
if fs.option.ExposeDirectoryData == false {
http.NotFound(w, r)
return
}
stats.FilerHandlerCounter.WithLabelValues(stats.DirList).Inc()
path := r.URL.Path
@@ -95,4 +100,5 @@ func (fs *FilerServer) listDirectoryHandler(w http.ResponseWriter, r *http.Reque
if err != nil {
glog.V(0).Infof("Template Execute Error: %v", err)
}
}