Commit Graph

176 Commits

Author SHA1 Message Date
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
mpl 4fc061e8a2 pkg/server/app: refresh cached domain blobs on 403
To decide whether a search submitted to the app search proxy is allowed,
we compare its results to the domain blobs, result of the master query,
that we cache when the master query is set.

However, since the results of the master query are liable to change when
new blobs arrive (e.g. a new camliMember is added to the set that is
published), that cache may need to be invalidated. Otherwise, we might
reply with a 403 to search query that is actually allowed.

Therefore, this CL adds a refresh of the cache on two instances:

-When the app handler gets a search query that seems to be forbidden.
Before replying with a 403, we refresh the cache with the master query,
and recheck whether the search query is allowed.

-When the publisher gets a request for a "members" page, or the "file"
page, it preemptively asks the app handler to refresh. Now that a lot of
the client workflow has been moved to javascript/the browser, these
kinds of requests should not happen too often, so it seems a reasonable
place to ask for a refresh. But this might change, so we should of
course be careful not to flood the app handler with refresh requests in
the future.

In any case, the app handler is suppressing the refresh requests, so
that it does not perform refreshes at more that one per minute.

As a smarter approach, we could later imagine a way for the app handler
to be aware of when new blobs get to the blobserver (akin to the blob
hub that the sync handler uses?), so that it only ever refreshes when
needed.

Fixes #851

Change-Id: Idc14cce5018053deac01ec454e5c936ed93e5a05
2016-09-02 18:40:42 +02:00
mpl 3df678b010 pkg/server/app: proxy search requests for publisher
Some of the publisher features have moved from the server-side app to
the client-side app (the browser) thanks to gopherjs. Some of these
features imply doing some search queries against Camlistore, which
requires authentication. The server-side app receives the necessary
credentials on creation, from Camlistore. However, we can't just
communicate them to the client-side (as we do with the web UI) since the
publisher app itself does not require any auth and is supposed to be
exposed to the world.

Therefore, we need to allow some search queries to be done without
authentication.

To this end, the app handler on Camlistore now assumes a new role: it is
also a search proxy for the app. The app sends an unauthenticated search
query to the app handler (instead of directly to the search handler),
and it is the role of the app handler to verify that this query is
allowed for the app, and if yes, to forward the search to the Camlistore's
search handler.

We introduce a new mechanism to filter the search queries in the form of
a master query. Upon startup, the publisher registers, using the new
CAMLI_APP_MASTERQUERY_URL env var, a *search.SearchQuery with the app
handler. The app handler runs that query and caches all the blob refs
included in the response to that query. In the following, all incoming
search queries are run by the app handler, which checks that none of the
response blobs are out of the set defined by the aforementioned cached
blob refs. If that check fails, the search response is not forwarded to
the app/client.

The process can be improved in a subsequent CL (or patchset), with finer
grained domains, i.e. a master search query per published camliPath,
instead of one for the whole app handler.

Change-Id: I00d91ff73e0cbe78744bfae9878077dc3a8521f4
2016-08-29 19:14:19 +02:00
mpl 9beb003f30 website: feature monthly releases
Fixes #690

Change-Id: I05db5f29656d76237621fc2479d59d71cb917bb0
2016-07-06 16:41:15 +02:00
mpl 65343d114d pkg/server/app: improve app handling
These improvements on the server app handler should help writing
and running stand-alone apps.

The two main goals are:
1) "simple" configurations should work automatically; the parameters for
the app are derived from the Listen and BaseURL of the Camlistore
server.
2) More advanced configurations, such as being behind a proxy, should be
easily configurable through the app's Listen, BackendURL, and ApiHost
parameters.

I had worked on them while doing the scanning cabinet app, and I am
backporting them now since we haven't landed the scanning cabinet yet,
and people have been having trouble setting up the publisher.

pkg/app/app_test.go is gone because app.ListenAddress is now dumb. The
hard work is done in pkg/server/app instead.

Fixes #818

Change-Id: Ice2610d6bac611b209cc3a928e67fa6093a41d3e
2016-07-04 22:21:16 +02:00
mpl 46cf811f43 pkg/server: update home page and doc about /setup
wizard under /setup is gone, we should not advertize it anymore.

Change-Id: I7c5384481db9b3f37f1c8b0a6f5a8fe482c4d99b
2016-06-09 17:50:03 +02:00
Eric Drechsel 80f011484a Remove /doc/contributing.md
It was just routing links from other pages to

    https://camlistore.org/code#contributing

Let this be handled by a redirect

    /doc/contributing → /doc/code#contributing

instead.

/doc/contributing.md is allowed to 404. It has only been valid since
April and was only linked from release notes, so there are probably no
external links.

Change-Id: I04809760cbdb2cf37e98d36f545d2952f96f3113
2016-06-03 14:42:05 -07:00
Mathieu Lonjaret 86f480aa69 Merge "doc/release.txt: fix monthly doc" 2016-05-13 15:52:35 +00:00
mpl 94043cad76 doc/schema: add missing link to bytes.md
Change-Id: I868c02bf992b233c1f853bf6fd94cca5424f5065
2016-05-12 00:17:24 +02:00
mpl 3ab8a13051 doc: fix publishing link
Change-Id: If0876ba116e100279465893d4df66787d17711d5
2016-05-11 02:25:27 +02:00
mpl 9eb53b210b doc/release.txt: fix monthly doc
Change-Id: I7366412a6a0e2ebc25f101d06b447c46b111e6e5
2016-05-10 15:08:13 +02:00
mpl bce9f2a1c9 doc: presentations
-fix fosdem 2014 date and slides link
-add fosdem 2015
-add GDG Seattle

Change-Id: Id038e0dc32a194805b88e0f5d0ca340903534f3d
2016-05-06 17:14:08 +02:00
Kate Pek ac0cc13beb Add links for the latest presentation
Change-Id: I47ab9b831167734892bca5cebc0f7bd3cac39bf6
2016-05-05 17:26:38 -07:00
mpl 4232071cb3 misc/monthly.go: automatically generate a monthly release
Current version of doc/release/monthly.html generated with
go run ./misc/monthly.go -rev cdadfd650b

Change-Id: Icdebf60cb64dfcc12766976572f3a34eaeb135f3
2016-05-05 23:16:57 +02:00
Will Norris 3c161fe40b website: fix remaining old links to /docs/
interestingly, I also discovered that GitHub will properly resolve links
that are relative to the root path (e.g. "/doc/foo")...  it properly
rewrites these links to reference the named file relative to the
repository root.

also add a /doc/contributing.md file.  This will never be served from
the website, since we have a redirect handler in place, but is added so
that we don't have broken links when browsing the docs on GitHub.

Change-Id: I47517a5f6303065df02ac11771dcee56cd06a4b7
2016-05-02 06:26:45 -07:00
Will Norris a1ec9bf60e rename HACKING to CONTRIBUTING.md
GitHub treats the CONTRIBUTING file special, in that it is referenced
any time someone files a new issue or starts to create a pull request.
Also make minor updates to file to use markdown and current hacking
instructions.

Change-Id: I68f0d7a69397851ee6c65671ae692cbfb2b93946
2016-04-27 12:16:29 -07:00
Will Norris e4b61b0146 website: add html ext to docs/releases/*
this is now needed to have camweb wrap the file in the site template
rather than just serving it raw.

Change-Id: I1ac20030dd7bf878429fd70386e2e2814c66822c
2016-04-27 11:52:13 -07:00
Will Norris 95a55498e6 website: fix wikipedia links on prior-art page
Change-Id: I6afa1cc2459fb2d372349492890fba55048c0493
2016-04-27 08:11:30 -07:00
Will Norris 29dcc70f3c website: restore search-ui.txt with link to new page
The help page in the camlistore binary has a direct link for "Search bar
predicates" that links to this search-ui.txt on gerrit.  Restore this
file so that these links will still resolve, but with a pointer to the
new docs on camlistore.org.

Also update the help link for future builds of camlistore to point to
the correct URL.

Change-Id: Ib81ff820869d86e6e6f664e8b52c5f20d4eed4d3
2016-04-26 22:28:05 -07:00
Mathieu Lonjaret 11c23bfb2b Merge "website: update misc docs to markdown" 2016-04-27 01:13:02 +00:00
Will Norris 620d837a3d website: update misc docs to markdown
- merge json-signing/json-signing.txt into json-signing/README.md
- rename publishing/README to publishing/README.md
- convert several doc/* files

Change-Id: I0bb7c03adcfac3848f97a70092de384c72f45958
2016-04-26 18:10:58 -07:00
Will Norris dfdc297a2d Merge "website: terminology: fix protocol links" 2016-04-27 01:03:38 +00:00
mpl 74b9c311e8 website: terminology: fix protocol links
Change-Id: I67b391f604175105ffc8f6ac65436a3e222d4e68
2016-04-26 17:50:36 -07:00
mpl 794ed25819 website: keep doc/schema flat
It looks better than the half-organization we had so far, and it will
actually make it easier for editorial changes to come. Also keeps us
more honest about doing it sooner rather than later.

Change-Id: I6303325f6d75389c7e8ca908f3740cf92af3836a
2016-04-26 17:34:47 -07:00
Will Norris 2f79a55baa website: convert schema docs to markdown
Refs #720

Change-Id: Iccfaf7384cffa78a51606868f83f4019e9441791
2016-04-26 16:32:38 -07:00
Will Norris 974f810b4b convert protocol docs to markdown
Update links to reference the website URLs rather than gerrit.  There is
some more cleanup that could be done with the docs (for example, using
tables for the request and response keys), but this is focused on just
basic rendering.

Git is treating these as file deletions and additions... apparently
there were too many changes to treat them as renames, though that's what
they really are.

Refs #720

Change-Id: Ibca17b78e1412c049843236bfbc8f2a9e368bb23
2016-04-26 09:37:01 -07:00
Will Norris 7cb074bfde website: serve /doc/ URLs from top-level doc dir
- move existing content from website/content/docs to top-level doc
  directory
- redirect /docs/ URLs to /doc/

Fixes #720

Change-Id: I92e26bbc1fdbe994089080ae3a971d85c12921ab
2016-04-25 22:13:09 -07:00
Mathieu Lonjaret 4f8911ba92 Merge "misc/docker/release: zip-source.go" 2016-04-11 20:26:18 +00:00
Brad Fitzpatrick 64c6b8f2c9 Merge "doc/search-ui.txt: Strip trailing whitespace" 2016-03-24 06:10:55 +00:00
Daniel Heath dab30bddb9 doc/search-ui.txt: Strip trailing whitespace
Change-Id: I952d04ad08f7284a0babf4e15b7de829b34cad69
2016-03-24 15:23:51 +11:00
Daniel Heath 8bb6711f5f Document substring matching for attribute search
Change-Id: I650c94d24fc8c351ac25bb6503c2a884e03f8306
2016-03-22 07:58:00 +11:00