Skip to main content

Plugins

Verdaccio est une application extensible. Il peut être étendu par de nombreuses manières, ou avec de nouvelles méthodes d'authentification, en ajoutant des points de terminaison ou en utilisant un archivage personnalisé.

There are 4 types of plugins:

Si vous souhaitez développer votre plugin personnel, lisez la section development.

Utilisation

Installation

$> npm install --global verdaccio-activedirectory

verdaccio as a sinopia fork it has backward compatibility with plugins that are compatible with sinopia@1.4.0. In such case the installation is the same.

$> npm install --global sinopia-memory

Configuration

Ouvrez le fichier >config.yaml et mettez à jour la section auth comme suit :

La configuration par défaut ressemble à ceci, car nous utilisons un plugin intégré htpasswd qui peut être désactivé en commentant les lignes suivantes.

Authentication Configuration

  htpasswd:
file: ./htpasswd
#max_users: 1000

et en les remplaçant par (si vous décidez d'utiliser un plugin ldap.

auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'

Multiple Authentication plugins

Ceci est techniquement possible, en accordant de l'importance à l'ordre du plugin, car les informations d'identification seront résolues dans l'ordre.

auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'

Middleware Configuration

This is an example how to set up a middleware plugin. All middleware plugins must be defined in the middlewares namespace.

middlewares:
audit:
enabled: true

Vous pouvez suivre le audit middle plugin comme exemple de base.

Storage Configuration

This is an example how to set up a storage plugin. All storage plugins must be defined in the store namespace.

store:
memory:
limit: 1000

Theme Configuration

Verdaccio allows to replace the User Interface with a custom one, we call it theme. By default, uses @verdaccio/ui-theme that comes built-in, but, you can use something different installing your own plugin.


<br />$> npm install --global verdaccio-theme-dark

The plugin name prefix must start with verdaccio-theme, otherwise the plugin won't load.

You can load only one theme at the time and pass through options if is need it.

theme:
dark:
option1: foo
option2: bar

Plugins hérités

Sinopia Plugins

If you are relying on any sinopia plugin, remember are deprecated and might no work in the future.

Tous les plugins de Sinopia devraient être compatibles avec toutes les futures versions de Verdaccio. Cependant, nous encourageons les contributeurs à les transférer vers l’API moderne de verdaccio et à utiliser le préfixe * verdaccio-xx-name *.