Introduces code.nochebuena.dev/einherjar/storage-minio — the object storage starter for the Einherjar framework. Absorbs the minio package from micro-lib, replacing fmt.Errorf wrapping with core/xerrors. Interfaces (CT-6: one TypeSpec per file): - Provider — PutObject, RemoveObject, GetObject, PresignedGetObject, HandleError - Component — lifecycle.Component + observability.Checkable + Provider + Native() Implementation: - New(logger, cfg) Component — client not created until OnInit - OnInit: minio.New with credentials and transport; bucket existence check - OnStart: BucketExists PING; logs "minio: connected" - OnStop: logs "minio: closing client" (minio-go is stateless; no explicit close) - HealthCheck: BucketExists check; Priority LevelCritical - Native() *miniogo.Client — escape hatch for operations not in Provider - HandleError: maps minio-go errors to xerrors (NotFound, AlreadyExists, Internal) Config (EINHERJAR_MINIO_* env vars): Endpoint(required), AccessKey(required), SecretKey(required), Bucket(required), UseSSL(false), Region(us-east-1) - Component interface embeds observability.Identifiable; identifiable.go implements ModulePath and ModuleVersion via runtime/debug.ReadBuildInfo() — prints in launcher banner
39 lines
1.5 KiB
Plaintext
39 lines
1.5 KiB
Plaintext
# ── Release workflow helpers ──────────────────────────────────────────────────
|
|
COMMIT.md
|
|
PR.md
|
|
RELEASE.md
|
|
|
|
# ── Go build artifacts ────────────────────────────────────────────────────────
|
|
*.exe
|
|
*.exe~
|
|
*.dll
|
|
*.so
|
|
*.dylib
|
|
*.test
|
|
*.out
|
|
/dist/
|
|
/bin/
|
|
|
|
# ── Go workspace (local development only) ────────────────────────────────────
|
|
go.work
|
|
go.work.sum
|
|
|
|
# ── Dependency vendor directory ───────────────────────────────────────────────
|
|
vendor/
|
|
|
|
# ── Coverage output ───────────────────────────────────────────────────────────
|
|
coverage.out
|
|
coverage.html
|
|
*.coverprofile
|
|
|
|
# ── OS artifacts ─────────────────────────────────────────────────────────────
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ── Editor artifacts ──────────────────────────────────────────────────────────
|
|
.idea/
|
|
.vscode/
|
|
*.swp
|
|
*.swo
|
|
*~
|