package app import ( "fmt" "github.com/seaweedfs/seaweedfs/weed/admin/maintenance" "github.com/seaweedfs/seaweedfs/weed/admin/config" "github.com/seaweedfs/seaweedfs/weed/admin/view/components" ) templ MaintenanceConfigSchema(data *maintenance.MaintenanceConfigData, schema *maintenance.MaintenanceConfigSchema) {

Maintenance Configuration

System Settings
for _, field := range schema.Fields { @ConfigField(field, data.Config) }
Volume Vacuum

Reclaims disk space by removing deleted files from volumes.

Configure
Volume Balance

Redistributes volumes across servers to optimize storage utilization.

Configure
Erasure Coding

Converts volumes to erasure coded format for improved durability.

Configure
} // ConfigField renders a single configuration field based on schema with typed value lookup templ ConfigField(field *config.Field, config *maintenance.MaintenanceConfig) { if field.InputType == "interval" {
if field.Description != "" {
{ field.Description }
}
} else if field.InputType == "checkbox" {
if field.Description != "" {
{ field.Description }
}
} else {
if field.Description != "" {
{ field.Description }
}
} } // Helper functions for form field types func getNumberStep(field *config.Field) string { if field.Type == config.FieldTypeFloat { return "0.01" } return "1" } // Typed field getters for MaintenanceConfig - no interface{} needed func getMaintenanceInt32Field(config *maintenance.MaintenanceConfig, fieldName string) int32 { if config == nil { return 0 } switch fieldName { case "scan_interval_seconds": return config.ScanIntervalSeconds case "worker_timeout_seconds": return config.WorkerTimeoutSeconds case "task_timeout_seconds": return config.TaskTimeoutSeconds case "retry_delay_seconds": return config.RetryDelaySeconds case "max_retries": return config.MaxRetries case "cleanup_interval_seconds": return config.CleanupIntervalSeconds case "task_retention_seconds": return config.TaskRetentionSeconds case "global_max_concurrent": if config.Policy != nil { return config.Policy.GlobalMaxConcurrent } return 0 default: return 0 } } func getMaintenanceBoolField(config *maintenance.MaintenanceConfig, fieldName string) bool { if config == nil { return false } switch fieldName { case "enabled": return config.Enabled default: return false } } // Helper function to convert schema to JSON for JavaScript templ schemaToJSON(schema *maintenance.MaintenanceConfigSchema) { {`{}`} }