jane remover
Some checks failed
Docker image builds / build (push) Waiting to run
Asset Build Verification / asset_verification (push) Has been cancelled
Docs deploy / build (push) Has been cancelled
Go Mod Tidy Check / go_mod_tidy_check (push) Has been cancelled
Go / go_tests (push) Has been cancelled
Package builds (unstable) / package_builds (push) Has been cancelled
Smoke tests / smoke-test (default-config-macro) (push) Has been cancelled
Smoke tests / smoke-test (docker-registry) (push) Has been cancelled
Smoke tests / smoke-test (double_slash) (push) Has been cancelled
Smoke tests / smoke-test (forced-language) (push) Has been cancelled
Smoke tests / smoke-test (git-clone) (push) Has been cancelled
Smoke tests / smoke-test (git-push) (push) Has been cancelled
Smoke tests / smoke-test (healthcheck) (push) Has been cancelled
Smoke tests / smoke-test (i18n) (push) Has been cancelled
Smoke tests / smoke-test (log-file) (push) Has been cancelled
Smoke tests / smoke-test (nginx) (push) Has been cancelled
Smoke tests / smoke-test (palemoon/amd64) (push) Has been cancelled
Smoke tests / smoke-test (robots_txt) (push) Has been cancelled
Check Spelling / Check Spelling (push) Has been cancelled
SSH CI / ssh (aarch64-16k) (push) Has been cancelled
SSH CI / ssh (aarch64-4k) (push) Has been cancelled
SSH CI / ssh (ppc64le) (push) Has been cancelled
SSH CI / ssh (riscv64) (push) Has been cancelled
zizmor / zizmor latest via PyPI (push) Has been cancelled

This commit is contained in:
Soph :3 2026-02-07 13:08:47 +02:00
parent d2205b11a7
commit 896858e027
332 changed files with 1482 additions and 33742 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.
//

View file

@ -5,7 +5,7 @@ import (
"path/filepath"
"testing"
"github.com/TecharoHQ/anubis/lib/store/storetest"
"git.sad.ovh/sophie/nuke/lib/store/storetest"
)
func TestImpl(t *testing.T) {

View file

@ -8,7 +8,7 @@ import (
"os"
"path/filepath"
"github.com/TecharoHQ/anubis/lib/store"
"git.sad.ovh/sophie/nuke/lib/store"
"go.etcd.io/bbolt"
)
@ -68,7 +68,7 @@ func (Factory) Valid(data json.RawMessage) error {
// Config is the bbolt storage backend configuration.
type Config struct {
// Path is the filesystem path of the database. The folder must be writable to Anubis.
// Path is the filesystem path of the database. The folder must be writable to Nuke.
Path string `json:"path"`
}