Files
opencloud/pkg/config/config.go
2020-04-22 14:39:19 +02:00

70 lines
1.4 KiB
Go

package config
// Log defines the available logging configuration.
type Log struct {
Level string
Pretty bool
Color bool
}
// Debug defines the available debug configuration.
type Debug struct {
Addr string
Token string
Pprof bool
Zpages bool
}
// Server defines the available server configuration.
type Server struct {
Name string
Namespace string
Address string
}
// Tracing defines the available tracing configuration.
type Tracing struct {
Enabled bool
Type string
Endpoint string
Collector string
Service string
}
// Config combines all available configuration parts.
type Config struct {
File string
Log Log
Debug Debug
Server Server
Tracing Tracing
Thumbnail Thumbnail
}
// FileSystemStorage defines the available filesystem storage configuration.
type FileSystemStorage struct {
RootDirectory string
}
// WebDavSource defines the available webdav source configuration.
type WebDavSource struct {
BaseURL string
}
// FileSystemSource defines the available filesystem source configuration.
type FileSystemSource struct {
BasePath string
}
// Thumbnail defines the available thumbnail related configuration.
type Thumbnail struct {
Resolutions []string
FileSystemStorage FileSystemStorage
WebDavSource WebDavSource
}
// New initializes a new configuration with or without defaults.
func New() *Config {
return &Config{}
}