Commit Graph

210 Commits

Author SHA1 Message Date
Alex Kocharin bb9612441c trim intervals 2014-03-08 04:38:37 +00:00
Alex Kocharin 48825a2e46 change intervals formatting to match nginx
see http://wiki.nginx.org/ConfigNotation
2014-03-08 04:37:16 +00:00
Alex Kocharin 6a2a463b76 count each failed request only once 2014-03-08 04:00:07 +00:00
Alex Kocharin f1ec18dc4b implement nginx-like logic to avoid hitting upstream when it's down 2014-03-08 03:54:28 +00:00
Alex Kocharin 6b9001ef6c change interval formatting in config
All intervals are now in milliseconds. But you can add
multiples ("ms", "s", "m", "h", "d", "M", "y") to set
value using different units.

For example, value "1.5h" would mean 1.5 hours.
2014-03-08 03:49:59 +00:00
Alex Kocharin 9ff1203688 throw away incomplete downloads 2014-03-07 19:48:24 +00:00
Alex Kocharin a891354a32 always return content-length for tarballs 2014-03-07 19:39:20 +00:00
Alex Kocharin 9c4c93695b fix crash in #52 2014-03-07 18:20:41 +00:00
Sam Day 58e98c7263 Support maxage for uplinks 2014-03-02 20:47:09 +11:00
Alex Kocharin 691d62f403 eslint update + style fixes 2014-02-23 21:20:50 +04:00
Alex Kocharin a5d0094669 remove npmsslkeys
See commit in npmconf:
e0b4a4e5cc
2014-02-23 20:55:41 +04:00
Alex Kocharin b65cf7afe3 move eslint config to yaml 2014-02-07 00:56:46 +04:00
Alex Kocharin 8840ac4c1f removing bad statement 2014-02-03 00:50:38 +04:00
Alex Kocharin 9f662a69e1 validate all url parameters better 2014-02-01 12:08:48 +04:00
Alex Kocharin 616ec7626a process.getuid doesn't always exist (fixes #41) 2014-01-24 06:36:03 +03:00
Alex Kocharin 2add883370 adding config param to specify upload limits, fixes #39 2014-01-18 23:04:12 +04:00
Alex Kocharin e522347667 making loose semver versions work, ref #38 2014-01-18 22:57:44 +04:00
Alex Kocharin 6c258758c8 support setting different storage paths for different packages
fixes #35
2014-01-13 22:56:36 +04:00
Alex Kocharin 68d3cc7295 fs interface refactoring 2014-01-13 20:48:51 +04:00
Alex Kocharin 5422de642e tag support, closes #8 2013-12-29 10:41:31 +04:00
Alex Kocharin 3c7ae2f37d a few bugfixes 2013-12-29 04:58:48 +04:00
Alex Kocharin 6075034521 proxy_access -> proxy (since we're removing proxy_publish) 2013-12-29 04:54:46 +04:00
Alex Kocharin d1a1a8f4cd bugfix 2013-12-29 04:54:39 +04:00
Alex Kocharin 54535893ab adding support for new npm behaviour, closes #31 2013-12-29 04:53:31 +04:00
Alex Kocharin 8c05cfe6a2 require heapdump if present on the system 2013-12-29 04:52:23 +04:00
Alex Kocharin 6c838c7947 remove all replication-like functionality
apparently it was a bad idea, it's simpler to just run a single
sinopia instance as a master

TODO: write some help in readme about it
2013-12-27 17:23:14 +04:00
Alex Kocharin 985d705ad2 working on tags / incomplete 2013-12-27 17:06:30 +04:00
Alex Kocharin 6234f8cba9 Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-27 17:05:05 +04:00
Alex Kocharin c0e34890e4 req.user -> req.remoteUser 2013-12-27 15:29:23 +04:00
Alex Kocharin b42687d230 Merge tag 'v0.5.9' of github.com:rlidwka/sinopia
0.5.9
2013-12-26 23:46:08 +04:00
Alex Kocharin b44255de3c set right Accept header for tarballs, closes #32 2013-12-26 23:25:19 +04:00
Alex Kocharin b0fa7ee2d1 using eslint to check the code 2013-12-23 04:14:57 +04:00
Alex Kocharin 3b2bd161b7 logging bad versions 2013-12-21 16:09:29 +04:00
Alex Kocharin 3a31064ded deal with js-yaml warning 2013-12-19 18:50:31 +04:00
Alex Kocharin 151136381e style fix 2013-12-19 07:18:45 +04:00
Alex Kocharin 503b60a45b catch bind errors 2013-12-19 07:17:52 +04:00
Alex Kocharin 225c2bb65f added a warning to not run it under root 2013-12-17 20:25:17 +04:00
Alex Kocharin 8ea985ff6b don't color multiline strings in logs output
stack traces should be easily recognizable
2013-12-16 03:07:19 +04:00
Alex Kocharin 0cec69ee1d Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-16 00:58:09 +04:00
Alex Kocharin 693aa576b4 safeguard against bad tarball names 2013-12-16 00:54:29 +04:00
Alex Kocharin 3abce5e2b6 better error message when publishing with bad auth header 2013-12-16 00:38:16 +04:00
Alex Kocharin f43ec71ccb 0.5.7 2013-12-15 04:05:58 +04:00
Alex Kocharin ef61515f28 try to fetch package from uplinks if user requested a tarball we don't know about
closes #29 + tests fix
2013-12-15 03:15:58 +04:00
Alex Kocharin 9094d0742f better error message for incorrect package names 2013-12-15 03:09:55 +04:00
Alex Kocharin ede09b5c77 refactoring: move uplink.get_package() calls to it's own function 2013-12-13 20:50:41 +04:00
Alex Kocharin 380ec1e917 always end response with a newline 2013-12-13 19:12:24 +04:00
Alex Kocharin 8149f883b0 default express.js to production mode, not development 2013-12-12 03:19:40 +04:00
Alex Kocharin 96b336acc3 if uplink doesn't answer, stop sending requests to it for a while (2 min default) 2013-12-12 02:00:26 +04:00
Alex Kocharin 520a3b0220 cleanup 2013-12-12 01:55:40 +04:00
Alex Kocharin 230750ff88 adding sinopia version to logs 2013-12-12 01:55:17 +04:00
Alex Kocharin 203f0300e3 Merge branch '0.5.x' of github.com:rlidwka/sinopia
Conflicts:
	lib/storage.js
	test/start.sh
2013-12-12 01:44:29 +04:00
Alex Kocharin 7ee2361700 better tests for various tags (including bad ones), ref #21 2013-12-12 01:22:35 +04:00
Alex Kocharin 47a92ff273 fail-safe semver parsing + tests, ref #25 2013-12-12 00:51:48 +04:00
Brett Trotter fc99692219 Update semver.compare to semver.compareLoose to tolerate grunt and other packages 2013-12-12 00:35:07 +04:00
Alex Kocharin bd7dde229a Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-11 21:40:41 +04:00
Alex Kocharin d149252a3b fixing crash on bad tags 2013-12-11 17:04:08 +04:00
Brett Trotter ed3386f044 Update semver.compare to semver.compareLoose to tolerate grunt and other packages 2013-12-10 13:04:47 -06:00
Alex Kocharin 36fa1ba655 log fatal errors 2013-12-10 14:29:46 +04:00
Alex Kocharin 77182a755d expose sinopia's version in Server header for debugging purposes 2013-12-10 14:12:34 +04:00
Alex Kocharin f05a4784fd fixing crash on bad tags 2013-12-10 13:55:35 +04:00
Alex Kocharin 7f7c056ecd various bugfixes, camelcase for http headers 2013-12-09 08:00:16 +04:00
Alex Kocharin bbb402f762 detecting http loops 2013-12-09 07:59:31 +04:00
Alex Kocharin 4d70d8065e add via tag to prevent loops 2013-12-09 07:58:25 +04:00
Alex Kocharin 2f45649a2c improving tags support, ref #8 2013-12-08 02:55:50 +04:00
Alex Kocharin 08d1011433 use standard \033 escape sequence for vt esc codes 2013-12-08 02:54:26 +04:00
Alex Kocharin 6e71913c46 setting default timeout to 30 seconds, #18 2013-12-08 02:37:27 +04:00
Alex Kocharin cc7165dd3c Merge branch 'master' of github.com:rlidwka/sinopia 2013-12-06 21:49:31 +04:00
Alex Kocharin a257fc3962 swallow bad auth errors, fixes #17 2013-12-06 21:46:51 +04:00
Alex Kocharin 6a295ac196 don't send etags with errors 2013-12-06 21:46:11 +04:00
Alex Kocharin 9ee8d484db dealing with internal errors in express.js 2013-12-05 16:31:21 +04:00
Alex Kocharin 7b0ab14d4c dealing with express.js errors 2013-12-05 16:27:23 +04:00
Brandon Nicholls 1d109f8071 Adding a configurable timeout for each uplink 2013-12-04 12:39:29 -07:00
Alex Kocharin 8f05e141c3 retrieving proxy values from environment if present 2013-11-24 21:08:20 +04:00
Alex Kocharin 1df6d53612 config examples for proxy 2013-11-24 21:07:54 +04:00
Alex Kocharin 13242c8237 add proxy support, fix #13 2013-11-24 21:07:18 +04:00
Alex Kocharin fecffa2a39 return an appropriate X-Status-Cat header 2013-11-24 21:06:01 +04:00
Alex Kocharin 15d46e3280 log 'new packages directory' message at a warn level 2013-10-26 16:20:42 +04:00
Alex Kocharin b2f6128e9c style fix 2013-10-26 16:18:36 +04:00
Alex Kocharin 5da3c8ba58 transaction stub 2013-10-26 15:43:42 +04:00
Alex Kocharin dafcf8647c basic support for unpublishing individual versions (local only) 2013-10-23 10:15:17 +04:00
Alex Kocharin 6ae26226eb removing all tarballs on unpublish --force 2013-10-22 17:33:39 +04:00
Alex Kocharin 3a407396b8 better error logging 2013-10-22 13:37:28 +04:00
Alex Kocharin 782abbb86d honor etags when making requests 2013-10-22 13:31:48 +04:00
Alex Kocharin ec26083e81 added a maxage option for uplinks 2013-10-22 12:34:07 +04:00
Alex Kocharin fea98dfa59 unlink directory when package is unpublished 2013-10-22 11:53:59 +04:00
Alex Kocharin 78f856cf81 shasum check for uploaded tarballs 2013-10-22 11:45:19 +04:00
Alex Kocharin 61658cfbdc added utils.is_object function for convenience 2013-10-22 11:29:57 +04:00
Alex Kocharin 4c2c4b87c2 calculating sha1sum of uploaded tarballs 2013-10-22 11:12:06 +04:00
Alex Kocharin 5622b2283d added couchdb-like revisions 2013-10-22 11:00:04 +04:00
Alex Kocharin 8b314040d9 fixing race conditions when updating package data 2013-10-22 09:10:25 +04:00
Alex Kocharin acc2e571ff logging didn't work on chunked output 2013-10-19 01:53:27 +04:00
Alex Kocharin fa51797602 return 500 instead of 404 if local storage is corrupted 2013-10-19 01:35:41 +04:00
Alex Kocharin 3ca3ac2dae logging fs errors 2013-10-19 01:17:53 +04:00
Alex Kocharin 012892600b handing JSON.parse errors 2013-10-19 00:46:13 +04:00
Alex Kocharin 674f944942 tweaking fs logger color 2013-10-19 00:45:36 +04:00
Alex Kocharin 1a58a0f8d8 hide authorization header in logs 2013-10-12 18:37:47 +04:00
Alex Kocharin fcebeea3ee don't print colors if output stream is not tty 2013-10-12 11:57:59 +04:00
Alex Kocharin 015623f9ae making various test cases work 2013-10-11 13:50:41 +04:00
Alex Kocharin 957f915d42 fixing a next(err) function called twice 2013-10-11 13:49:00 +04:00
Alex Kocharin 70f717a295 using undefined instead of anonymous for non-logged in users 2013-10-11 09:53:54 +04:00