NUKE
Some checks failed
Docker image builds / build (push) Failing after 4m22s

This commit is contained in:
Soph :3 2026-02-07 14:27:38 +02:00
parent d2205b11a7
commit 02b9aebbe5
341 changed files with 1571 additions and 32574 deletions

View file

@ -7,7 +7,7 @@ import (
"log/slog"
"time"
"github.com/TecharoHQ/anubis/lib/store"
"git.sad.ovh/sophie/nuke/lib/store"
"go.etcd.io/bbolt"
)
@ -20,17 +20,17 @@ var (
//
// In essence, bbolt is a hierarchical key/value store with a twist: every value
// needs to belong to a bucket. Buckets can contain an infinite number of
// buckets. As such, Anubis nests values in buckets. Each value in the store
// buckets. As such, Nuke nests values in buckets. Each value in the store
// is given its own bucket with two keys:
//
// 1. data - The raw data, usually in JSON
// 2. expiry - The expiry time formatted as a time.RFC3339Nano timestamp string
//
// When Anubis stores a new bit of data, it creates a new bucket for that value.
// When Nuke stores a new bit of data, it creates a new bucket for that value.
// This allows the cleanup phase to iterate over every bucket in the database and
// only scan the expiry times without having to decode the entire record.
//
// bbolt is not suitable for environments where multiple instance of Anubis need
// bbolt is not suitable for environments where multiple instance of Nuke need
// to read from and write to the same backend store. For that, use the valkey
// storage backend.
//