Initial commit: Cloud Instances API

Multi-cloud VM instance database with Cloudflare Workers
- Linode, Vultr, AWS connector integration
- D1 database with regions, instances, pricing
- Query API with filtering, caching, pagination
- Cron-based auto-sync (daily + 6-hourly)
- Health monitoring endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-01-21 20:17:07 +09:00
commit 95043049b4
32 changed files with 10151 additions and 0 deletions

38
src/repositories/index.ts Normal file
View File

@@ -0,0 +1,38 @@
/**
* Repositories Index
* Export all repository classes for easy importing
*/
export { BaseRepository } from './base';
export { ProvidersRepository } from './providers';
export { RegionsRepository } from './regions';
export { InstancesRepository } from './instances';
export { PricingRepository } from './pricing';
import { ProvidersRepository } from './providers';
import { RegionsRepository } from './regions';
import { InstancesRepository } from './instances';
import { PricingRepository } from './pricing';
/**
* Repository factory for creating repository instances
*/
export class RepositoryFactory {
constructor(private db: D1Database) {}
get providers(): ProvidersRepository {
return new ProvidersRepository(this.db);
}
get regions(): RegionsRepository {
return new RegionsRepository(this.db);
}
get instances(): InstancesRepository {
return new InstancesRepository(this.db);
}
get pricing(): PricingRepository {
return new PricingRepository(this.db);
}
}