https://github.com/quiltdata/packaging-server
Public Docker Container providing a REST API for creating Quilt packages in your own private cloud
https://github.com/quiltdata/packaging-server
Last synced: 3 months ago
JSON representation
Public Docker Container providing a REST API for creating Quilt packages in your own private cloud
- Host: GitHub
- URL: https://github.com/quiltdata/packaging-server
- Owner: quiltdata
- License: apache-2.0
- Created: 2024-04-05T14:53:23.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-25T20:57:48.000Z (almost 2 years ago)
- Last Synced: 2024-12-19T19:01:38.662Z (over 1 year ago)
- Language: Rust
- Size: 13.7 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# packaging-server
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.
## Fargate CDK Deployment
While you can run the Docker container anywhere, for production use we recommed deploying it to AWS Fargate using the included CDK script.
## OpenAPI REST API
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.
### Resources
The primary resources are:
- `packages` for creating and managing packages
- Format: packages/s3/"bucket"/"prefix"
- `objects` for managing S3 objects
- Format: objects/s3/"bucket"[/"prefix"]
- `hashes` for retrieving the hash of an S3 object
- Format: hashes/s3/"bucket"/"prefix"[/]
- `events` for events that trigger package-creation
- Format: events/s3/"bucket"/"prefix"
- `alerts` for sending SNS notifications when packages are created
- Format: alerts/s3/"bucket"/"prefix"
### Verbs
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)
## Web Interface
In addition to the REST API, `packaging-server` also provides a simple web interface for humans to manually interact with those resources.