Maintenance free serverless image-service written in Rust.
Lambda, S3, sns, Dynamo DB, CloudFront.
Features
- Docs (envs, configs, deployment, stages)
- Upload images to s3 from a client
- Rescale on demand
- Secure by api-secret
- Read pre-scaled img cfgs from s3 or app cfg
- Get image
- Pre-scale based on list of cfg
- Trigger event on SNS - consumer should count total images that has ever been transformed.
- Move to lambda url(s)
- CloudFront
- Move everything to one folder and produce multiple bin(s)
- SQS?
- Delete img + generated formats
- Cleanup
- Image TTLs (dynamo, s3)
- Backup strategy
- create a presigned fetch url if payload (img) is > 6mb
curl {api}/images # outputs upload uri
curl -X PUT {upload-uri} --upload-file transformer/res/test-img.png
curl {api}/images/{id}\?h\=200\&w\=200