{
"NODE_ENV": {
"type": "enum",
"required": true,
"default": "development",
"values": ["development", "staging", "production"],
"description": "Application environment (e.g., development, staging, production)"
},
"PORT": {
"type": "int",
"required": false,
"default": 3000,
"description": "Port number for network service",
"validate": {
"min": 1024,
"max": 65535
}
},
"DATABASE_URL": {
"type": "url",
"required": true,
"description": "Database connection string"
},
"REDIS_URL": {
"type": "url",
"required": false,
"description": "Redis connection URL"
},
"STRIPE_API_KEY": {
"type": "string",
"required": true,
"description": "Stripe API key",
"validate": {
"min_length": 32,
"pattern": "^sk_(test|live)_"
}
},
"JWT_SECRET": {
"type": "string",
"required": true,
"description": "JWT secret key",
"validate": {
"min_length": 32
}
},
"API_TIMEOUT": {
"type": "int",
"required": false,
"default": 30000,
"description": "Timeout duration in milliseconds",
"validate": {
"min": 1000,
"max": 300000
}
},
"MAX_UPLOAD_SIZE": {
"type": "int",
"required": false,
"default": 10485760,
"description": "Maximum max upload size limit",
"validate": {
"min": 1024
}
},
"ADMIN_EMAIL": {
"type": "string",
"required": false,
"description": "Admin email configuration",
"validate": {
"pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
}
},
"DEBUG_MODE": {
"type": "bool",
"required": false,
"default": false,
"description": "Enable debug mode"
},
"LOG_LEVEL": {
"type": "enum",
"required": false,
"default": "info",
"values": ["debug", "info", "warn", "error"],
"description": "Logging verbosity level"
}
}