[
https://issues.apache.org/jira/browse/COUCHDB-2541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14282741#comment-14282741
]
Jan Lehnardt commented on COUCHDB-2541:
---------------------------------------
> `couchdb` script is one the made in bash? I don't feel that this will be a
> simple in implementation, but indeed it will be simple in realization (sorry
> Windows).
What I meant is that the cli name could maybe `couchdb` instead of
`couchdbctl`. I wouldn’t want to implement all the functionality in shell (I
think/hope we use plain sh, not bash), but pipe all commands to a binary where
such things are easier implemented. E.g. `couchdb start` runs the shell routine
that starts CouchDB, `couchdb db compact` would not match any shell routine, so
we pass this onto a sub-program that does the job.
> couchdbctl
> ----------
>
> Key: COUCHDB-2541
> URL: https://issues.apache.org/jira/browse/COUCHDB-2541
> Project: CouchDB
> Issue Type: New Feature
> Security Level: public(Regular issues)
> Reporter: Alexander Shorin
>
> couchdbctl is CouchDB control service utility that aims to help users manage
> and inspect their CouchDB instance, keeping it well and health.
> Few ideas what it may do:
> - register users with easy:
> {code}
> $ couchdbctl users add Jan
> Password:
> {code}
> hides routines to create /_users/org.couchdb.users:Jan document with all
> required fields;
> - run service operations:
> {code}
> $ couchdbctl db compact
> {code}
> - connect to node and provide shell:
> {code}
> $ couchdbctl attach
> {code}
> - run security audit as like as
> [audit-couchdb|https://github.com/iriscouch/audit_couchdb] or
> [couchdb-auditor|https://github.com/kxepal/python-couchdb-auditor] does;
> {code}
> $ couchdbctl audit
> {code}
> - see erltop;
> {code}
> $ couchdbctl top
> {code}
> - monitor stats and active tasks in realtime;
> - run replications with single command without worry about JSON and required
> fields:
> {code}
> $ couchdbctl replicate foo http://example.com/bar --continuous --create-target
> {code}
> - check cluster health, add/remove nodes to it;
> - explain errors in logs:
> {code}
> $ couchdbctl errors
> [error] [<0.125.0>] {error_report,<0.30.0>,
> {<0.125.0>,crash_report,
> [[{initial_call,{couch_file,init,['Argument__1']}},
> {pid,<0.125.0>},
> {registered_name,[]},
> {error_info,
> {exit,
> {{badmatch,{error,eacces}},
> [{couch_file,init,1,
> ...
> eacess error - insufficient or invalid permissions, please verify that
> couchdb user has all r permissions to the following paths:
> /var/lib/couchdb - read+write
> /var/log/couchdb - read+write
> /etc/couchdb - read+write
> /usr/lib64/couchdb/erlang/lib/couch-2.0.0/priv/lib - read
> {code}
> And so on and so forth. It's easy to find how this utility may improve users
> experience with CouchDB by simplifying common maintaining routes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)