Files
orbits/internal/runtime/runtime.go
T
2026-04-21 08:42:21 +02:00

53 lines
978 B
Go

package runtime
import (
"log/slog"
"os"
"path/filepath"
)
type Environment struct {
Version string
Codename string
Hostname string
Port string
WorkDir string
}
func safeGrab(key, fallback string) string {
if v, ok := os.LookupEnv(key); ok {
return v
}
return fallback
}
func GrabEnvironment() Environment {
return Environment{
Version: safeGrab("VERSION", "0.0.1"),
Codename: safeGrab("CODENAME", "Magical Anomaly"),
Hostname: safeGrab("HOSTNAME", "0.0.0.0"),
Port: safeGrab("PORT", "8080"),
WorkDir: safeGrab("OPERATIONDIR", "."),
}
}
func EnsureOperation(workDir string) error {
slog.Info("starting audit on: " + workDir)
nDirs := []string{
workDir,
filepath.Join(workDir, "content"),
filepath.Join(workDir, "content", "fresh"),
filepath.Join(workDir, "content", "archive"),
filepath.Join(workDir, "web"),
}
for _, p := range nDirs {
if err := os.MkdirAll(p, 0755); err != nil {
return err
}
}
return nil
}