Files
spend-sparrow/main.go
Tim Wundenberg 2bbfe7b175
All checks were successful
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 1m16s
feat(otel): remove custom service name in favor of env variable
2026-01-02 19:12:21 +01:00

45 lines
971 B
Go

package main
import (
"context"
"log/slog"
"os"
"spend-sparrow/internal"
"github.com/joho/godotenv"
_ "github.com/mattn/go-sqlite3"
"github.com/uptrace/opentelemetry-go-extra/otelsql"
"github.com/uptrace/opentelemetry-go-extra/otelsqlx"
semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
)
func main() {
ctx := context.Background()
err := godotenv.Load()
if err != nil {
slog.ErrorContext(ctx, "Error loading .env file")
return
}
db, err := otelsqlx.Open(
"sqlite3",
"./data/spend-sparrow.db?_journal_mode=WAL",
otelsql.WithAttributes(semconv.DBSystemSqlite),
)
if err != nil {
slog.ErrorContext(ctx, "Could not open Database data.db", "err", err)
return
}
defer func() {
if err = db.Close(); err != nil {
slog.ErrorContext(ctx, "Database close failed", "err", err)
}
}()
if err = internal.Run(context.Background(), db, "", os.Getenv); err != nil {
slog.ErrorContext(ctx, "Error running server", "err", err)
return
}
}