This commit is contained in:
Joey Hess 2024-06-23 16:38:01 -04:00
parent 5d8bdac38e
commit 60413a2557
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38

View file

@ -24,49 +24,17 @@ Planned schedule of work:
In development on the `proxy` branch. In development on the `proxy` branch.
For June's work on [[design/passthrough_proxy]], implementation plan: For June's work on [[design/passthrough_proxy]], remaining todos:
* UUID discovery via git-annex branch. Add a log file listing UUIDs
accessible via proxy UUIDs. It also will contain the names
of the remotes that the proxy is a proxy for,
from the perspective of the proxy. (done)
* Add `git-annex updateproxy` command (done)
* Remote instantiation for proxies. (done)
* Implement git-annex-shell proxying to git remotes. (done)
* Proxy should update location tracking information for proxied remotes,
so it is available to other users who sync with it. (done)
* Implement `git-annex updatecluster` command (done)
* Implement cluster UUID insertation on location log load, and removal
on location log store. (done)
* Omit cluster UUIDs when constructing drop proofs, since lockcontent will
always fail on a cluster. (done)
* Don't count cluster UUID as a copy. (done)
* Tab complete proxied remotes and clusters in eg --from option. (done)
* Getting a key from a cluster should proxy from one of the nodes that has
it. (done)
* Implement upload with fanout and reporting back additional UUIDs over P2P
protocol. (done)
* Implement cluster drops, trying to remove from all nodes, and returning
which UUIDs it was dropped from. (done)
* `git-annex sync --content` does not send content to clusters, or to * `git-annex sync --content` does not send content to clusters, or to
proxied remotes. Seems that the second call to Remote.list somehow proxied remotes. Seems that the second call to Remote.list somehow
is failing to listProxies. is failing to listProxies.
* `git-annex sync` etc, when operating on clusters, should operate on the * `git-annex sync` etc, when operating on clusters, should first
cluster as a whole, not on cluster nodes. operate on the cluster as a whole, to take advantages of fanout on upload
and mass drop. Only operate on individual cluster nodes afterwards,
to handle cases such as a cluster containing a key, but some node
wanting and lacking the key.
* On upload to cluster, send to nodes where it's preferred content, and not * On upload to cluster, send to nodes where it's preferred content, and not
to other nodes. to other nodes.
@ -109,3 +77,43 @@ For June's work on [[design/passthrough_proxy]], implementation plan:
* `viconfig` support for setting preferred content, group, * `viconfig` support for setting preferred content, group,
and description of clusters and description of clusters
# completed items for June's work on [[design/passthrough_proxy]]:
* UUID discovery via git-annex branch. Add a log file listing UUIDs
accessible via proxy UUIDs. It also will contain the names
of the remotes that the proxy is a proxy for,
from the perspective of the proxy. (done)
* Add `git-annex updateproxy` command (done)
* Remote instantiation for proxies. (done)
* Implement git-annex-shell proxying to git remotes. (done)
* Proxy should update location tracking information for proxied remotes,
so it is available to other users who sync with it. (done)
* Implement `git-annex updatecluster` command (done)
* Implement cluster UUID insertation on location log load, and removal
on location log store. (done)
* Omit cluster UUIDs when constructing drop proofs, since lockcontent will
always fail on a cluster. (done)
* Don't count cluster UUID as a copy in numcopies checking etc. (done)
* Tab complete proxied remotes and clusters in eg --from option. (done)
* Getting a key from a cluster should proxy from one of the nodes that has
it. (done)
* Implement upload with fanout to multiple cluster nodes and reporting back
additional UUIDs over P2P protocol. (done)
* Implement cluster drops, trying to remove from all nodes, and returning
which UUIDs it was dropped from. (done)
* `git-annex testremote` works against proxied remote and cluster. (done)