Block writes operations in read-only mode on the server

This commit is contained in:
Zef Hemel
2025-09-23 08:19:29 +02:00
parent 56b0fb164b
commit fe7956aa83
2 changed files with 52 additions and 6 deletions
+11 -6
View File
@@ -73,6 +73,17 @@ func buildConfig(bundledFiles fs.FS, args []string) *server.ServerConfig {
var spacePrimitives server.SpacePrimitives
spacePrimitives, err := server.NewDiskSpacePrimitives(rootSpaceConfig.SpaceFolderPath, rootSpaceConfig.GitIgnore)
rootSpaceConfig.ReadOnlyMode = os.Getenv("SB_READ_ONLY") != ""
if rootSpaceConfig.ReadOnlyMode {
log.Println("Starting in read-only mode.")
}
if rootSpaceConfig.ReadOnlyMode {
// Wrap the space primitives in read only mode
spacePrimitives = server.NewReadOnlySpacePrimitives(spacePrimitives)
}
if err != nil {
log.Fatal(err)
}
@@ -109,8 +120,6 @@ func buildConfig(bundledFiles fs.FS, args []string) *server.ServerConfig {
pieces[0], rootSpaceConfig.Auth.LockoutLimit, rootSpaceConfig.Auth.LockoutTime)
}
rootSpaceConfig.ReadOnlyMode = os.Getenv("SB_READ_ONLY") != ""
if os.Getenv("SB_NAME") != "" {
rootSpaceConfig.SpaceName = os.Getenv("SB_NAME")
}
@@ -119,10 +128,6 @@ func buildConfig(bundledFiles fs.FS, args []string) *server.ServerConfig {
rootSpaceConfig.SpaceDescription = os.Getenv("SB_DESCRIPTION")
}
if rootSpaceConfig.ReadOnlyMode {
log.Println("Starting in read-only mode.")
}
if os.Getenv("SB_URL_PREFIX") != "" {
hostUrlPrefix := os.Getenv("SB_URL_PREFIX")
// Normalize the host URL prefix (if set)