What a Project Contains
Each project can hold any combination of the following resource types:- Web servers — containerized HTTP services with a public URL, running on ECS.
- Workers — background ECS processes with no public URL.
- Static websites — files built from GitHub and served via S3 + CloudFront.
- Caches — Valkey (Redis-compatible) instances running in your AWS account.
- Databases — PostgreSQL or MySQL instances managed by AWS RDS.
- Storage buckets — private S3 buckets with metrics and cost tracking.
Hostname Suffix
Every project has a hostname suffix that Springwinter appends to resources by default when generating their public URLs. For example, if your suffix isacme.springwinter.app, a web server named api would receive the URL api.acme.springwinter.app.
You can update the hostname suffix at any time using the API:
Enabling HTTPS
Springwinter can provision an AWS Certificate Manager (ACM) certificate for your project’s load balancer, enabling HTTPS for all web servers in the project. To enable HTTPS, send a request to the certificate endpoint:ACM certificate provisioning requires DNS validation. Springwinter will provide the CNAME records you need to add to your DNS provider. The certificate becomes active once DNS validation completes.
Creating a Project
1
Open the dashboard
Sign in at springwinter.dev and navigate to the main dashboard.
2
Click New Project
Select New Project in the top-right corner of the projects list.
3
Name your project
Enter a name for your project. The name is used to generate the default hostname suffix and must be unique within your account.
4
Confirm creation
Click Create Project. Springwinter provisions the project and takes you to the project overview, where you can start adding resources.
Deleting a Project
You can only delete a project that contains no resources. Before deleting, remove all web servers, workers, static websites, caches, databases, and storage buckets from the project. Once the project is empty, send:API Reference
The following endpoints let you manage projects programmatically. All requests require anAuthorization: Bearer <token> header or an active cookie session with a CSRF token.