skywave.mp4
Skywave is the open-source cloud platform for deployment of static websites.
- Instant static site hosting for quick and easy website launches.
- Automatic Git-based deployments with every push.
- Scalable performance using AWS CloudFront and S3.
- Easy access to detailed deployment logs for tracking and troubleshooting.
- Support for popular frameworks like React, Angular, and Vue.
- Next.js – framework
- TypeScript – language
- Tailwind – CSS
- NextAuth.js – auth
- Kafka – logs streaming
- Clickhouse – logs database
- Postgresql – main database
- Prisma – ORM
- Shadcn – ui
- S3 – build storage
- Cloudfront – build distribution
- tRPC – api
- User Accesses Website: The user opens the website in their browser.
- CloudFront Handles Request: AWS CloudFront receives the request to deliver content faster.
- Edge Function Updates URL: The request URL is rewritten at CloudFront’s edge to match S3 paths for CSS, JavaScript, or route files.
- Request Sent to S3: The updated request is sent to an S3 bucket to fetch the correct file.
- CloudFront Caches Response: CloudFront saves the file in its cache to serve future requests faster without going to S3.
- Instance Launch: The API server starts a build-server instance with predefined settings.
- Repository Cloning and Build: The build-server clones the repository and compiles the required artifacts.
- Artifact Upload: The build artifacts are uploaded to an S3 bucket after a successful build.
- Log Production: The build-server sends logs to a Kafka instance as a Kafka producer.
- Log Storage: A Kafka consumer saves logs to ClickHouse and updates deployment status in the main database.
- Frontend Polling: The frontend checks the API server for deployment status updates.