Verdaccio

Verdaccio

  • Документация
  • Блог
  • Twitter
  • Помощь
  • GitHub
  • Команда
  • Sponsor Us
  • Languages iconRussian
    • English
    • Español
    • Français
    • 中文
    • Yoruba
    • Помочь перевести

›Разработка

Введение

  • Что такое Verdaccio?
  • Установка
  • Инструмент командной строки
  • Using a private registry
  • Кто использует Verdaccio?
  • Политика безопасности
  • Логотип
  • Uses Cases

    • End to End тестирование
    • Стратегии кэширования
    • GitHub Actions
    • Связь с удалённым репозиторием

    Talks & Articles

    • Статьи
    • Выступления

Features

  • Файл конфигурации
  • Аплинки
  • Доступ к пакетам
  • Аутентификация
  • Уведомления
  • Логи
  • Веб-интерфейс пользователя

Сервер

  • Конфигурация сервера
  • Настройка reverse proxy
  • Настройка SSL-сертификатов
  • Установка в качестве службы Windows
  • Установка на IIS сервер

Разработка

  • Плагины
  • Разработка плагинов
  • Dev Guides

    • Plugin Generator
    • Плагин аутентификации
    • Middleware плагин
    • Плагин хранилища
  • Node API

DevOps

  • Docker
  • Kubernetes
  • Непрерывная интеграция (CI)
  • Cloud

    • Amazon Web Services

    Tools

    • Ansible
    • Puppet
    • Поваренная книга

Руководства

  • Лучшие практики
  • Защита пакетов
  • Amazon Web Services
Translate

Плагины

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 5 types of plugins:

  • Аутентификация
  • Middleware
  • Хранилище
  • Custom Theme and filters

Если вам нужно разработать свой плагин, почитайте секцию разработка.

Использование

Установка

$> npm install --global verdaccio-activedirectory

verdaccio, как форк sinopia, совместим с плагинами для sinopia@1.4.0. Установка таких плагинов - аналогична.

$> npm install --global sinopia-memory

Конфигурация

Откройте файл config.yaml и измените секцию auth так, как указано ниже:

Дефолтная конфигурация выглядит так, потому что мы, по умолчанию, используем встроенный плагин htpasswd, который вы можете отключить, просто закомментировав строчку.

Конфигурирование аутентификации

  htpasswd:
    file: ./htpasswd
    # max_users: 1000

заменяем на (в случае, когда вы решили использовать плагин ldap.

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

Несколько плагинов аутентификации

This is technically possible, making the plugin order important, as the credentials will be 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

Это пример того, как надо настраивать middleware-плагин. Все middleware-плагины должны быть определены в секции middlewares.

middlewares:
  audit:
    enabled: true

В качестве примера, можно посмотреть на middleware-плагин для audit.

Конфигрирование хранилища

Это пример того, как нужно настраивать плагин хранилища. Все плагины хранилища должны быть определены в секции store.

store:
  memory:
    limit: 1000

Конфигурирование UI темы

Verdaccio позволяет заменить веб-интерфейс, и мы называем это UI темой. По умолчанию, используется @verdaccio/ui-theme, который включен в поставку, но вы можете использовать что-нибудь другое, установив свой плагин.

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

Имя плагина должно начинаться с verdaccio-theme, иначе плагин не будет загружен.

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

theme:
  dark:
    option1: foo
    option2: bar

Устаревшие плагины

Плагины Sinopia

Если вы используете плагин sinopia, помните, что все они - deprecated и могут перестать работать в будущем.

  • sinopia-npm: плагин аутентификации для sinopia, поддерживающий репозиторий npm.
  • sinopia-memory: плагин аутентификации для sinopia, который хранит пользователей в памяти.
  • sinopia-github-oauth-cli.
  • sinopia-crowd: плагин аутентификации для sinopia, для поддержки atlassian crowd.
  • sinopia-activedirectory: плагин аутентификации для sinopia, для поддержки Active Directory.
  • sinopia-github-oauth: плагин аутентификации для sinopia2, для поддержки github oauth web flow.
  • sinopia-delegated-auth: плагин аутентификации для sinopia, который делегирует аутентификацию по другому HTTP URL
  • sinopia-altldap: альтернативный плагин аутентификации для sinopia, для поддержки LDAP
  • sinopia-request: плагин аутентификации для аутентификации через внешнее API.
  • sinopia-htaccess-gpg-email: Генерирует пароль в формате htaccess, шифрует с помощью GPG и посылает его пользователям через MailGun API.
  • sinopia-mongodb: плагин аутентификации, использует mongodb.
  • sinopia-htpasswd: плагин аутентификации для sinopia, поддерживает формат htpasswd.
  • sinopia-leveldb: плагин аутентификации для sinopia, использует leveldb.
  • sinopia-gitlabheres: плагин аутентификации для sinopia, использует Gitlab.
  • sinopia-gitlab: плагин аутентификации для sinopia, использует Gitlab
  • sinopia-ldap: плагин аутентификации для sinopia, использует LDAP.
  • sinopia-github-oauth-env плагин аутентификации для sinopia, использует github oauth web flow.

Все плагины sinopia совместимы со всеми будущими версиями verdaccio. Тем не менее, мы очень хотели бы, чтобы контрибьюторы мигрировали на современный verdaccio API и использовали префикс verdaccio-xx-name.

← Установка на IIS серверРазработка плагинов →
  • Использование
    • Установка
    • Конфигурация
    • Конфигурирование аутентификации
    • Конфигурирование middleware
    • Конфигрирование хранилища
    • Конфигурирование UI темы
  • Устаревшие плагины
    • Плагины Sinopia
Verdaccio
Docs
Getting StartedDockerConfigurationLogos
Community
User ShowcaseStack OverflowProject ChatFollow Verdaccio on Twitter
More
BlogGitHubStar