Serverless Images Service [WIP]

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

Usage

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