- Regenerate all environment-specific config files with unified config - Update Vite environment files for all environments (dev/staging/prod) - Update Docker environment files with current configuration - Update Kubernetes config.env files for development and production - Add staging environment configurations and overlays - Ensures all generated files reflect unified configuration system
131 lines
3.0 KiB
TypeScript
131 lines
3.0 KiB
TypeScript
/**
|
|
* Generated configuration for production
|
|
* Generated on: 2025-09-09T03:27:30.605Z
|
|
*
|
|
* This file exports the resolved configuration for the production environment.
|
|
* It can be imported by other TypeScript files for type-safe configuration access.
|
|
*/
|
|
|
|
import type { UnifiedConfig } from '../unified.config';
|
|
|
|
export const productionConfig: UnifiedConfig = {
|
|
app: {
|
|
name: 'rxminder',
|
|
version: '1.0.0',
|
|
environment: 'production',
|
|
baseUrl: 'rxminder.192.168.153.243.nip.io',
|
|
port: 5173,
|
|
},
|
|
database: {
|
|
url: 'http://rxminder-couchdb-service:5984',
|
|
username: 'admin',
|
|
password: 'L7tfqHyg0T4sIYiWK',
|
|
name: 'meds_app',
|
|
useMock: false,
|
|
connectionTimeout: 10000,
|
|
retryAttempts: 5,
|
|
},
|
|
container: {
|
|
registry: 'gitea-http.taildb3494.ts.net',
|
|
repository: 'will/meds',
|
|
tag: 'latest',
|
|
imageUrl: 'gitea-http.taildb3494.ts.net/will/meds:latest',
|
|
},
|
|
kubernetes: {
|
|
namespace: 'rxminder-prod',
|
|
ingressHost: 'rxminder.192.168.153.243.nip.io',
|
|
ingressClass: 'nginx',
|
|
certIssuer: 'letsencrypt-prod',
|
|
storageClass: 'longhorn',
|
|
storageSize: '1Gi',
|
|
replicas: {
|
|
frontend: 3,
|
|
database: 1,
|
|
},
|
|
resources: {
|
|
frontend: {
|
|
requests: {
|
|
memory: '256Mi',
|
|
cpu: '100m',
|
|
},
|
|
limits: {
|
|
memory: '512Mi',
|
|
cpu: '500m',
|
|
},
|
|
},
|
|
database: {
|
|
requests: {
|
|
memory: '512Mi',
|
|
cpu: '200m',
|
|
},
|
|
limits: {
|
|
memory: '1Gi',
|
|
cpu: '1000m',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
auth: {
|
|
jwtSecret: 'your-super-secret-jwt-key-change-in-production',
|
|
jwtExpiresIn: '1h',
|
|
refreshTokenExpiresIn: '7d',
|
|
emailVerificationExpiresIn: '24h',
|
|
bcryptRounds: 12,
|
|
},
|
|
email: {
|
|
provider: 'console',
|
|
mailgun: {
|
|
apiKey: 'your-production-mailgun-api-key-here',
|
|
domain: 'your-production-domain.com',
|
|
baseUrl: 'https://api.mailgun.net/v3',
|
|
},
|
|
fromName: 'RxMinder',
|
|
fromEmail: 'noreply@your-production-domain.com',
|
|
},
|
|
oauth: {
|
|
google: {
|
|
clientId: 'your_google_client_id_here',
|
|
clientSecret: '',
|
|
},
|
|
github: {
|
|
clientId: 'your_github_client_id_here',
|
|
clientSecret: '',
|
|
},
|
|
},
|
|
features: {
|
|
enableEmailVerification: true,
|
|
enableOAuth: true,
|
|
enableAdminInterface: true,
|
|
enableMonitoring: false,
|
|
enableMetrics: false,
|
|
enableTracing: true,
|
|
enableRateLimiting: true,
|
|
enableSecurityHeaders: true,
|
|
debugMode: true,
|
|
hotReload: false,
|
|
},
|
|
performance: {
|
|
cacheTimeout: 3600,
|
|
requestTimeout: 120000,
|
|
maxConnections: 200,
|
|
enableCors: true,
|
|
corsOrigin: 'https://rxminder.com',
|
|
},
|
|
logging: {
|
|
level: 'debug',
|
|
format: 'json',
|
|
enableTimestamp: true,
|
|
enableColors: false,
|
|
},
|
|
security: {
|
|
enableHttps: true,
|
|
enableHsts: true,
|
|
enableCsp: true,
|
|
sessionSecret: 'secure-session-secret-key',
|
|
rateLimitRequests: 100,
|
|
rateLimitWindow: 900000,
|
|
},
|
|
} as const;
|
|
|
|
export default productionConfig;
|