This change has two major parts, which were interwoven enough to do
them in one change:
1) make serverinit.Config fully opaque, in prep for TOML configs #1134
2) shrink the massive server/perkeepd/camlistored.go file. It was out
of control and had a bunch of code that better belonged
elsewhere. This change moves a few hundred lines of code from
camlistored.go into more logical places: internal/osutil/gce for
GCE stuff, serverinit for config stuff (KeyRingAndId), etc.
I also added a TODO to make it possible to compile perkeepd without
any GCE stuff, which I saw as a possible and worthy goal only after
moving everything away.
Updates #1134
Change-Id: Iea6f84c5aca9c70b97806f4a201ec35e0f630e3b
misc/docker/release moved to misc/release because it did not really have
anything to do with making docker images, it just happens to use them.
misc/monthly.go has been moved to misc/release/make-release.go, and
reworked to be more generic.
misc/docker/dock.go has been trimmed down to only deal with creating
docker images
Fixes#1153
Change-Id: I4cb566551007300aefa6cb23714b90461f0e3e51
And fix some log messages to remove "localdisk", since this code is
now shared by sftp and in the future will be shared by webdav, ftps,
etc.
Change-Id: I4c428cdd6c90bb509045d1914922326a10f48a17
When looking for the children of a directory, we used
to return an os.ErrNotExist if no children were found.
We now only return os.ErrNotExist if the directory
itself does not exist.
Fixes#1152
Change-Id: I8dd827f5597535d98c898302d0a1ca5399b03476
This also changed a few of the magic strings in the SetAttrs call to use
the nodeattr constants.
One thing I'm unsure about is if "link" should be changed to
nodeattr.URL, but that's left out of this initial revision.
This also sneaks in a change to devimport that was blocking
the testing of the feed service, as it doesn't use authentication.
Fixes#1148
Change-Id: Ic3cf85dc30c446954f3780683cba99f118b46fb6
Remove explicit version checking using pkg-config and just check if
setting journal_mode=WAL succeeds. Remove -wal command line
flag from pk tool and also remove duplicated logic for db
handling.
Fixes#840
Change-Id: I72874a5bb9c5bb3a7be552a65e5ddb0c12fd726e
Managing our links between GitHub, Gerrit, and the website's rendering
of the same Markdown continues to be a disaster.
Fixes#1128
Updates #1146
Change-Id: I8645c6fee4bf5271ca4fc08acb69c53785a36182
So we can cut 0.10 from this commit and anybody running pk-web locally
won't have bogus download links.
Change-Id: Ibc33c2a01786e9288a67a761be6d4d8b5909a4de
The s3-specific cache did not populate the cache on fetch (only on
receive) and did not cache stat() calls - proxycache does both.
Fixes#898
Change-Id: Ic0bfe684c9db79d16cb3c8c86ce87cc4676c63f0
Revive this Dockerfile, convert it from camlistore to perkeep, and
make it a multi-stage build.
We still need to clean this up later and not hard-code the VERSION
file contents inside it. But this is something.
Change-Id: I2378449ffbcc2ff005c9d441e378266694d7d430
test/integration: don't listen on file descriptors.
make.go: unrelated, but options to make it much faster.
internal/images: t.Skip on HEIC dependency failures
Fixes#1140
Updates golang/go#25210
Change-Id: I8092155411826d6ed1f8d85230b753d1369044af
The DirConstraint type already existed but wasn't functional as none of
the matching for any of its fields was implemented.
That functionality is required by two other features:
1) Browsing directories in the publisher requires getting information
about the children of the directory. In practice that can be achieved
with a search on the directory, accompanied with some describe rules.
But that comes with limitations, such as:
-no control over the sorting of the described children in the response
-max number of children in the response (and no way to overcome it since
you can't "continue" on a describe)
hence the need for a direct search of a directory's children.
This is implemented as DirConstraint/FileConstraint.ParentDir and will
be used in https://camlistore-review.googlesource.com/8286
2) Looking for files/directories shared by transitivity.
Knowing if an item is the target of a share claim is easy enough once
enough of ClaimConstraint is implemented. But in order to find out if an
item is effectively shared because one of its ancestors (directory) is
the target of a share claim, with transitivity set, we need some sort of
search that can do directories traversal. This is implemented as
DirConstraint.RecursiveContains and it will be used as a subquery in
https://camlistore-review.googlesource.com/9866.
Now implemented:
DirConstraint.FileName
DirConstraint.BlobRefPrefix
DirConstraint.ParentDir
DirConstraint.TopFileCount
DirConstraint.Contains
DirConstraint.RecursiveContains
ParentDir will also allow us to quit relying on the treeHandler in the
web UI,
and to use the more generic search queries mechanism instead.
Change-Id: I022cb51732ee4271906271fd75c6f737856b6165