Skip to main content

Plugins

Verdaccio is a pluggable application. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage.

There are 4 types of plugins:

Ako ste zainteresovani da razvijete sopstveni plugin, pročitajte development sekciju.

Korišćenje

Instalacija

$> 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

Otvorite config.yaml fajl i uradite update auth sekcije prema sledećim uputstvima:

Podrazumevana konfiguracija izgleda ovako, jer koristimo ugrađeni htpasswd plugin kao podrazumevan, a koji možete zaustaviti (disable) tako što ćete sledeće linije pretvoriti u komentar.

Authentication Configuration

  htpasswd:
file: ./htpasswd
#max_users: 1000

i zameniti ih sa datim (ako se odlučite da koristite ldap plugin).

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

Multiple Authentication plugins

Tehnički je izvodivo, ako postavite da je redosled plugina važan, usled čega će se credentials izvršiti po tom poretku.

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

Možete pratiti audit middle plugin kao bazični primer.

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

Tradicionalni plugini (Legacy plugins)

Sinopia Plugins

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

All sinopia plugins should be compatible with all future verdaccio versions. Anyhow, we encourage contributors to migrate them to the modern verdaccio API and using the prefix as verdaccio-xx-name.