Skip to content

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.