API Configuration
Configure μlbs applications using environment variables and config files. See full examples below.
Configuration Sources
.env Files
Load configuration from environment files using .env
, .env.local
, and .env.production
patterns.
Runtime API
Access configuration values via mulbs.getConfig()
and mulbs.setConfig()
during runtime.
CLI Flags
Pass configuration directly from the command line with --config
and --env
parameters.
Example Configuration
.env File
# .env
PORT=3000
DATABASE_URL=postgres://localhost:5432/mulbs
SECRET_KEY=my-secret-key
NODE_ENV=development
TypeScript Usage
import mulbs from 'mulbs'
// Access configuration
const port = mulbs.getConfig('PORT')
// Modify at runtime
mulbs.setConfig('DEBUG', 'true')
// Validate config
if (!mulbs.hasConfig('DATABASE_URL')) {
throw new Error('Missing required configuration: DATABASE_URL')
}
Best Practices
Environment Separation
- Use
.env.development
and.env.production
files for environment-specific settings - Always commit
.env.example
to version control with placeholder values
Security Considerations
- Never commit
.env
files to version control - Use
mulbs.maskConfig()
to redact sensitive values in logs - Validate all configuration values with
mulbs.validateConfig()
Validation Schema
μlbs automatically validates required configuration fields. A type-safe schema is enforced at startup:
{
PORT: { type: 'number', required: true },
DATABASE_URL: { type: 'string', required: true },
DEBUG: { type: 'boolean', default: false },
RATE_LIMIT: { type: 'integer', default: 1000 }
}
* Schema is extensible using mulbs.addConfigSchema()