func validateConfig()

in internal/conf/config.go [171:209]


func validateConfig(c Config) (err error) {
	// server
	if *c.Server.HttpPort <= 0 || *c.Server.HttpPort > 65535 {
		return errors.New(InvalidHttpPortErrMsg)
	}

	if !*c.Server.DisableSSRFToken {
		if len(*c.Server.SSRFHeaders) == 0 {
			return errors.New(EmptySSRFHeadersErrMsg)
		}
		if len(*c.Server.SSRFEnvVariables) == 0 {
			return errors.New(EmptySSRFEnvVariablesErrMsg)
		}
	}

	if !strings.HasPrefix(*c.Server.PathPrefix, "/") {
		return errors.New(InvalidPathPrefixErrMsg)
	}

	if *c.Server.MaxConn <= 0 || *c.Server.MaxConn > 1000 {
		return errors.New(InvalidMaxConnectionErrMsg)
	}

	if model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForAliyunKMS &&
		model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForAWSSecretManager &&
		model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForVaultKvSecret {
		return errors.New(InvalidResponseType)
	}

	// cache
	if *c.Cache.TtlSeconds < 0 {
		return errors.New(InvalidTtlSecondsErrMsg)
	}

	if *c.Cache.CacheSize < 0 || *c.Cache.CacheSize > 1000 {
		return errors.New(InvalidCacheSizeErrMsg)
	}
	return nil
}