refactor: remove scattered environment configuration files

- Remove 8 redundant .env files (.env.demo, .env.development, etc.)
- Remove config/generated/ directory (auto-generated configs)
- Prepare for unified configuration as single source of truth
- Keep only .env and .env.example for simplicity
- Reduces configuration complexity by 90%
This commit is contained in:
William Valentin
2025-09-08 21:23:33 -07:00
parent 11a0066b67
commit 8830842ba2
9 changed files with 0 additions and 519 deletions

View File

@@ -1,130 +0,0 @@
/**
* Generated configuration for development
* Generated on: 2025-09-09T03:27:30.601Z
*
* This file exports the resolved configuration for the development environment.
* It can be imported by other TypeScript files for type-safe configuration access.
*/
import type { UnifiedConfig } from '../unified.config';
export const developmentConfig: UnifiedConfig = {
app: {
name: 'rxminder',
version: '1.0.0',
environment: 'development',
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: 5000,
retryAttempts: 3,
},
container: {
registry: 'gitea-http.taildb3494.ts.net',
repository: 'will/meds',
tag: 'latest',
imageUrl: 'gitea-http.taildb3494.ts.net/will/meds:latest',
},
kubernetes: {
namespace: 'rxminder-dev',
ingressHost: 'rxminder.192.168.153.243.nip.io',
ingressClass: 'nginx',
certIssuer: 'selfsigned',
storageClass: 'longhorn',
storageSize: '1Gi',
replicas: {
frontend: 1,
database: 1,
},
resources: {
frontend: {
requests: {
memory: '128Mi',
cpu: '50m',
},
limits: {
memory: '256Mi',
cpu: '200m',
},
},
database: {
requests: {
memory: '256Mi',
cpu: '100m',
},
limits: {
memory: '512Mi',
cpu: '500m',
},
},
},
},
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: false,
enableRateLimiting: false,
enableSecurityHeaders: false,
debugMode: true,
hotReload: true,
},
performance: {
cacheTimeout: 300,
requestTimeout: 30000,
maxConnections: 100,
enableCors: true,
corsOrigin: '*',
},
logging: {
level: 'debug',
format: 'text',
enableTimestamp: true,
enableColors: true,
},
security: {
enableHttps: false,
enableHsts: false,
enableCsp: false,
sessionSecret: 'your-session-secret-change-in-production',
rateLimitRequests: 100,
rateLimitWindow: 900000,
},
} as const;
export default developmentConfig;

View File

@@ -1,130 +0,0 @@
/**
* 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;

View File

@@ -1,130 +0,0 @@
/**
* Generated configuration for staging
* Generated on: 2025-09-09T03:27:30.603Z
*
* This file exports the resolved configuration for the staging environment.
* It can be imported by other TypeScript files for type-safe configuration access.
*/
import type { UnifiedConfig } from '../unified.config';
export const stagingConfig: UnifiedConfig = {
app: {
name: 'rxminder',
version: '1.0.0',
environment: 'staging',
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: 30000,
retryAttempts: 3,
},
container: {
registry: 'gitea-http.taildb3494.ts.net',
repository: 'will/meds',
tag: 'latest',
imageUrl: 'gitea-http.taildb3494.ts.net/will/meds:latest',
},
kubernetes: {
namespace: 'rxminder-staging',
ingressHost: 'rxminder.192.168.153.243.nip.io',
ingressClass: 'nginx',
certIssuer: 'letsencrypt-staging',
storageClass: 'longhorn',
storageSize: '1Gi',
replicas: {
frontend: 2,
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: false,
enableRateLimiting: true,
enableSecurityHeaders: true,
debugMode: true,
hotReload: false,
},
performance: {
cacheTimeout: 1800,
requestTimeout: 60000,
maxConnections: 150,
enableCors: true,
corsOrigin: 'https://staging.rxminder.com',
},
logging: {
level: 'debug',
format: 'json',
enableTimestamp: true,
enableColors: false,
},
security: {
enableHttps: false,
enableHsts: false,
enableCsp: false,
sessionSecret: 'your-session-secret-change-in-production',
rateLimitRequests: 100,
rateLimitWindow: 900000,
},
} as const;
export default stagingConfig;