Skip to content

inboard-ai/shopkeep-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

shopkeep

Crates.io Documentation License

HTTP server for the emporium extension marketplace

Quick Start

cargo install shopkeep
shopkeep --registry-path ./extensions

The server starts on http://0.0.0.0:8080 by default.

Configuration

Configuration can be provided via file, environment variables, or CLI arguments (in order of precedence).

CLI arguments:

shopkeep --bind 127.0.0.1 --port 3000 --registry-path /path/to/extensions

Environment variables:

export SHOPKEEP_BIND=127.0.0.1
export SHOPKEEP_PORT=3000
export SHOPKEEP_REGISTRY_PATH=/path/to/extensions

Config file (shopkeep.toml):

bind = "127.0.0.1"
port = 3000

[registry]
type = "filesystem"
path = "/path/to/extensions"

API Endpoints

Method Endpoint Description
GET /health Health check
GET /api/v1/extensions List extensions (supports ?q=, ?category=, ?page=, ?per_page=)
GET /api/v1/extensions/{id} Get extension details
GET /api/v1/extensions/{id}/versions List available versions
GET /api/v1/extensions/{id}/versions/{version} Get version metadata
GET /api/v1/extensions/{id}/versions/{version}/download Download extension package
GET /api/v1/extensions/{id}/latest/download Download latest version

Registry Structure

Extensions are stored as .tar.gz packages with the following structure:

registry/
├── my-extension/
│   ├── 0.1.0.tar.gz
│   ├── 0.2.0.tar.gz
│   └── manifest.toml
└── another-extension/
    ├── 1.0.0.tar.gz
    └── manifest.toml

License

MIT

About

HTTP server for the emporium extension marketplace

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages