Salta al contenuto principale

Estensioni

Verdaccio è un'applicazione estensibile. Si può espandere in molti modi, o con nuovi metodi di autenticazione, aggiungendo endpoint o utilizzando un archivio personalizzato.

Sono presenti 4 tipi di plugin:

Se sei interessato a sviluppare il tuo plugin personale, leggi la sezione sviluppo.

Utilizzo

Installazione

$> npm install --global verdaccio-activedirectory

verdaccio essendo una fork di sinopia è retrocompatibile con i plugin compatibili con sinopia@1.4.0. In tal caso l'installazione è la stessa.

$> npm install --global sinopia-memory

Configurazione

Aprire il file config.yaml e aggiornare la sezione auth come segue:

La configurazione predefinita appare così, poiché usiamo un plugin htpasswd incorporato di default che si può disabilitare commentando le seguenti linee.

Configurazione dell'Autenticazione

  htpasswd:
file: ./htpasswd
#max_users: 1000

e sostituendo con (in caso si decida di utilizzare un plugin ldap.

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

Plugin di Autenticazione Multipla

Questo è tecnicamente possibile, prestando importanza all'ordine del plugin, dato che le credenziali verranno risolte in ordine.

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

Configurazione del Middleware

Questo è un esempio di come si configura un middleware plugin. Tutti i middleware plugin devono essere definiti nel middlewares namespace.

middlewares:
audit:
enabled: true

Si potrebbe seguire l'audit middle plugin come esempio di base.

Configurazione dell'Archiviazione

Questo è un esempio di come configurare un plugin di archiviazione. Tutti i plugin di archiviazione devono essere definiti nello store namespace.

store:
memory:
limit: 1000

Configurazione del Tema

Verdaccio consente di sostituire l'Interfaccia Utente con una personalizzata, che noi chiamiamo tema. Di default, utilizza @verdaccio/ui-theme che è integrato, tuttavia è possibile usare qualcosa di diverso installando il proprio plugin.


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

Il prefisso del nome del plugin deve cominciare con verdaccio-theme, altrimenti il plugin non caricherà.

È possibile caricare solo un tema alla volta e considerare le opzioni se è necessario.

theme:
dark:
option1: foo
option2: bar

Plugin ereditari

Plugin di Sinopia

Se si sta facendo affidamento su qualunque sinopia plugin, ricordare che sono deprecati e potrebbero non funzionare in futuro.

Tutti i plugin di sinopia dovrebbero essere compatibili con tutte le versioni future di verdaccio. Tuttavia, incoraggiamo i contributori a spostarli sull'API attuale di verdaccio e ad utilizzare il prefisso così verdaccio-xx-name.