import type { BetterstartIntegrationDefinition } from '@cli-types/integration-engine/integrations.js' export const railwayBucketIntegration: BetterstartIntegrationDefinition = { id: 'railway-bucket', title: 'Railway Bucket', description: 'Private S3-compatible media storage on Railway with signed reads', kind: 'storage', version: '1.0.0', dependencies: [], conflicts: ['r2', 'vercel-blob'], files: [ { outputPath: 'lib/actions/storage/sanitize-filename.ts', templatePath: '../_shared/actions/sanitize-filename.ts' }, { outputPath: 'lib/actions/storage/object-key.ts', templatePath: '../_shared/actions/object-key.ts' }, { outputPath: 'lib/actions/railway-bucket/get-config.ts', templatePath: 'actions/get-config.ts' }, { outputPath: 'lib/actions/railway-bucket/stable-read-url.ts', templatePath: 'actions/stable-read-url.ts' }, { outputPath: 'lib/actions/railway-bucket/get-client.ts', templatePath: 'actions/get-client.ts' }, { outputPath: 'lib/actions/railway-bucket/provider.ts', templatePath: 'actions/provider.ts' } ], packageDependencies: ['@aws-sdk/client-s3', '@aws-sdk/s3-request-presigner'], devDependencies: [], capabilities: { storageProvider: { provider: 'railway-bucket', importPath: '@admin/actions/railway-bucket/provider', exportName: 'railwayBucketStorageProvider' } }, envSections: [ { header: 'Storage (Railway Bucket)', vars: [ { key: 'BETTERSTART_RAILWAY_BUCKET_ENDPOINT', value: '' }, { key: 'BETTERSTART_RAILWAY_BUCKET_ACCESS_KEY_ID', value: '' }, { key: 'BETTERSTART_RAILWAY_BUCKET_SECRET_ACCESS_KEY', value: '' }, { key: 'BETTERSTART_RAILWAY_BUCKET_NAME', value: '' }, { key: 'BETTERSTART_RAILWAY_BUCKET_REGION', value: '' }, { key: 'BETTERSTART_RAILWAY_BUCKET_URL_STYLE', value: '' } ] } ], configure: 'railway-bucket' }