replace Redis with an embedded SQLite string->string KV store (group commit, in-tx events, SQL search)
Build and Push Docker Image / build (push) Successful in 2m44s

This commit is contained in:
Worph
2026-10-19 20:51:00 +00:00
parent c53146e514
commit dc5cbdfb9b
80 changed files with 4601 additions and 6077 deletions
+11 -7
View File
@@ -19,8 +19,8 @@ type Config struct {
BaseURL string // Base URL for stable service discovery
PublicURL string // Browser-facing URL for the service-bar nav; overrides BaseURL when set (e.g. a debug-direct port with no Caddy in front)
// Redis configuration
RedisPort int // Redis port (default: 6379)
// Storage configuration
DBPathOverride string // META_CORE_DB_PATH; empty = <MetaCorePath>/db/meta-core.db
// HTTP API configuration
HTTPPort int // HTTP API port (default: 9000)
@@ -60,7 +60,7 @@ func Load() *Config {
APIPort: getEnvInt("API_PORT", 8180),
BaseURL: getEnv("BASE_URL", ""),
PublicURL: getEnv("META_CORE_PUBLIC_URL", ""),
RedisPort: getEnvInt("REDIS_PORT", 6379),
DBPathOverride: getEnv("META_CORE_DB_PATH", ""),
HTTPPort: getEnvInt("META_CORE_HTTP_PORT", 9000),
HTTPHost: getEnv("META_CORE_HTTP_HOST", "0.0.0.0"),
HealthCheckIntervalMS: getEnvInt("HEALTH_CHECK_INTERVAL_MS", 5000),
@@ -83,16 +83,20 @@ func Load() *Config {
return cfg
}
// LockFilePath returns the path to the Redis-volume mutex. Held by
// LockFilePath returns the path to the database-volume mutex (one meta-core
// per database file). Held by
// docker/leader-election.sh; nothing reads it, and it is NOT service
// discovery — see docs/project-architecture/beacon-v2.md.
func (c *Config) LockFilePath() string {
return c.MetaCorePath + "/locks/kv-leader.lock"
}
// RedisDataDir returns the path to Redis data directory
func (c *Config) RedisDataDir() string {
return c.MetaCorePath + "/db/redis"
// DBPath returns the path of meta-core's SQLite database file.
func (c *Config) DBPath() string {
if c.DBPathOverride != "" {
return c.DBPathOverride
}
return c.MetaCorePath + "/db/meta-core.db"
}
// MountsFilePath returns the path to the mounts configuration file