hbs2/docs/todo/hbs2-git-private-repoes.txt

68 lines
3.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TODO: expose-all-new-rpc
Вытащиь все новые RPC в библиотеку,
так как нам нужны RefLogAPI и PeerAPI в клиенте
TODO: detect-new-rpc-on-first-run
первый раз при запуске пытаться обнаружить
новый RPC если он не указан в конфиге.
Предлагать записать его в конфиг (или просто писать его в конфиг?).
TODO: local-config
Смержить или заново сделать. Что бы конфиг брался из локального
каталога.
При генерации так же обновлять cookie для конфига. Таким образом,
cookie станет идентификатором проекта, когда state станет
общим для всех refs (скоро).
TODO: save-objects-via-new-rpc
Сохранять объекты через новый RPC. Удалить всё,
что связано со старыми способами (HTTP, CLI)
TODO: update-ref-via-new-rpc
обновлять ссылку через новый RPC.
TODO: git-group-key
Указывать для ссылки (возможно, для git remote?)
Перегенерировать, если ключ изменился.
Кейс: изменения "в прошлом". Сейчас репо это сумма всех
"логов", каждый "лог" - U(объектов из операции git push + установка ссылки).
Соответственно, перегенерировать ключ **обязательно**, если
авторы удалены из ключа.
Если ключ перегенерировать время от времени, как планировалось,
то возможна ситуация, когда нового автора в **старых** ключах
не будет. И у него не будет доступа к каким-то "старым"
объектам. А, в отличие от других примений, они ему нужны.
Что делать?
Даже если сгенерировать на каждый лог, где этот автор
отсутствовал --- групповой ключ, то ссылка на него не будет
доступна в старых сегмента, и при скачивании блоков,
hbs2-git не будет знать, какой ключ использовать.
TODO: support-metadata-in-git-log-tree
Помещать метаданные в меркл-дерево журналов,
при первом прогоне для каждой новой транзакции
сначала обрабатывать метаданные, если они не обработаны,
вторым проходом обрабатывать уже сами транзы.
TODO: tools:generate-group-key-for-ref
Добавить функцию генерации/перегенерации группового
ключа по KeyInfo.
1. Ключ отсутствует
2. Ключ присутствует, KeyInfo expired
3. Ключ присутствует, KeyInfo не expired
TODO: tools:list-group-keys
Выводить имеющиеся ключи/шифрованные ссылки