Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
couchdb-bootstrap
Advanced tools
Readme
Bootstrap CouchDB server from CLI or API.
/_config
CouchDB Bootstrap combines different small tools, which can also be used independently. Each of those tools come has a similar API and is shipped with a CLI:
Think about CouchDB Bootstrap as a toplevel manager, which reads a directory of
databases and optional _config
and hands each file over to the appropriate tool:
project/couchdb
├── _config.json
├── _replicator
│ ├── setup-alice.json
│ └── setup-bob.json
├── _users
│ ├── alice.json
│ └── bob.json
├── myapp
│ ├── _design
│ │ └── myapp.js
│ ├── _security.json
│ └── adoc.json
├── myapp-alice
│ ├── doc1.json
│ ├── doc2-commonjs.js
│ └── _security.json
└── myapp-bob
└── _security.json
In the directory tree above project/couchdb/_config.json
is handed to
couchdb-configure,
project/couchdb/_replicator/setup-alice.json
,
project/couchdb/myapp/_design/myapp.js
project/couchdb/myapp/adoc.json
are handed (beside others) to
couchdb-push
and project/couchdb/myapp-alice/_security.json
to
couchdb-secure.
Since couchdb-bootstrap@14.2 it is possible to provide a configuration object:
{
'my-db': {
_security: {
members: {
roles: [],
names: [
'alice@example.com'
]
},
admins: {
roles: [],
names: [
'alice@example.com'
]
}
},
mydoc: {
date: '2018-03-16T19:27:52.361Z',
title: 'Welcome'
},
_design: {
myapp: {
views: {
'by-date': {
map: function (doc) {
if ('date' in doc) {
emit(doc.date, null)
}
},
reduce: '_count'
}
}
}
}
},
_users: {
alice: {
_id: 'org.couchdb.user:alice@example.com',
type: 'user',
roles: [],
name: 'alice@example.com',
password: 'secure'
}
}
}
See couchdb-compile for more details about the CouchDB Filesystem Mapping on a document / security object / config level.
bootstrap(url, source[, options], callback)
url
- CouchDB server URLsource
- bootstrap object or directory holding the bootstrap treeoptions.index
- When set to true
, folders are searched for index.js
, which, if present, is treated as CommonJS module. Default is false
.options.concurrency
- Limit number of concurrent requests. Defaults to 100
.options.multipart
- When set to true
, attachments are saved via multipart api. Default is false
.options.watch
- When set to true
, documents are pushed (not _config
!) on filesystem change. Default is false
.options.mapDbName
- Set to object
or function
to map directories to custom database namescallback
- called when done with a response
object describing the status of all operations.var bootstrap = require('couchdb-bootstrap')
bootstrap('http://localhost:5984', 'project/couchdb', function(error, response) {
// here we go
})
Since 14.2.0 it is possible to provide a configuration object:
var bootstrap = require('couchdb-bootstrap')
var config = {
'my-db': {
_design: {
myapp: {
views: {
'by-date': {
map: function (doc) {
if ('date' in doc) {
emit(doc.date, null)
}
},
reduce: '_count'
}
}
}
}
}
}
bootstrap('http://localhost:5984', config, function(error, response) {
//
})
couchdb-bootstrap URL [SOURCE] [OPTIONS]
Or use the shortcurt cdbb
.
When SOURCE
is omitted, the current directory will be used.
options.index
is always true.
OPTIONS
can be --concurrency
, --multipart
, --watch
or --mapDbName='{"old-name": "new-name"}'
, see above.
couchdb-bootstrap http://localhost:5984 project/couchdb
Source as CommonJS file:
couchdb-bootstrap http://localhost:5984 bootstrap.js
See test/fixtures/bootstrap.js for an example.
npm test
FAQs
Bootstrap projects: configure CouchDB, setup security, deploy ddocs and create users.
The npm package couchdb-bootstrap receives a total of 437 weekly downloads. As such, couchdb-bootstrap popularity was classified as not popular.
We found that couchdb-bootstrap demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.