update
This commit is contained in:
+25
-5
@@ -19,11 +19,14 @@ type Config struct {
|
||||
GiteaPackageOwner string
|
||||
GiteaPackageUser string
|
||||
GiteaPackageToken string
|
||||
GiteaWriteUser string
|
||||
GiteaWriteToken string
|
||||
AllowedGiteaUsers map[string]struct{}
|
||||
CookieSecret []byte
|
||||
DefaultDuration time.Duration
|
||||
DefaultHostLimit int
|
||||
MaxHostLimit int
|
||||
MaxUploadBytes int64
|
||||
TrustProxyHeaders bool
|
||||
}
|
||||
|
||||
@@ -38,6 +41,8 @@ func LoadConfig() (Config, error) {
|
||||
cfg.GiteaPackageOwner = envDefault("TAPM_GITEA_PACKAGE_OWNER", "TAI")
|
||||
cfg.GiteaPackageUser = os.Getenv("TAPM_GITEA_PACKAGE_USERNAME")
|
||||
cfg.GiteaPackageToken = os.Getenv("TAPM_GITEA_PACKAGE_TOKEN")
|
||||
cfg.GiteaWriteUser = os.Getenv("TAPM_GITEA_PACKAGE_WRITE_USERNAME")
|
||||
cfg.GiteaWriteToken = os.Getenv("TAPM_GITEA_PACKAGE_WRITE_TOKEN")
|
||||
cfg.CookieSecret = []byte(os.Getenv("TAPM_COOKIE_SECRET"))
|
||||
|
||||
cfg.PublicURL, err = parseAbsoluteURL("TAPM_PUBLIC_URL")
|
||||
@@ -66,6 +71,10 @@ func LoadConfig() (Config, error) {
|
||||
if cfg.DefaultHostLimit < 1 || cfg.MaxHostLimit < cfg.DefaultHostLimit {
|
||||
return cfg, fmt.Errorf("invalid default or maximum host limit")
|
||||
}
|
||||
cfg.MaxUploadBytes, err = envInt64("TAPM_MAX_UPLOAD_BYTES", 1<<30)
|
||||
if err != nil || cfg.MaxUploadBytes < 1<<20 {
|
||||
return cfg, fmt.Errorf("TAPM_MAX_UPLOAD_BYTES must be at least 1048576")
|
||||
}
|
||||
|
||||
cfg.TrustProxyHeaders, err = strconv.ParseBool(
|
||||
envDefault("TAPM_TRUST_PROXY_HEADERS", "false"),
|
||||
@@ -86,11 +95,13 @@ func LoadConfig() (Config, error) {
|
||||
}
|
||||
|
||||
required := map[string]string{
|
||||
"TAPM_DATABASE_DSN": cfg.DatabaseDSN,
|
||||
"TAPM_GITEA_CLIENT_ID": cfg.GiteaClientID,
|
||||
"TAPM_GITEA_CLIENT_SECRET": cfg.GiteaClientSecret,
|
||||
"TAPM_GITEA_PACKAGE_USERNAME": cfg.GiteaPackageUser,
|
||||
"TAPM_GITEA_PACKAGE_TOKEN": cfg.GiteaPackageToken,
|
||||
"TAPM_DATABASE_DSN": cfg.DatabaseDSN,
|
||||
"TAPM_GITEA_CLIENT_ID": cfg.GiteaClientID,
|
||||
"TAPM_GITEA_CLIENT_SECRET": cfg.GiteaClientSecret,
|
||||
"TAPM_GITEA_PACKAGE_USERNAME": cfg.GiteaPackageUser,
|
||||
"TAPM_GITEA_PACKAGE_TOKEN": cfg.GiteaPackageToken,
|
||||
"TAPM_GITEA_PACKAGE_WRITE_USERNAME": cfg.GiteaWriteUser,
|
||||
"TAPM_GITEA_PACKAGE_WRITE_TOKEN": cfg.GiteaWriteToken,
|
||||
}
|
||||
for name, value := range required {
|
||||
if strings.TrimSpace(value) == "" {
|
||||
@@ -131,3 +142,12 @@ func envInt(name string, fallback int) (int, error) {
|
||||
}
|
||||
return value, nil
|
||||
}
|
||||
|
||||
func envInt64(name string, fallback int64) (int64, error) {
|
||||
raw := envDefault(name, strconv.FormatInt(fallback, 10))
|
||||
value, err := strconv.ParseInt(raw, 10, 64)
|
||||
if err != nil {
|
||||
return 0, fmt.Errorf("%s must be an integer", name)
|
||||
}
|
||||
return value, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user