ipn/ipnlocal: use an in-memory TKA store if FS is unavailable

This requires making the internals of LocalBackend a bit more generic,
and implementing the `tka.CompactableChonk` interface for `tka.Mem`.

Signed-off-by: Alex Chan <alexc@tailscale.com>

Updates https://github.com/tailscale/corp/issues/33599
This commit is contained in:
Alex Chan
2025-10-29 11:09:28 +00:00
committed by Alex Chan
parent d01081683c
commit 1723cb83ed
6 changed files with 174 additions and 27 deletions
+6
View File
@@ -39,6 +39,12 @@ func TestImplementsCompactableChonk(t *testing.T) {
name string
newChonk func(t *testing.T) tka.CompactableChonk
}{
{
name: "Mem",
newChonk: func(t *testing.T) tka.CompactableChonk {
return &tka.Mem{}
},
},
{
name: "FS",
newChonk: func(t *testing.T) tka.CompactableChonk {