Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

kappa

Package Overview
Dependencies
Maintainers
4
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kappa

A hierarchical npm-registry proxy to make private registries easier. (Based on npm-delegate by @jden)

  • 1.0.0-rc.14
  • rc
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
158
increased by2157.14%
Maintainers
4
Weekly downloads
 
Created
Source

kappa

Lead Maintainer: Jean-Charles Sisk

Build Status
NPM version

Based on [npm-delegate] (https://npmjs.org/package/npm-delegate) by Jason Denizac jason@denizac.org, this module is a hapi plugin used to proxy npm to support private npm repos without replicating the entire public registry.

NOTE: The config.json described below is a Hapi Composer manifest that describes kappa as a plugin. See ./example/global/config.json or ./example/local/config.json for more information.

Quickstart
TL;DCO (too long; didn't check out)

Using docker-compose, just run docker-compose up in a directory containing our docker-compose.yml file. Soon after you'll have a working kappa instance set up to use a local couch instance (falling back to the public registry) on 0.0.0.0:8000.

Global Installation
$ npm install -g kappa
$ kappa -c config.json
Local Installation

If you choose to install locally, running kappa is as easy as

$ npm init
$ npm install --save kappa

# add start script to package.json:
#    "scripts": {
#        "start": "kappa -c config.json",
#    }

$ npm start

You can then put those artifacts (config.json and package.json) under source control for simple deployments later:

$ git clone git@github.com:me/myregistry.git
$ cd myregistry
$ npm install
$ npm start
Options

kappa plugin currently supports the following parameters

  • vhost - the virtual host associated with the kappa server, e.g. 'npm.mydomain.com'
  • paths (optional) - any ordered array of npm repositories to use, e.g. Defaults to ['http://localhost:5984/registry/_design/app/_rewrite/', 'https://registry.npmjs.org/']
  • rewriteTarballs (optional) - When true rewrites the tarball URL in packages to download each resource via kappa. When false, tarball URLs are left untouched, allowing the client to download package tarballs directly from the registry that fulfilled the package request. Defaults to true.

For read operations (GET, HEAD, etc) the proxy will first attempt to fetch the module from the first registry. If the requested module is not found it continues to the next registry, and so on.

For write operations the proxy will only attempt to write to the FIRST registry. All auth occurs with the first registry as well.

FAQs
I'm seeing npm install fail after a couple of minutes with: npm ERR! shasum check failed for ...

This is likely a result of the download exceeding node's default socket idle timeout. The best way to address this is by disabling the socket timeout for your server in the manifest.

{
    "host": "localhost",
    "port": 8000,
    "options": {
        "timeout": {
            "socket": false
        }
    }
}

Keywords

FAQs

Package last updated on 05 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc