All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 8m11s
40 lines
867 B
Go
40 lines
867 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() {
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
slog.Error("Error loading .env file")
|
|
return
|
|
}
|
|
|
|
db, err := otelsqlx.Open("sqlite3", "./data/spend-sparrow.db",
|
|
otelsql.WithAttributes(semconv.DBSystemSqlite))
|
|
if err != nil {
|
|
slog.Error("Could not open Database data.db", "err", err)
|
|
return
|
|
}
|
|
defer func() {
|
|
if err = db.Close(); err != nil {
|
|
slog.Error("Database close failed", "err", err)
|
|
}
|
|
}()
|
|
|
|
if err = internal.Run(context.Background(), db, "", os.Getenv); err != nil {
|
|
slog.Error("Error running server", "err", err)
|
|
return
|
|
}
|
|
}
|