- This allows Perkeep admins to use https://google.com/webmaster/tools
- This verification file is mapped to user pmlindner@gmail.com
- Once verified he can delegate ownership to other Perkeep maintainers.
- File must remain for periodic verifications.
Fixes#996
Change-Id: I8d991964f75acf1b14dedfeadc9d4dbe671bccd5
improving proxycache
- added fuller sample config to the package documentation
- switched the stats caching from sorted.kv to the stats blobserver
- added a cleaning mechanism to evict the least recently used blobs
- implemented StatBlobs to actually inspect the local cache. It still
always consults the origin, but only for the blobs necessary after
giving the cache a 50ms headstart.
- logging a few errors that were previously ignored
- added tests modeled after the tests for the localdisk blobstore
- added a method to verify the cache, and call it on initialization
- added a strictStats option to always get stats from the origin
- filling in cacheBytes on initialization
improving stats blobserver
- implemented a few more of the blobserver interfaces, Enumerator and
Remover
- Fixed a bug(?) in ReceiveBlob that seemed to prevent it from actually
storing stats
- added a test
minor improvements include:
- blobserver/memory: allowing the memory blobserver to hold actually
infinite items, if desired
- blobserver: closing dest in the NoImpl blobserver, as required by the
BlobEnumerator interface
- storagetest: not closing dest leads to deadlock
- lru: max entries of 0 now means infinite (maybe do anything <0?)
- test: a helper function to create a random blob using a global random
source that is, by default, deterministic, to make test results more
consistent.
In the future, an improved BlobHub or similar interface could allow a
tighter feedback loop in providing cache consistency. i.e. the cache
could register with backend stores to be notified of content updates,
minimizing the time between backend changes and cache correction.
The proxycache will verify itself at startup, reporting an error if
any of its blobs do not exist in the backend storage or if the backend
storage has a different size for the content than the cache.
Fixes#443
Change-Id: I9ee1efd8c1d0eed49bb82930c2489a64122d3e00
Previous vendoring removed a number of files manually. This enumerates the
existing removals in .gitignore and makes it easier to transition to another
dependency management system. We also take this opportunity to add travis and
gitignore files to the list and remove those from the vendor tree.
Part of solving #889
Change-Id: Ia1b1b11ea5f2065de3a069022c2ee346e2befe78
Remove premature and unused http.FileSystem abstraction, remove
seeking in defer, remove unnecessary named result parameters, remove
explicit use of sha1, etc.
Change-Id: I0a9169a11e03b7e54dc39e73212e3ada6ec2f943
Adds allocation-free way to check if a blob ref is equal to its
stringified form.
For #972 (doesn't fix it, as that bug is about a pending CL)
Change-Id: I49c6dee162698d38bb12314623b1507ee7bb246e
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
Otherwise, the android app fails to connect with a server that uses
Let's Encrypt (because it relies on SNI, which requires the ServerName
to be set).
Change-Id: I9f25486bea68e83c68584a83817c98bfc84f62b9
This code previously had methods returning channels. Such APIs are
always error-prone and difficult to use. Switch to a synchronous func
callback pattern instead, with contexts propagated.
Change-Id: Iaa1b91227c0daf4c8562fcba8d27dbcd7ab755c5
Because I forgot to configure git one time on another machine, one of my
commits is with a lame username, and that username gets picked (instead
of the other ones) as my identity when generating the contributors page.
Therefore, this change allows to specify a default name among the already
hardcoded information for some of the contributors, so I can override
the badly configured identity that would appear otherwise.
Change-Id: I60dfe60f83d20aa33f7bf425e5b84a34bbd5a0b1
Remove dynamic rate limit adjustment for now. It was racy.
No need to be super fast, anyway, as long as it catches up eventually.
But we can make it smarter later. I wanted to get it correct first.
Change-Id: Id5b5fc946546d8d9c0720f1c0ec2f341a17cdd01
Camweb is in charge of syncing the commits from the gerrit repository to
our mirror on github.
It also sends the commits as e-mails to the Camlistore mailing-list.
The former was only happening after the latter did, but there was no
reason to do it that way, as these tasks are independent. Moreover, when
sending e-mails is problematic (issue #980), it delays syncing to
github.
This change therefore makes syncing to github concurrent with
sending the e-mails.
Change-Id: I63a2b3f5b49df58ca30ec5153ce65eafb44b5b28