Extend Yama with plugins for databases, storage, caching, and more.
Install a plugin using npm or pnpm:
pnpm add @betagors/yama-postgres
Configure in yama.yaml:
plugins:
- name: "@betagors/yama-postgres"
config:
url: ${DATABASE_URL}
Connect to different databases:
@betagors/yama-postgres — PostgreSQL@betagors/yama-pglite — PGLite (embedded)File and object storage:
@betagors/yama-s3 — AWS S3Caching and session storage:
@betagors/yama-redis — RedisLive updates and subscriptions:
@betagors/yama-realtime — WebSocket realtimeAccess plugins in your handlers:
export async function uploadFile(context: HandlerContext) {
const { s3 } = context.services;
const url = await s3.upload({
bucket: 'my-bucket',
key: 'file.pdf',
body: context.request.body,
});
return { url };
}
See the plugin development guide for creating custom plugins.