Skip to content

asgardehs/heimdall

Repository files navigation

Heimdall

Shared configuration library for the Asgard ecosystem.

Heimdall provides a typed, validated configuration store that Odin, Muninn, and Huginn import directly. Configuration lives in a local SQLite database with schema validation, change history, and a CLI for manual management.

Usage as a Go Library

import "github.com/asgardehs/heimdall"

h, err := heimdall.Open(logger)
defer h.Close()

// Read config
entry, err := h.Get("muninn", "vault_path")
fmt.Println(entry.Value)

// Write config (validated against schema)
err = h.Set("ai", "provider", "anthropic")

// List all keys in a namespace
entries, err := h.List("odin")

// Reset to default
err = h.Reset("odin", "theme")

CLI

heimdall config get muninn vault_path
heimdall config set ai provider anthropic
heimdall config list odin
heimdall config reset odin theme

Secrets (like ai.api_key) are masked in CLI output.

Documentation

See the Wiki for full documentation:

Building

# Library — just import it
go get github.com/asgardehs/heimdall

# CLI
go build -o heimdall ./cmd/heimdall

No CGO required. Uses pure Go SQLite (modernc.org/sqlite).

License

GPLv3 — see LICENSE.

Name

In Norse mythology, Heimdall is the watchful guardian of the Bifrost bridge, keeper of the horn Gjallarhorn. He sees all, hears all, and ensures the boundaries of Asgard are maintained. Here, Heimdall guards the shared configuration that binds the ecosystem together.

Part of the Asgard EHS Family

About

Configuration management for the Asgard EHS ecosystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages