Extend
Plugin SDK & Marketplace
Build, publish, and install custom NineDeploy extensions.
Extend NineDeploy using @ninedeploy/plugin-sdk. Plugins can declare configuration schemas, register UI navigation items, tap into the deployment pipeline, and listen to security events.
Example Plugin
my-plugin.ts
import { definePlugin } from '@ninedeploy/plugin-sdk';
export default definePlugin({
id: 'my-custom-extension',
name: 'My Custom Extension',
version: '1.0.0',
configSchema: [
{ key: 'api_token', type: 'string', isSecret: true, label: 'API Token' }
],
init: (ctx) => {
ctx.tapHook('deploy:before', async (context) => {
ctx.logger.info('Deploying service:', context.serviceId);
return context;
}, { priority: 150 });
}
});Installing Extensions
Install verified extensions from the web marketplace or CLI via ninedeploy plugins install <id>. Install sources: the verified marketplace, or a sandbox bundle.
The canonical guides live in the repository's docs folder.