* feat(integrations): new version of backend integrations * feat(integrations): added ingress rule * feat(integrations): fixed a port number * feat(integrations): enabled ingress in values.yaml * feat(integrations): added startup log * feat(integrations): added extra logger for 3 of 4 backend logs integrations. * feat(integrations): removed a logs loop call * feat(integrations): fixed a table name * feat(integrations): disabled extra logger * feat(integrations): made extra logger as an option * feat(integrations): changed contentType for logs file * feat(integrations): bug fix * feat(integrations): struct/string config support for datadog provider * feat(integrations): map config support for datadog provider * feat(integrations): removed unnecessary transformation * feat(integrations): fixed datadog and sentry response format * feat(integrations): added correct creds parser for sentry provider * feat(integrations): removed unnecessary return statement * feat(integrations): added correct creds parser for elastic search * feat(integrations): changed elastic to elasticsearch * feat(integrations): added correct creds parser for dynatrace * feat(integrations): fixed an issue in query request for elasticsearch provider * feat(integrations): made extra logger configurable by env var * feat(integrations): removed debug logs
33 lines
1 KiB
Go
33 lines
1 KiB
Go
package integrations
|
|
|
|
import (
|
|
"time"
|
|
|
|
"openreplay/backend/internal/config/common"
|
|
"openreplay/backend/internal/config/configurator"
|
|
"openreplay/backend/internal/config/objectstorage"
|
|
"openreplay/backend/internal/config/redis"
|
|
"openreplay/backend/pkg/env"
|
|
"openreplay/backend/pkg/logger"
|
|
)
|
|
|
|
type Config struct {
|
|
common.Config
|
|
common.Postgres
|
|
redis.Redis
|
|
objectstorage.ObjectsConfig
|
|
HTTPHost string `env:"HTTP_HOST,default="`
|
|
HTTPPort string `env:"HTTP_PORT,required"`
|
|
HTTPTimeout time.Duration `env:"HTTP_TIMEOUT,default=60s"`
|
|
JsonSizeLimit int64 `env:"JSON_SIZE_LIMIT,default=131072"` // 128KB
|
|
UseAccessControlHeaders bool `env:"USE_CORS,default=false"`
|
|
ProjectExpiration time.Duration `env:"PROJECT_EXPIRATION,default=10m"`
|
|
JWTSecret string `env:"JWT_SECRET,required"`
|
|
WorkerID uint16
|
|
}
|
|
|
|
func New(log logger.Logger) *Config {
|
|
cfg := &Config{WorkerID: env.WorkerID()}
|
|
configurator.Process(log, cfg)
|
|
return cfg
|
|
}
|