Commit Graph

126 Commits

Author SHA1 Message Date
mpl 7a27eb42eb cmd: rename camget to pk-get, and make it a mode of pk
A couple of related fixes and renames too.

Updates #981
Fixes #1056

Change-Id: Id47a933c77422edfb9db41d34c38ed9d0d7a1846
2018-04-22 20:50:54 -07:00
mpl 2bb666ccf6 all: rename remaining occurrences of camput
Also removed misc/buildbot while at it (which contained camput
references) since we don't use it anymore at all.

TODO: the OSX app seems to be relying on finding a binary in ../bin,
which we do not use anymore. This will probably need fixing.

Updates #981

Change-Id: I14220fbad2e81181330fca4bb2d2e5fe170e1bd6
2018-04-21 16:20:24 -07:00
Brad Fitzpatrick ca76a40bbc Rename camlistored to perkeepd.
Updates #981

Change-Id: I8fe43c240c149074c23128a89ab426af9cbf94b4
2018-04-21 11:06:09 -07:00
Brad Fitzpatrick 617ac40512 all: rename cammount to pk-mount
Updates #981

Change-Id: Ie1d2e3c0fd7e2b7a7801ceac0fd8f93f62d56651
2018-01-08 09:54:41 -08:00
Adam Shannon b8dbd56b35 website: remove old TODO on removing Installation header from cmd/*
Change-Id: I4f77d9271c17442b69e3f9ebbcc39acc6361e221
2018-01-07 10:23:24 -06:00
Brad Fitzpatrick 9265c980de all: change github.com/camlistore/camlistore to github.com/perkeep/perkeep
Change-Id: I0d612bf450e9e8d9ce0767c5a0cb0c44c0d8704f
2018-01-05 19:49:59 -08:00
Brad Fitzpatrick d6a0b05df0 Rename import paths from camlistore.org to perkeep.org.
Part of the project renaming, issue #981.

After this, users will need to mv their $GOPATH/src/camlistore.org to
$GOPATH/src/perkeep.org. Sorry.

This doesn't yet rename the tools like camlistored, camput, camget,
camtool, etc.

Also, this only moves the lru package to internal. More will move to
internal later.

Also, this doesn't yet remove the "/pkg/" directory. That'll likely
happen later.

This updates some docs, but not all.

devcam test now passes again, even with Go 1.10 (which requires vet
checks are clean too). So a bunch of vet tests are fixed in this CL
too, and a bunch of other broken tests are now fixed (introduced from
the past week of merging the CL backlog).

Change-Id: If580db1691b5b99f8ed6195070789b1f44877dd4
2018-01-01 16:03:34 -08:00
Steven L. Speek 13c084739c search: expression/constraint aliases
The search handler can store and retrieve search aliases.
Keyword namedSearch handles these new atoms of the form
named:foo.

Creating an alias has been implemented using a client in
the camtool subcommands named-search-get and named-search-set.

Change-Id: I7960f83bad464eb1a971c07f33631744a5eea814
2017-12-29 21:41:20 -08:00
Paul Lindner b077a5916e pkg/webserver: remove usage of the obsolete runsit package
The runsit package is obsolete.  Pull the listen code directly into webserver and
remove support for the runsit specific named ports.  Update TODO.

Change-Id: I0d8ea798375d0eb4abea86ed9e6454376233e992
2017-12-26 15:03:59 -08:00
Gina White 56bb5d1a38 Address TODO by moving CAMLI_DEBUG checks into env
I also wonder if we want to take a more comprehensive approach to
environment variables, perhaps populating a struct at startup that other
code can consult later.  But it might be too soon for that kind of thing
in this project.

Change-Id: I65a34622bf906c1256ceb357ba983bc5acd6b887
2015-08-25 07:22:14 -07:00
Brad Fitzpatrick 16c4e8a394 Add emacs+gofmt TODO
Change-Id: Ifaeea4769c6232564e04b821f12342fc241fd9b6
2014-12-22 06:58:06 +13:00
Brad Fitzpatrick 42def7d922 More TODO
Change-Id: Idc04a985758eea2468f40b6c629cad4c81c95f1a
2014-12-22 06:03:31 +13:00
Brad Fitzpatrick 37001fa359 blobserver: simplify BlobStreamer interface, remove limitBytes
The caller can count on its own and cancel the context.

Also, I realize again that there's no HTTP interface for this yet, since
I didn't need to update one.

Change-Id: Ie3129bdb0dbc977c1803f18288e4d1e52e2d8478
2014-12-22 06:02:57 +13:00
Brad Fitzpatrick ddbe440e45 Update more (all remaining) issue links to Github.
Change-Id: Ia796410afb292615e63f7f42b5ecda3d18d7c325
2014-12-13 17:40:54 +11:00
Steven L. Speek 32eb403c15 100M benchmark for localdisk and diskpacked
Change-Id: If46c3a710e5ef370ed8e1cfe166ab789ef0d206c
2014-11-10 20:03:01 +01:00
mpl 53be9298a5 blobserver/s3: add optional in-memory Fetch cache
Change-Id: I77e27555d28002ba01f1501e8a77eb4adbf701fe
2014-10-18 19:34:25 +02:00
Brad Fitzpatrick 85ef3b89e9 blobserver/google/cloudstorage: add optional in-memory Fetch cache
So blobpacked can get blobs quickly without HTTP GET requests when it needs
to do all the small blob fetches when writing the zip file.

Change-Id: Ibbab0483920f2ef3b70c60eeebcd0056a8e4364f
2014-09-27 16:53:34 -07:00
Brad Fitzpatrick 2e2e55c455 TODO: add reindexing notes
Change-Id: I688059210dcbff955b909782002806a04e6c5259
2014-06-27 12:00:22 -07:00
Steven L. Speek a40d5d467b Makefile: fmt target
Made it a prerequisite of presubmit

Change-Id: Ia0d8f5f5bf1131d4004c950af98ad5e078b3423b
2014-03-20 20:04:35 +01:00
Brad Fitzpatrick bfafb8321f TODO: clean up sync+index incoming blob handling
Change-Id: I64cd4818dead81f5a0dac0e275994df17b7740ef
2014-03-18 17:35:14 -07:00
Brad Fitzpatrick bfd3b3fdc8 TODO: ditch the importer.Interrupt type
Change-Id: I3a7eac29713a5079220b2e56508bd8ca105b14cf
2014-03-18 10:38:49 -07:00
Brad Fitzpatrick bfbdd57ad6 more TODO
Change-Id: Ibb03612c1a06287bf781b96f478d4d627b159c84
2014-03-18 10:08:53 -07:00
Brad Fitzpatrick bf94a73859 Get rid of SeekFetcher vs StreamingFetcher distinction and complexity.
StreamingFetcher is now just Fetcher, and its FetchStreaming is now
just Fetch.

SeekFetcher is gone. Blobs are max 16 MB anyway, so we can slurp to
memory when needed. The main thing that cared about SeekFetcher
was the GET handler, ServeBlobref, because http.ServeContent needed
one for range requests. That's rewritten in an earlier commit, using
the FakeSeeker from another earlier commit.

Lot of code got simpler as a result.

Change-Id: Ib819413e48a8f9b8d97f596d0fbf771dab211f11
2014-03-14 12:29:13 -07:00
Brad Fitzpatrick bf5e1a43b6 TODO: more
Change-Id: Id83f4c319340d28e500ce889cd2ed951bd3998a1
2014-03-14 09:23:18 -07:00
Brad Fitzpatrick 306f727e9e TODO: remove done item
Change-Id: Ia3ac1d922953df3c6ab33863581fd823d6a8a1a6
2014-02-27 21:06:42 -08:00
Tamás Gulácsi 97520583b8 Use 'uint32' instead of 'int64' for blob sizes everywhere.
Not just in blob.SizedRef, but in blobserver.Fetch and
blobserver.FetchStreaming, too.
Blobs have a max size of 10-32 MB anyway, and the index.Corpus is now using
uint32 to save memory.

Change-Id: I1172445c2f9463fdaee55bfe0f1218d44be4aa53
2014-02-08 17:58:12 +01:00
Brad Fitzpatrick 50c329d4a2 Add integration test for websocket query
Change-Id: I37c48d5749c7bf31aa118b2bee0861aeb07c5ff3
2014-02-07 15:02:22 -08:00
Brad Fitzpatrick 97cd3926a0 diskpacked index syncing TODO
Change-Id: Icdd834aacf73d2a1e5ad3e6ddd212493a31be0bb
2014-02-07 10:45:59 -08:00
Brad Fitzpatrick dfce3b3f72 more TODO
Change-Id: I4bdeb5d4c922b23e95c5e3789bcf65df6e0838a5
2014-02-04 18:48:16 -08:00
Brad Fitzpatrick b118bb3bdb TODO: updates
Change-Id: Ie2f294e84ecea05d60680b2d1bc83123fee2947a
2014-01-31 19:42:05 +01:00
Brad Fitzpatrick 4d5fc167f3 TODO: add cacher cleaning note
Change-Id: I89fb75b816d6c12c9d60e897ffdab274d8827180
2014-01-31 12:55:05 +01:00
Brad Fitzpatrick 0c1a271d38 When caching resized images, don't use a file schema blob and lots of little
chunks when the size of the resized image is under 16 MB.

Also add some more expvars counters.

Change-Id: I769247edf3819ca95669bdf9a1c8d3876c54095b
2014-01-18 10:12:29 -08:00
Brad Fitzpatrick 2086406552 Client fixes and cleanups:
* Fix TODO about moving camput file's havecache up a layer into
  camput itself. So now it's used for all commands (camput permanode,
  camput attr, etc). Reduces HTTP requests.

* Fix camlistore.org/issue/343 -- don't do stats before uploads
  in cases where it's useless. Adds a field to UploadHandle.

* Fix camlistore.org/issue/344: upload the public key whenever
  uploading a signed blob. Usually this is a no-op because of the
  have cache.

* Use zero (or <=0 rather), not -1, to mean unknown on UploadHandle
  Size.

* More docs on public stuff.
2014-01-15 18:32:02 -08:00
Brad Fitzpatrick a3e6f4c845 TODO: remove some items
Change-Id: I1a57ea29222a0bf86beeff5d6b130fab753d52ee
2014-01-14 17:52:37 -08:00
Brad Fitzpatrick 533600daff pkg/server: Run synchronous blob hooks first in blobhub.
Change-Id: I4cc04b10d97bb9aefea4f0e2ae61117b8ef15c17
2014-01-14 17:51:31 -08:00
Brad Fitzpatrick e14a849c35 Remove TODO. Done with env CAMLI_DISABLE_THUMB_CACHE now.
Change-Id: I84835c565eda7bcb0562a4748357c9e05188eca3
2014-01-14 17:43:44 -08:00
Brad Fitzpatrick ab635c6ab3 misc UI TODOs
Change-Id: Ic874bd8fac550d35268f006e1e1beb3bd88ba3b5
2013-12-15 20:58:53 -08:00
Brad Fitzpatrick 4edcdd5098 Use singleflight when generating thumbnails.
Change-Id: I3691f912748a85db09f96029584129e0897191ef
2013-12-14 12:05:51 -08:00
Brad Fitzpatrick 5c5666d037 Thumbnail cleanups and let the meta map persist on disk with a sorted.KeyValue
Previously, every time you restarted the server, it forgot about all
thumbnails previously generated.  (in practice it didn't/doesn't
matter with a single user, though, since they're still cached in the
browser and we always reply to If-Modified-Since immediately without
checking the cache)  But it'll matter more with the Publish handler.

Also, rename some stuff, clean up some stuff, drop an unused interface.

And then necessarily change the serverconfig low-level generator to use
a kvfile for the thumbmeta map when using local disk for blobs.

--

Change-Id: I4dcfcb21429a440aa118794c03f7abf7bd69c33b
2013-12-14 09:37:56 -08:00
Brad Fitzpatrick eb483eb9f6 Limit number of image resizes happening at once.
Attempt to ease memory spikes.

Change-Id: I4df7177c063b284ac841335d8f18b1a6da5289d0
2013-12-14 15:25:39 +01:00
Brad Fitzpatrick a159d20b41 server: unexport some image stuff, add docs, TODOs, clean up
Change-Id: I4914de33406da08a4bbf806d9d0386a285e4a8d7
2013-12-14 15:16:29 +01:00
Brad Fitzpatrick 1ade80b0f0 add blobhub TODO
Change-Id: I8d3b69d0264610cfdb35addfefeaad11be43c557
2013-12-11 15:53:17 +04:00
Brad Fitzpatrick c7a0c5842c little TODO
Change-Id: Icda704f63db4ad39ea4bfe13bb9b7d62b227d662
2013-12-04 00:39:09 -08:00
Brad Fitzpatrick 749c5aed3d leveldb TODO
Change-Id: I20f5b0491d3adcc7eca89d819345efd31f11adde
2013-12-03 21:36:58 -08:00
Brad Fitzpatrick 0c73a65f78 TODO: use uint32 for SizedRef, not int
Change-Id: I6f8bdfd483c1be4e3ec933f2bf05686163ed2bd7
2013-12-02 12:01:42 -08:00
mpl 1ee5fd20c5 search: deletions are not modifications
1) pkg/search: documented that deletions times do not
qualify as modtimes

2) pkg/index: got rid of DeletedAt, and keyDeletes

http://camlistore.org/issue/191

Change-Id: I39578913345454d36af4599e29e7053f46577846
2013-11-29 00:29:57 +01:00
Brad Fitzpatrick c733835684 more TODO
Change-Id: Ib43348a234a1902fa94d3d13b7e10aecb49da0e2
2013-11-26 19:27:03 -08:00
Brad Fitzpatrick ab19715dc6 docs and TODOs
Change-Id: I434c4d00a4dd63d338646376a563f69b122a3c53
2013-11-23 09:09:40 -08:00
Brad Fitzpatrick 90c1e48afe Rename index.Storage to sorted.KeyValue and move it into a new package.
Having index.Index and index.Storage both in the same package led to
confusing discussions about "an index". Better names now, and smaller
packages.
2013-11-22 23:24:54 -08:00
Brad Fitzpatrick 70475701d1 Get rid of QueueCreator and all its associated complexity.
Previous TODO entry was:

-- Get rid of QueueCreator entirely. Plan:
     -- sync handler still has a source and dest (one pair) but
        instead of calling CreateQueue on the source, it instead
        has an index.Storage (configured via a RequiredObject
        so it can be a kvfile, leveldb, mysql, postgres etc)
     -- make all the index.Storage types be instantiable
        from a jsonconfig Object, perhaps with constructors keyed
        on a "type" field.
     -- make sync handler support blobserver.Receiver (or StatReceiver)
        like indexes, so it can receive blobs.  but all it needs to
        do to acknowledge the ReceiveBlob is write and flush to its
        index.Storage. the syncing is async by default. (otherwise callers
        could just use "replica" if they wanted sync replication).
        But maybe for ease of configuration switching, we could also
        support a sync mode.  when it needs to replicate a blob,
        it uses the source.
     -- future option: sync mirror to an alternate path on ReceiveBlob
        that can delete. e.g. you're uploading to s3 and google,
        but don't want to upload to both at once, so you use the localdisk
        as a buffer to spread out your upstream bandwidth.
     -- end result: no more hardlinks or queue creator.

Change-Id: I6244fc4f3a655f08470ae3160502659399f468ed
2013-11-22 14:33:31 -08:00