docs: new Crowdin translations (#723)
5.7 KiB
id | title |
---|---|
plugins | Plugins |
Verdaccio is an plugabble aplication. It can be extended in many ways, either new authentication methods, adding endpoints or using a custom storage.
If you are interested to develop your own plugin, read the development section.
Usage
Installation
$> npm install --global verdaccio-activedirectory
verdaccio
as a sinopia fork it has backward compability with plugins that are compatible with sinopia@1.4.0
. In such case the installation is the same.
$> npm install --global sinopia-memory
Configuration
Open the config.yaml
file and update the auth
section as follows:
The default configuration looks like this, due we use a build-in htpasswd
plugin by default that you can disable just commenting out the following lines.
Auth Plugin Configuration
htpasswd:
file: ./htpasswd
#max_users: 1000
and replacing them with (in case you decide to use a ldap
plugin.
auth:
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Multiple Auth plugins
This is tecnically possible, the plugins order becames important, the the credentials will resolved in order.
auth:
htpasswd:
file: ./htpasswd
#max_users: 1000
activedirectory:
url: "ldap://10.0.100.1"
baseDN: 'dc=sample,dc=local'
domainSuffix: 'sample.local'
Middleware Plugin 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
Store Plugin 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
If you define a custom store, the property storage in the configuration file will be ignored.
Legacy plugins
Sinopia Plugins
(compatible all versions)
- sinopia-npm: auth plugin for sinopia supporting an npm registry.
- sinopia-memory: auth plugin for sinopia that keeps users in memory.
- sinopia-github-oauth-cli.
- sinopia-crowd: auth plugin for sinopia supporting atlassian crowd.
- sinopia-activedirectory: Active Directory authentication plugin for sinopia.
- sinopia-github-oauth: authentication plugin for sinopia2, supporting github oauth web flow.
- sinopia-delegated-auth: Sinopia authentication plugin that delegates authentication to another HTTP URL
- sinopia-altldap: Alternate LDAP Auth plugin for Sinopia
- sinopia-request: An easy and fully auth-plugin with configuration to use an external API.
- sinopia-htaccess-gpg-email: Generate password in htaccess format, encrypt with GPG and send via MailGun API to users.
- sinopia-mongodb: An easy and fully auth-plugin with configuration to use a mongodb database.
- sinopia-htpasswd: auth plugin for sinopia supporting htpasswd format.
- sinopia-leveldb: a leveldb backed auth plugin for sinopia private npm.
- sinopia-gitlabheres: Gitlab authentication plugin for sinopia.
- sinopia-gitlab: Gitlab authentication plugin for sinopia
- sinopia-ldap: LDAP auth plugin for sinopia.
- sinopia-github-oauth-env Sinopia authentication plugin with github oauth web flow.
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.
Verdaccio Plugins
(compatible since 2.1.x)
Authorization Plugins
- verdaccio-bitbucket: Bitbucket authentication plugin for verdaccio.
- verdaccio-ldap: LDAP auth plugin for verdaccio.
- verdaccio-active-directory: Active Directory authentication plugin for verdaccio
- verdaccio-gitlab: use GitLab Personal Access Token to authenticate
- verdaccio-htpasswd: Auth based on htpasswd file plugin (built-in) for verdaccio
Middleware Plugins
- verdaccio-audit: verdaccio plugin for npm audit cli support (built-in) (compatible since 3.x)
Storage Plugins
(compatible since 3.x)
- verdaccio-memory Storage plugin to host packages in Memory
- verdaccio-s3-storage Storage plugin to host packages Amazon S3
- verdaccio-google-cloud Storage plugin to host packages Google Cloud Storage
Caveats
Not all these plugins are been tested continuously, some of them might not work at all. Please if you found any issue feel free to notify the owner of each plugin.