feat: accept Vault identity JWTs for writes, add set-environment route
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful

This commit is contained in:
2026-10-23 21:35:57 +11:00
parent 835e207c9b
commit 8c1bfda4c5
19 changed files with 724 additions and 38 deletions
+9 -3
View File
@@ -9,6 +9,7 @@ import (
"os/signal"
"syscall"
"git.unkin.net/unkin/encapi/internal/auth"
"git.unkin.net/unkin/encapi/internal/config"
"git.unkin.net/unkin/encapi/internal/database"
"git.unkin.net/unkin/encapi/internal/distro"
@@ -37,11 +38,16 @@ func main() {
}
defer db.Close()
if cfg.WriteToken == "" {
slog.Warn("ENCAPI_WRITE_TOKEN is not set; write endpoints are disabled")
if cfg.WriteToken == "" && cfg.OIDCIssuer == "" {
slog.Warn("neither ENCAPI_WRITE_TOKEN nor ENCAPI_OIDC_ISSUER is set; write endpoints are disabled")
}
srv := server.New(db, distro.New(cfg.DistroAPIURL), cfg.WriteToken)
srv := server.New(db, distro.New(cfg.DistroAPIURL), server.Auth{
WriteToken: cfg.WriteToken,
OIDC: auth.NewBearerOIDC(cfg.OIDCIssuer, []string{cfg.OIDCAudience, cfg.OIDCTestingAudience}),
Audience: cfg.OIDCAudience,
TestingAudience: cfg.OIDCTestingAudience,
})
if err := srv.ListenAndServe(ctx, cfg.ListenAddr); err != nil {
slog.Error("server", "err", err)