The packaging-server repository uses quilt-rs to provide an OpenAPI-compatible REST API for creating and managing packages, then publishes that as a public Docker image you can run:
- on your local machine
- in your private cloud
- as part of your SaaS application
- etc.
While you can run the Docker container anywhere, for production use we recommed deploying it to AWS Fargate using the included CDK script.
The packaging-server REST API is documented by and compatible with OpenAPI. You can view the API documentation by running the server and visiting the /docs endpoint.
The primary resources are:
packagesfor creating and managing packages- Format: packages/s3/"bucket"/"prefix"
objectsfor managing S3 objects- Format: objects/s3/"bucket"[/"prefix"]
hashesfor retrieving the hash of an S3 object- Format: hashes/s3/"bucket"/"prefix"[/]
eventsfor events that trigger package-creation- Format: events/s3/"bucket"/"prefix"
alertsfor sending SNS notifications when packages are created- Format: alerts/s3/"bucket"/"prefix"
These are the HTTP verbs used by the API:
- GET: Retrieve information about the collection, or individual resources
- POST: Create a new resource (error if already exists)
- PATCH: Update an existing resource (error if does not exist)
- PUT: Create or update a resource (always succeeds)
In addition to the REST API, packaging-server also provides a simple web interface for humans to manually interact with those resources.