feat(env): Added production and development environment
All checks were successful
Build and Publish Docker Image / deploy (push) Successful in 1m44s
All checks were successful
Build and Publish Docker Image / deploy (push) Successful in 1m44s
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
func Load() (*Config, error) {
|
||||
cfg := &Config{
|
||||
DataDir: "./data",
|
||||
Environment: AppEnvironmentDevelopment,
|
||||
AdminUsername: "admin",
|
||||
AdminEnabled: AdminEnabledAuto,
|
||||
AllowAdminSettingsOverride: true,
|
||||
@@ -49,6 +50,14 @@ func Load() (*Config, error) {
|
||||
if err := cfg.applyStringEnv(SettingDataDir, "WARPBOX_DATA_DIR", &cfg.DataDir); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if raw := strings.TrimSpace(os.Getenv("WARPBOX_ENV")); raw != "" {
|
||||
env := AppEnvironment(strings.ToLower(raw))
|
||||
if env != AppEnvironmentDevelopment && env != AppEnvironmentProduction {
|
||||
return nil, fmt.Errorf("WARPBOX_ENV must be development or production")
|
||||
}
|
||||
cfg.Environment = env
|
||||
cfg.setValue(SettingEnvironment, string(env), SourceEnv)
|
||||
}
|
||||
if err := cfg.applyStringEnv("", "WARPBOX_ADMIN_PASSWORD", &cfg.AdminPassword); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -194,6 +203,7 @@ func (cfg *Config) EnsureDirectories() error {
|
||||
}
|
||||
func (cfg *Config) captureDefaults() {
|
||||
cfg.captureDefaultValue(SettingDataDir, cfg.DataDir)
|
||||
cfg.captureDefaultValue(SettingEnvironment, string(cfg.Environment))
|
||||
cfg.captureDefaultValue(SettingGuestUploadsEnabled, formatBool(cfg.GuestUploadsEnabled))
|
||||
cfg.captureDefaultValue(SettingAPIEnabled, formatBool(cfg.APIEnabled))
|
||||
cfg.captureDefaultValue(SettingZipDownloadsEnabled, formatBool(cfg.ZipDownloadsEnabled))
|
||||
|
||||
Reference in New Issue
Block a user