Commit Graph

206 Commits

Author SHA1 Message Date
mpl db2604f981 pkg/schema: break static-sets in subsets for large directories
The current maximum size for a schema blob is 1MB. For a large enough
directory (~20000 children), the resulting static-set JSON schema is
over that maximum size.

We could increase that maximum, but we would eventually hit the maximum
blob size (16MB), which would only allow for ~300000 children. Even if
that is an uncommon size, it is technically possible to have such large
directories, so I don't think it would be reasonable to restrict users
to such a limit. So it does not seems like enough of a solution.

The solution proposed in this CL is to spread the children of a
directory (when they are more numerous than a given maximum, here set to
10000) onto several static-sets, recursively if needed. These
static-sets (subsets of the whole lot of children) are stored in the new
"mergeSets" field of their parent static-set schema. The actual fileRefs
or dirRefs, are still stored in the "members" field of the subset they were
spread in. The "mergeSets" and "members" field of a static-set are therefore
mutually exclusive.

Fixes #924

Change-Id: Ibe47b50795d5288fe904d3cce0cc7f780d313408
2018-02-09 01:36:38 +01:00
Mathieu Lonjaret 6e8a5930c9 all: make server advertise when it has legacy SHA-1 indexes, use that info
when its wholeref index lines contain any "sha1-" wholeref lines.

Then, have the client use that info when uploading files to also
compute the sha-1 (in addition to the sha-224) and ask the server for
both.

By client, we mean changes to cmd/camput, to pkg/client functions (for
camput and other Go clients, such as the apps), and to the web UI.

Also, add a -sha1 mode to devcam server, as well as the
CAMLI_SHA1_ENABLED env var, to facilitate testing/debugging of the
legacy sha1 mode.  Fix/document unrelated options in devcam server
while we're at it.

Change-Id: I369679d2a4719f6f8b409f78dd4d065e13a3f62f
2018-01-31 01:10:52 +01:00
Paul Lindner 459c75410e all: more renaming of Camlistore to Perkeep
Change-Id: I118e3cbcf20d80afeffc84f001388c4556f21628
2018-01-30 03:02:56 -08:00
mpl c03ad46ce9 doc: warn that multi claims are not implemented
Related: issue #110

Change-Id: I2726f4e2aef714b62397f3a30633eb30e65ef079
2018-01-24 01:34:52 +01:00
Brad Fitzpatrick 97752c049f doc: cross-link compare and prior-art pages
Change-Id: I0fbbe38a72b6d4de895c8f5e13c483375d20a5ba
2018-01-09 11:14:00 -08:00
Brad Fitzpatrick 916f8807a7 doc: add comparison to other software and services
Change-Id: I45f228abd4ca7f970e433e5254428dd48fe596fc
2018-01-09 11:04:44 -08:00
Brad Fitzpatrick 617ac40512 all: rename cammount to pk-mount
Updates #981

Change-Id: Ie1d2e3c0fd7e2b7a7801ceac0fd8f93f62d56651
2018-01-08 09:54:41 -08: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
mpl 7eda9fd502 pkg/serverinit: remove DBNames and provide consistent default instead
DBNames is supposed to provide configuration for the various databases
names. However,
1) I contend that nobody needs or wants to configure them as long as we
provide sane defaults.
2) it seems the only obvious user we have for this is to set up some of
the names on GCE.
3) having another external source for names complicates the code
further, especially when we already have the distinction between
database names for DBMS and file names for file-based databases.
4) writing a correct documentation for it is awkward.

Therefore, in this CL, I propose that we remove DBNames. Instead,
genconfig.go now sets some consistent default names for the various
queues and indexes set up on a DBMS (MySQL, PostGres, Mongo). To that
end, we introduce the new, but optional, DBUnique configuration
parameter, that is used as a part of all the database names, in order to
be able to run several Perkeep instances on the same DBMS, without name
conflicts.

In addition, the queue for the bs->index synchandler is now set up on
the same DBMS that is already in use for the index itself, instead of
using a file-base database.
And i think we could proceed likewise for the other queues.

Fixes #951

Change-Id: Ib6a638f088a563d881e3957e4042e932382b44f4
2018-01-04 04:01:34 +01:00
Brad Fitzpatrick ac44e8ef57 doc: add missing jsondoc.go from e093206a2a
Change-Id: I9f91a330f854e47888bd5f6286e8da4fecde262f
2018-01-02 19:29:44 -08:00
Brad Fitzpatrick 80b44a0a00 Merge "doc: add jsonsign protocol docs" 2018-01-03 03:26:23 +00:00
Brad Fitzpatrick e093206a2a doc: add jsonsign protocol docs
And misc tweaks.

Updates #1009
Updates #1007

Change-Id: Ibb750c8cc69763c0a59b72f42bc53f68e3ee120f
2018-01-02 19:24:58 -08:00
Adam Shannon 37ac053294 website: add /doc/search-ui under "For Users"
Change-Id: I18a1bd2d8866879096b23eaebe460542bc68776b
2018-01-02 19:55:35 -06:00
Mathieu Lonjaret 5087c6efd9 Merge "doc: add libchop and upspin to related projects" 2018-01-02 15:02:09 +00:00
Will Norris c155466aba doc: add libchop and upspin to related projects
fixes #674

Change-Id: I14ac5b9c5dcece685391863b50ec018c13af535e
2018-01-02 06:32:29 +00:00
Will Norris a36741bce4 doc: remove unused search-ui.txt
fixes #735

Change-Id: I7af63739fecd423b4cbe04d163f214f3b5eb042b
2018-01-02 06:18:23 +00: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
Will Norris 4ede70d95a website: fix links on doc pages
Remove gerrit redirect for /doc/* links, and instead link directly to
the on-site doc page. This allows us to remove special handling of any
/gw/doc/* URLs. However, we also need to add special handling for
/gw/server/* URLs to fix a couple of broken links on /doc/status.md.

Change-Id: Ica73c3d78b47dd363c5c3e736123af2977dedb0d
2018-01-01 10:49:09 +00:00
Brad Fitzpatrick d893baa701 Merge "website: added note about MySQL permissions in server-config" 2017-12-29 15:54:10 +00:00
Mike Lloyd 223fb6e223 website: added note about MySQL permissions in server-config
This change specifies the required permissions when using a MySQL or
MariaDB index

Change-Id: Ib8852234946037da8f902bdaf4a6346f0f23ddec
2017-12-29 15:53:54 +00:00
mpl c03615688c website: link blobserver protocol on /doc/ page
Change-Id: I72ffe096dea13242b088b303561c237dca623dcb
2017-12-21 17:37:50 +01:00
mpl cea35f8a40 website: first pass of s/Camlistore/Perkeep/ on contents
A second pass will be needed on the URLs once we have moved all the
repos and such.

Issue #981

Change-Id: Ibb58f4c4f16481da69e811142e8337b826c0d164
2017-12-18 16:46:08 +01:00
Paul Lindner f28eb3cce8 Remove appengine server and the old python blobserver
Change-Id: I734f4621f77ce902050e9b37805e7f8912f75e97
2017-11-30 19:13:37 -08:00
mpl 28bc007676 pkg/serverinit: add low-level config generation for Backblaze B2
Fixes #971

Change-Id: Iba944e3597009b18a380007b72fba5127e9a1698
2017-10-26 19:59:01 +02:00
Mathieu Lonjaret be77d7a4cb Merge "website: add "ref" predicate in search-ui" 2017-09-21 14:39:03 +00:00
mpl f9093c6970 website: add "ref" predicate in search-ui
Also add anchor to each of the predicates

Change-Id: I9f785cdb5dbaf4c7947ee314570987c09dadc855
2017-09-21 16:37:25 +02:00
Sterchele Nicolas 2e46fca5cc Update camlistore and gopherjs to go1.9
Vendoring:
- update gopherjs to rev: b40cd48c38f9a18eb3db20d163bad78de12cf0b7
- as usual, replace the fsnotify import statements with our dummy
  pkg/misc/fakefsnotify, as described in
https://camlistore-review.googlesource.com/c/9409
- add vendor/golang.org/x/tools/go/gcimporter15 dependency from
  rev: e531a2a1c15f94033f6fa87666caeb19a688175f

- make.go + .travis.yml: make go1.9 the required version
- Update comments on doc/environments-vars.md for CAMLI_GOPHERJS_GOROOT

Fixes #948
Fixes #949

Change-Id: I9285aebadad1502708d164a9dc69e044a325cb3a
2017-09-20 08:23:11 +02:00
mpl 088cdae82d server/camlistored/ui: map aspect improvements
-keep the browser URL bar in sync with the current search/zoom-level

-introduce the "map:" predicate, to be used as the current viewport in
the map aspect. This was previously achieved with the locrect predicate. We
try to keep this new predicate unknown to the server, and replaced on
the fly by an equivalent locrect predicate.

-stay on the map aspect when the search expression has a map predicate.
Same thing when loading a URL with a map predicate parameter: try to
load directly on map aspect, instead of going to search aspect first.

-make sure there's only at most one map query in flight at all times

Change-Id: Ibf928ee5c926670c221f212f14ca9799e1e7bb79
2017-08-29 18:13:07 +00:00
Mathieu Lonjaret 89591fed0e Merge "pkg/search: support location area predicate" 2017-07-20 23:37:01 +00:00
mpl 1e56d64ee8 pkg/search: support location area predicate
This change adds the "locrect" search predicate, which works like the
"loc" predicate, except it allows to specify the coordinates of a
rectangular area as a location, instead of a named location.

The coordinates are the latitude and longitude of the North-East corner
of the rectangle, followed by the latitude and longitude of the
South-West corner. For example: locrect:48.63,-123.37,46.59,-121.28

Related: issue #934

Change-Id: I0cf39c1d0b49d557b2081f07b2c8b4508ccfc052
2017-07-20 01:34:27 +02:00
Mathieu Lonjaret 6325136bbd doc/overview: fix typo
Initial patch proposed on github by @joelterry

Change-Id: I16bbb1e2e18c2fd168c277acaced90cd8acef058
2017-07-18 15:35:19 +02:00
mpl d21ecfd24e website: 2017-05-05 release
GCE launcher also deploys at revision
8f1a7df176

Change-Id: I74b03e9b0cac08c13bde3083be99f4efa05b2d9d
2017-05-05 20:25:29 +02:00
Attila Tajti 4797dca34a doc: add reverse proxy settings for publisher
Change-Id: I5a4ed5f96506f4519d6bb7d183dee5af68c41fe0
2017-04-27 15:17:32 +02:00
mpl fae92b072e app/scanningcabinet: add go doc
Change-Id: I7076e0777a10675b0cf1ae5ed86e473dad148c46
2017-04-12 18:36:31 +02:00
mpl 71131ae554 website: add link to launcher on release page
Change-Id: I3f06ebb689ebaac6c5c47f6bf85c05831a97b6f0
2017-04-07 15:41:16 +02:00
mpl d8f58a3512 website: 2017-04-05 release
GCE launcher now also deploys at
9e34d14ef5

Change-Id: I61fc461832effc608f6daf7777eea599a1841a2e
2017-04-05 19:00:18 +02:00
mpl ece654c596 website: 2017-03-01 release
The image deployed by the launcher is also at
dc4d1650b3

Change-Id: Ifb22c5501aa31dde3ca5a0af2ad25c6127b293e1
2017-03-01 20:09:52 +01:00
mpl 372f6c68b2 doc: add low-level section in server-config
And the first low-level configuration example: replication to a remote
instance.

Change-Id: I028d9185c192421fe0904b3149d4d187c78474dc
2017-02-28 23:58:41 +01:00
mpl 0167d40164 vendor: update gopherjs to 1.8-1
rev b9bcb1da229a59cc1e1d168401662cb6450aae08

Also added pkg/misc/fakefsnotify just so we only have to do:
-       "github.com/fsnotify/fsnotify"
+       fsnotify "camlistore.org/pkg/misc/fakefsnotify"
in vendor/github.com/gopherjs/gopherjs/build/build.go
in order to avoid vendoring fsnotify, without having to grossly
patch the gopherjs code as we previously did.

Change-Id: Ic106a6afa1117d2061415355c236433f835895f1
2017-02-18 01:06:58 +01:00
Mathieu Lonjaret 5fc2ba9298 Merge "doc/storage.md: Document how to configure s3 storage" 2017-02-14 15:24:52 +00:00
Daniel Heath 0b682c6711 doc/storage.md: Document how to configure s3 storage
Change-Id: I10f8b43724063ec7dc091e250ff1f3834224165c
2017-02-14 16:22:26 +01:00
mpl fb8724d49a website: fix google styleguide URL
Fixes #907

Change-Id: I867b4efd7e8f56571d1b98464a350aa6f1adf153
2017-02-11 00:35:12 +01:00
mpl d72dc9a6ef doc: add camliNetIP in server-config
Change-Id: I3fc14112432db4428aee38862a709877d9fe9787
2017-01-30 16:39:28 +01:00
mpl 85ebd80247 misc/docker: bucket.List + CAMLI_GOPHERJS_GOROOT fixes
Change-Id: Id2d8a7328fdc9d9c41fec479d9a81e51235a3bed
2017-01-20 20:28:14 +01:00
Attila Tajti c275aed960 doc: explain how publisher paths work with permanodes
Change-Id: I7ddf1c5f2bc93961fbadba978e65819c0bdf5b24
2017-01-18 18:51:08 +01:00
mpl a746c8df31 doc: TLS certificate configuration
Fixes #891

Change-Id: I90a7d7c6df90d0296856caed57a1c7cada2c1d74
2016-12-17 02:16:02 +01:00
mpl e1053362a2 make.go: when running with go tip, use Go 1.7 to build gopherjs
Introduce CAMLI_GOPHERJS_GOROOT to that effect.

Fixes #875

Change-Id: I6f5266bbf8b07be565dc0d47ed18d534715f4d0e
2016-11-28 17:48:44 +01:00
mpl 3c569d3edc doc/server-config: fix genconfig typo
Change-Id: I8b3494f0705ae1726e967c6b61b2ef3a8d9502fb
2016-11-04 00:36:00 +01:00
kortschak cb46e8de3b doc: fix typo
Change-Id: I50f3a4e4a89a26b769be69a0924d0e37efe53c87
2016-10-10 15:09:27 +10:30
mpl e44c2571e0 website: monthly release: 10aa2b3fbd
Change-Id: I5e51a72777352c8112f4e929865458f71e83e2fd
2016-09-05 19:01:50 +02:00