Documentation
¶
Index ¶
Constants ¶
View Source
const ( // MinJWTSecretLength is the minimum required length for JWT secrets // HS256 requires at least 32 bytes (256 bits) for security, but we use 16 as a practical minimum MinJWTSecretLength = 16 )
Variables ¶
This section is empty.
Functions ¶
func ValidateSecrets ¶ added in v0.1.7
ValidateSecrets validates that secrets meet security requirements.
Types ¶
type AppConfig ¶ added in v0.1.7
AppConfig combines non-sensitive configuration with sensitive secrets. This is the main configuration struct used by the application.
type Config ¶
type Config struct {
DBDialect string `env:"DB_DIALECT,required"`
ServerPort string `env:"SERVER_PORT" envDefault:"4000"`
EntSchemaPath string `env:"ENT_SCHEMA_PATH" envDefault:"./ent/schema"`
CentrifugoApiAddress string `env:"CENTRIFUGO_API_ADDRESS,required"`
FileStorageProvider string `env:"FILE_STORAGE_PROVIDER" envDefault:"local"`
FileStoragePath string `env:"FILE_STORAGE_PATH" envDefault:"./storage"`
// Environment specifies which Infisical environment to fetch secrets from (dev, staging, prod)
Environment string `env:"APP_ENVIRONMENT" envDefault:"dev"`
CORSAllowedOrigins string `env:"CORS_ALLOWED_ORIGINS" envDefault:"http://localhost:3000"`
// CSPPolicy allows overriding the Content-Security-Policy header per deployment.
CSPPolicy string `` /* 184-byte string literal not displayed */
AuthLoginRateLimitRPM int `env:"AUTH_LOGIN_RATE_LIMIT_RPM" envDefault:"10"`
AuthSignupRateLimitRPM int `env:"AUTH_SIGNUP_RATE_LIMIT_RPM" envDefault:"5"`
AuthAPIRateLimitRPM int `env:"AUTH_API_RATE_LIMIT_RPM" envDefault:"100"`
}
Config holds non-sensitive application configuration loaded from environment variables. Sensitive credentials (DSN, SecretKey, CentrifugoKey) are managed separately via the secrets package.
func New ¶
New loads non-sensitive configuration from environment variables. Use NewWithSecrets to get a complete AppConfig with secrets loaded.
func (*Config) CORSAllowedOriginsList ¶ added in v0.1.9
CORSAllowedOriginsList parses CORS_ALLOWED_ORIGINS (comma-separated) into a list.
Click to show internal directories.
Click to hide internal directories.