rbac system first stage

This commit is contained in:
2026-02-03 21:37:06 +11:00
parent 24bbc5337b
commit d2b1a252ea
38 changed files with 1966 additions and 114 deletions

22
internal/rbac/config.go Normal file
View File

@@ -0,0 +1,22 @@
// Package rbac provides Role-Based Access Control functionality
package rbac
import (
"errors"
"git.haelnorr.com/h/golib/env"
)
type Config struct {
AdminDiscordID string // ENV ADMIN_DISCORD_ID: Discord ID to grant admin role on first login (required)
}
func ConfigFromEnv() (any, error) {
cfg := &Config{
AdminDiscordID: env.String("ADMIN_DISCORD_ID", ""),
}
if cfg.AdminDiscordID == "" {
return nil, errors.New("env var not set: ADMIN_DISCORD_ID")
}
return cfg, nil
}