tapicero.git
5 years agobugfix: pid file was not created correctly on startup. closes #6338 master
elijah [Mon, 10 Nov 2014 23:54:22 +0000 (15:54 -0800)]
bugfix: pid file was not created correctly on startup. closes #6338

5 years agoupdated Gemfile.lock
elijah [Wed, 24 Sep 2014 19:08:56 +0000 (12:08 -0700)]
updated Gemfile.lock

5 years agoDon't die when couchdb gets restarted (closes #6065)
elijah [Tue, 23 Sep 2014 23:22:19 +0000 (16:22 -0700)]
Don't die when couchdb gets restarted (closes #6065)

5 years agoMerge pull request #21 from azul/bugfix/6047-invalid-sequence-on-bigcouch
azul [Tue, 9 Sep 2014 08:28:45 +0000 (10:28 +0200)]
Merge pull request #21 from azul/bugfix/6047-invalid-sequence-on-bigcouch

new couchrest_changes deals with invalid sequence

5 years agonew couchrest_changes deals with invalid sequence
Azul [Fri, 5 Sep 2014 11:25:05 +0000 (13:25 +0200)]
new couchrest_changes deals with invalid sequence

It will also catch them on a bigcouch node and recover by reprocessing
all changes.

5 years agoMerge pull request #18 from azul/feature/recover-from-invalid-seq
azul [Thu, 3 Jul 2014 09:25:28 +0000 (11:25 +0200)]
Merge pull request #18 from azul/feature/recover-from-invalid-seq

Recover from invalid sequence file

5 years agoMerge pull request #17 from azul/feature/catch-first-change
azul [Wed, 2 Jul 2014 09:17:53 +0000 (11:17 +0200)]
Merge pull request #17 from azul/feature/catch-first-change

Work around a bug in couchrest to catch the first change

5 years agoFix couchrest missing the first change (#5452)
Azul [Wed, 2 Jul 2014 09:08:56 +0000 (11:08 +0200)]
Fix couchrest missing the first change (#5452)

CouchRest::Streamer will ignore the first line from a stream. Normally that's the line opening the results array. But for continuous feeds couch will start streaming the array elements right away. So we miss the first one.

There's a pull request pending for couchrest here:
https://github.com/couchrest/couchrest/pull/104

Until it's merged we'll monkeypatch.

Also stopping tapicero again after travis run.

5 years agorequire couchrest_changes ~> 0.1.0 (fixes #4899)
Azul [Wed, 2 Jul 2014 08:44:03 +0000 (10:44 +0200)]
require couchrest_changes ~> 0.1.0 (fixes #4899)

5 years agominor: rename TapiceroTest to ActionsTest
Azul [Wed, 2 Jul 2014 08:25:12 +0000 (10:25 +0200)]
minor: rename TapiceroTest to ActionsTest

that's what it actually tests

5 years agocheck for ARGV.first before testing it
Azul [Fri, 27 Jun 2014 09:21:20 +0000 (11:21 +0200)]
check for ARGV.first before testing it

Otherwise we will crash if no args are passed. Now we print the usage message

5 years agopid issue remains to be solved - revert to sth working
Azul [Tue, 1 Jul 2014 08:20:24 +0000 (10:20 +0200)]
pid issue remains to be solved - revert to sth working

We've seen two instances of tapicero running on the production servers. The reason is that we are using two different places for the pid file - one for root and one for a normal user.

In this scenario tapicero started by root will not notice the tapicero run as a normal user and vice versa. One idea was to solve this by always using /var/run/pid. However this also requires write privileges to that place which essentially only root has.

So let's keep the two different places and just make sure we ALWAYS run tapicero as the same user.

5 years agoMerge pull request #16 from azul/feature/replication
azul [Tue, 1 Jul 2014 07:41:29 +0000 (09:41 +0200)]
Merge pull request #16 from azul/feature/replication

minor replication fixes

5 years agominor: lot's of small fixes to make replication work
Azul [Fri, 27 Jun 2014 09:24:05 +0000 (11:24 +0200)]
minor: lot's of small fixes to make replication work

5 years agocheck for ARGV.first before testing it
Azul [Fri, 27 Jun 2014 09:21:20 +0000 (11:21 +0200)]
check for ARGV.first before testing it

Otherwise we will crash if no args are passed. Now we print the usage message

5 years agoMerge pull request #15 from azul/feature/replication
azul [Thu, 26 Jun 2014 09:38:26 +0000 (11:38 +0200)]
Merge pull request #15 from azul/feature/replication

initial take on replication

5 years agominor: include username in save_url
Azul [Thu, 26 Jun 2014 09:37:20 +0000 (11:37 +0200)]
minor: include username in save_url

5 years agoinitial take on replication
Azul [Mon, 23 Jun 2014 13:32:13 +0000 (15:32 +0200)]
initial take on replication

5 years agoupdate Gemfile.lock
Azul [Mon, 23 Jun 2014 13:30:46 +0000 (15:30 +0200)]
update Gemfile.lock

5 years agoMerge pull request #14 from andrejb/feature/5517_update-soledad-design-docs
azul [Fri, 6 Jun 2014 17:19:52 +0000 (19:19 +0200)]
Merge pull request #14 from andrejb/feature/5517_update-soledad-design-docs

Update design docs for soledad splitted sync (#5517).

5 years agoUpdate design docs for soledad splitted sync (#5517).
db [Thu, 5 Jun 2014 18:03:21 +0000 (15:03 -0300)]
Update design docs for soledad splitted sync (#5517).

5 years agoMerge pull request #13 from andrejb/feature/5315_update-soledad-design-documents
azul [Tue, 8 Apr 2014 05:46:12 +0000 (07:46 +0200)]
Merge pull request #13 from andrejb/feature/5315_update-soledad-design-documents

Update Soledad design documents.

5 years agoUpdate Soledad design documents.
db [Mon, 7 Apr 2014 14:50:29 +0000 (11:50 -0300)]
Update Soledad design documents.

5 years agoMerge pull request #12 from azul/logging/merge-lines-for-nagios
Elijah Sparrow [Tue, 11 Mar 2014 18:04:46 +0000 (11:04 -0700)]
Merge pull request #12 from azul/logging/merge-lines-for-nagios

make warnings more readable to nagios - #5247

5 years agomake warnings more readable to nagios - #5247
Azul [Tue, 11 Mar 2014 08:36:36 +0000 (09:36 +0100)]
make warnings more readable to nagios - #5247

5 years agoMerge pull request #11 from azul/feature/gitignore-untracked
jessib [Tue, 4 Feb 2014 18:44:22 +0000 (10:44 -0800)]
Merge pull request #11 from azul/feature/gitignore-untracked

gitignore: vendor, .bundle and vim temporary files

5 years agoMerge pull request #10 from azul/refactor/user-database
jessib [Tue, 4 Feb 2014 18:42:52 +0000 (10:42 -0800)]
Merge pull request #10 from azul/refactor/user-database

Refactor/user database

5 years agoMerge pull request #9 from azul/test/integration-with-travis
jessib [Tue, 4 Feb 2014 18:33:27 +0000 (10:33 -0800)]
Merge pull request #9 from azul/test/integration-with-travis

Test/integration with travis

5 years agoVersion 0.4.0 0.4.0
Azul [Tue, 4 Feb 2014 18:14:19 +0000 (19:14 +0100)]
Version 0.4.0

minor changes improving stability

5 years agogitignore: vendor, .bundle and vim temporary files
Azul [Tue, 4 Feb 2014 16:14:09 +0000 (17:14 +0100)]
gitignore: vendor, .bundle and vim temporary files

5 years agoprevent 409s and 412 and reraise them in tests
Azul [Tue, 4 Feb 2014 14:47:55 +0000 (15:47 +0100)]
prevent 409s and 412 and reraise them in tests

Including tests that ensure this

5 years agorefactor: moved prepare and destroy into user_event_handler
Azul [Tue, 4 Feb 2014 14:01:27 +0000 (15:01 +0100)]
refactor: moved prepare and destroy into user_event_handler

5 years agorefactor: separate user event handler
Azul [Tue, 4 Feb 2014 13:14:54 +0000 (14:14 +0100)]
refactor: separate user event handler

5 years agorefactor: init user_database with a couchrest db
Azul [Tue, 4 Feb 2014 13:00:58 +0000 (14:00 +0100)]
refactor: init user_database with a couchrest db

5 years agotest user deletion
Azul [Tue, 4 Feb 2014 10:25:43 +0000 (11:25 +0100)]
test user deletion

5 years agoinclude sleep in the create_user part of the tests
Azul [Tue, 4 Feb 2014 10:09:02 +0000 (11:09 +0100)]
include sleep in the create_user part of the tests

the changes feed and tapicero take some time to process the new user. Let's prevent timing issues by sleeping a second.

5 years agoseparate test setup test from actual test
Azul [Tue, 4 Feb 2014 09:09:40 +0000 (10:09 +0100)]
separate test setup test from actual test

5 years agofix tests
Azul [Tue, 4 Feb 2014 08:56:37 +0000 (09:56 +0100)]
fix tests

5 years agoset db name correctly in tests and test it
Azul [Tue, 4 Feb 2014 08:49:05 +0000 (09:49 +0100)]
set db name correctly in tests and test it

5 years agounify naming scheme - tapicero_test prefix
Azul [Tue, 4 Feb 2014 08:43:24 +0000 (09:43 +0100)]
unify naming scheme - tapicero_test prefix

5 years agohand config files on the command line to the daemon
Azul [Tue, 4 Feb 2014 08:16:19 +0000 (09:16 +0100)]
hand config files on the command line to the daemon

5 years agoonly set flags if they are defined
Azul [Tue, 4 Feb 2014 08:11:00 +0000 (09:11 +0100)]
only set flags if they are defined

5 years agofirst interesting tests
Azul [Mon, 6 Jan 2014 09:24:43 +0000 (10:24 +0100)]
first interesting tests

5 years agoadd dummy integration test
Azul [Mon, 6 Jan 2014 09:05:47 +0000 (10:05 +0100)]
add dummy integration test

5 years agotry to get require rubygems to work on travis
Azul [Mon, 6 Jan 2014 06:47:28 +0000 (07:47 +0100)]
try to get require rubygems to work on travis

5 years agoupdated Gemfile.lock
Azul [Mon, 6 Jan 2014 06:38:14 +0000 (07:38 +0100)]
updated Gemfile.lock

5 years agoinitial test for running tapicero on travis ci
Azul [Mon, 6 Jan 2014 06:32:06 +0000 (07:32 +0100)]
initial test for running tapicero on travis ci

5 years agoproperly refer to logger in user_database
Azul [Tue, 14 Jan 2014 14:34:39 +0000 (15:34 +0100)]
properly refer to logger in user_database

5 years agofix UserDatabase#prepare
Azul [Tue, 14 Jan 2014 14:15:39 +0000 (15:15 +0100)]
fix UserDatabase#prepare

5 years agoMerge pull request #8 from azul/bugfix/fix-for-revisions-starting-above-1
jessib [Mon, 13 Jan 2014 18:22:24 +0000 (10:22 -0800)]
Merge pull request #8 from azul/bugfix/fix-for-revisions-starting-above-1

Revisions sometimes start at 2 - work around this

5 years agoRevisions sometimes start at 2 - work around this
Azul [Sat, 11 Jan 2014 18:26:36 +0000 (19:26 +0100)]
Revisions sometimes start at 2 - work around this

This is an intermediate fix. There's a user record that never had it's database created. The first time it shows up in the changes feed the revision starts with 2-. Not sure why this is. But we loose this user record if we rely on CouchRest::Changes.created which checks for a revision starting with 1-.

5 years agomake logging more precise
Azul [Fri, 3 Jan 2014 14:28:49 +0000 (15:28 +0100)]
make logging more precise

* do not log the SystemExit after the fork
* log error classes alongside messages
* unify logging in retry_request_once
* debug now logs every step
* info has one message per user created
* warn only logs errors during the actions
* error only logs crashes

5 years agoVersion 0.3.2 - staying alive 0.3.2
Azul [Fri, 3 Jan 2014 09:16:09 +0000 (10:16 +0100)]
Version 0.3.2 - staying alive

This version mainly improves the stability and should keep tapicero from dying too early.

* couchrest_changes 0.0.5 will resume if the connection died.
* lock yajl version to 1.1.0 - 1.2.0 requires mkmf on the server
* retry couch requests in case they fail
* log all crashes

5 years agobetter debug loggin, sleep before retrying
Azul [Fri, 3 Jan 2014 10:57:31 +0000 (11:57 +0100)]
better debug loggin, sleep before retrying

5 years agoensure we log all errors
Azul [Fri, 3 Jan 2014 09:07:51 +0000 (10:07 +0100)]
ensure we log all errors

5 years agoretry couch requests once
Azul [Fri, 3 Jan 2014 09:03:47 +0000 (10:03 +0100)]
retry couch requests once

Couch sometimes responds with 500 or so. Often this is temporary. Let's retry once and log the error instead of dying.

5 years agohotfix: use working couchrest_changes version and yajl 1.1.0
Azul [Thu, 2 Jan 2014 19:31:21 +0000 (20:31 +0100)]
hotfix: use working couchrest_changes version and yajl 1.1.0

yajl 1.2.0 required mkmf on the server which currently is not present

5 years agouse latest couchrest_changes for more stability
Azul [Thu, 2 Jan 2014 19:03:02 +0000 (20:03 +0100)]
use latest couchrest_changes for more stability

5 years agoVersion 0.3.1 with new flags --run-once, --rerun and --overwrite-security 0.3.1
Azul [Sun, 22 Dec 2013 14:58:21 +0000 (15:58 +0100)]
Version 0.3.1 with new flags --run-once, --rerun and --overwrite-security

--run-once will exit once all current changes have been processed
--rerun will process all users again even those that were processed before
--overwrite-security will overwrite security for user databases even
  if it has been set before.

5 years agoMerge pull request #6 from azul/deploy-design-docs
azul [Sun, 22 Dec 2013 14:33:56 +0000 (06:33 -0800)]
Merge pull request #6 from azul/deploy-design-docs

Deploy design docs

5 years agoMerge pull request #5 from azul/feature/use-couchrest-changes
azul [Sun, 22 Dec 2013 14:33:21 +0000 (06:33 -0800)]
Merge pull request #5 from azul/feature/use-couchrest-changes

Version 0.2.0: use CouchRest::Changes

5 years agoVersion 0.3.0: include design docs on created databases 0.3.0
Azul [Fri, 20 Dec 2013 14:35:35 +0000 (15:35 +0100)]
Version 0.3.0: include design docs on created databases

5 years agoproceed if design docs are already there
Azul [Fri, 20 Dec 2013 14:22:16 +0000 (15:22 +0100)]
proceed if design docs are already there

We'll add a flag to overwrite designs and / or security later. For now just make sure this does not crash tapicero.

5 years agoadd design docs to be included in each user database
Azul [Fri, 20 Dec 2013 11:58:53 +0000 (12:58 +0100)]
add design docs to be included in each user database

Also strip the .json extention because soledad does not expect it

5 years agoadd design docs on db creation, use Pathname
Azul [Thu, 19 Dec 2013 14:59:55 +0000 (15:59 +0100)]
add design docs on db creation, use Pathname

Pathname makes dealing with files easier than String.

Tapicero will look for design documents in design directory in the tapicero path for now.

5 years agoVersion 0.2.0: use CouchRest::Changes
Azul [Thu, 19 Dec 2013 12:18:28 +0000 (13:18 +0100)]
Version 0.2.0: use CouchRest::Changes

This also changes the format of the config file. Please make sure to adjust it.

5 years agoMerge pull request #4 from azul/feature/more_robust_sequence_handling
jessib [Fri, 29 Nov 2013 21:43:32 +0000 (13:43 -0800)]
Merge pull request #4 from azul/feature/more_robust_sequence_handling

Feature/more robust sequence handling

5 years agoMerge pull request #3 from azul/feature/ignore_design_doc_changes
jessib [Fri, 29 Nov 2013 21:40:57 +0000 (13:40 -0800)]
Merge pull request #3 from azul/feature/ignore_design_doc_changes

ignore design document changes - do not trigger callbacks then

5 years agorescue from 404 when destroying db
Azul [Thu, 28 Nov 2013 11:11:28 +0000 (12:11 +0100)]
rescue from 404 when destroying db

Also logging per user db creation and destruction if they happen.

5 years agomake sequence accept all kinds of json
Azul [Thu, 28 Nov 2013 06:44:51 +0000 (07:44 +0100)]
make sequence accept all kinds of json

bigcouch uses arrays for sequence:
http://mail-archives.apache.org/mod_mbox/couchdb-user/201301.mbox/%3CCABvT1DEGDCJyvEuFsNJZbXi_NJwJna8NHDnQvpr2h532s0V18g@mail.gmail.com%3E

So we should not expect them to be integers. Still have to catch the empty file situation in a meaningful way though.

5 years agoignore design document changes - do not trigger callbacks then
Azul [Wed, 27 Nov 2013 09:21:37 +0000 (10:21 +0100)]
ignore design document changes - do not trigger callbacks then

tapicero should create per user databases when a user is created and
destroy them when that user is destroyed. However it should not attempt
the same if design docs are created or destroyed.

5 years agoUpdate default.yaml - couchdb security has members, not readers
azul [Thu, 21 Nov 2013 10:18:30 +0000 (11:18 +0100)]
Update default.yaml - couchdb security has members, not readers

5 years agoMerge pull request #2 from azul/feature/delete-user-databases
jessib [Mon, 18 Nov 2013 19:16:47 +0000 (11:16 -0800)]
Merge pull request #2 from azul/feature/delete-user-databases

Delete per user databases if the user has been deleted

5 years agouse our logger - not just puts
Azul [Mon, 18 Nov 2013 16:23:40 +0000 (17:23 +0100)]
use our logger - not just puts

5 years agodelete user db's on user deletion.
Azul [Mon, 18 Nov 2013 16:20:51 +0000 (17:20 +0100)]
delete user db's on user deletion.

5 years agofix issues with storing and retrieving the sequence
Azul [Mon, 18 Nov 2013 16:20:28 +0000 (17:20 +0100)]
fix issues with storing and retrieving the sequence

.to_i makes retrieving the sequence more robust - in particular if the file content was not meaningful.
store_seq should also be called if it was a destroy action.

5 years agoadd a hook for reacting on user deletion.
Azul [Mon, 18 Nov 2013 16:18:34 +0000 (17:18 +0100)]
add a hook for reacting on user deletion.

6 years agoMerge pull request #1 from azul/feature/logging
jessib [Mon, 30 Sep 2013 18:02:35 +0000 (11:02 -0700)]
Merge pull request #1 from azul/feature/logging

log to file or syslog instead of STDOUT

6 years agoclarify comment for log_file config setting
Azul [Fri, 27 Sep 2013 07:05:52 +0000 (09:05 +0200)]
clarify comment for log_file config setting

6 years agolog to file or syslog instead of STDOUT
Azul [Wed, 25 Sep 2013 10:29:48 +0000 (12:29 +0200)]
log to file or syslog instead of STDOUT

6 years agopoint to default config file for options
Azul [Mon, 16 Sep 2013 06:33:03 +0000 (08:33 +0200)]
point to default config file for options

add some explainations

6 years agoUpdate Readme.md - we're not using http_stream from yajl anymore
azul [Mon, 16 Sep 2013 06:20:34 +0000 (08:20 +0200)]
Update Readme.md - we're not using http_stream from yajl anymore

yajl/http_stream has been deprecated. We replaced it with the CouchRest::Database#changes

6 years agorefactor - separate reading the last sequence from initialize
Azul [Mon, 16 Sep 2013 06:14:50 +0000 (08:14 +0200)]
refactor - separate reading the last sequence from initialize

6 years agouse CouchRest::Database#changes, store and retrieve seq
Azul [Thu, 12 Sep 2013 07:57:45 +0000 (09:57 +0200)]
use CouchRest::Database#changes, store and retrieve seq

This commit bundles a few different changes:
* we now use the CouchRest::Database#changes stream instead of our own
* we store and read the last sequence number so on a restart we can start where we left
* we now have a UserDatabase class rather than the CouchDatabaseCreator. It also knows about it's name and we create an instance of it per database we want to create. It's also more flexible when the databases already exist.

6 years agouse password and username from the config file
Azul [Wed, 11 Sep 2013 06:58:13 +0000 (08:58 +0200)]
use password and username from the config file

6 years agowrite _security to fresh couch
Azul [Wed, 11 Sep 2013 06:31:22 +0000 (08:31 +0200)]
write _security to fresh couch

6 years agocreate couch dbs as users are created
Azul [Wed, 11 Sep 2013 06:00:09 +0000 (08:00 +0200)]
create couch dbs as users are created

6 years agouse our own JsonStream and a created callback in CouchChanges
Azul [Tue, 10 Sep 2013 16:57:52 +0000 (18:57 +0200)]
use our own JsonStream and a created callback in CouchChanges

6 years agobringing over couch_changes from leap_ca including tests
Azul [Tue, 10 Sep 2013 07:44:38 +0000 (09:44 +0200)]
bringing over couch_changes from leap_ca including tests

6 years agowe do not need couchrest_model
Azul [Tue, 10 Sep 2013 07:15:35 +0000 (09:15 +0200)]
we do not need couchrest_model

6 years agofixup: tapicero.gemspec - not leap_ca.gemspec
Azul [Tue, 10 Sep 2013 07:15:10 +0000 (09:15 +0200)]
fixup: tapicero.gemspec - not leap_ca.gemspec

6 years agoconfig file added
Azul [Tue, 10 Sep 2013 06:43:20 +0000 (08:43 +0200)]
config file added

6 years agocopying over skeleton from leap_ca which worked similarly
Azul [Tue, 10 Sep 2013 06:41:05 +0000 (08:41 +0200)]
copying over skeleton from leap_ca which worked similarly

6 years agoinitial readme
Azul [Tue, 10 Sep 2013 06:29:34 +0000 (08:29 +0200)]
initial readme