gator/main.go
Dan Anglin 15386cdb9f
refactor: move executorfunc map
Move the executorFunc map to internal/executors.
2024-10-03 03:37:52 +01:00

48 lines
914 B
Go

package main
import (
"database/sql"
"fmt"
"os"
"codeflow.dananglin.me.uk/apollo/gator/internal/config"
"codeflow.dananglin.me.uk/apollo/gator/internal/database"
"codeflow.dananglin.me.uk/apollo/gator/internal/executors"
"codeflow.dananglin.me.uk/apollo/gator/internal/state"
_ "github.com/lib/pq"
)
var (
binaryVersion string
buildTime string
goVersion string
gitCommit string
)
func main() {
if err := run(); err != nil {
fmt.Printf("ERROR: %v.\n", err)
os.Exit(1)
}
}
func run() error {
cfg, err := config.NewConfig()
if err != nil {
return fmt.Errorf("unable to load the configuration: %w", err)
}
db, err := sql.Open("postgres", cfg.DBConfig.URL)
if err != nil {
return fmt.Errorf("unable to open a connection to the database: %w", err)
}
s := state.State{
DB: database.New(db),
Config: &cfg,
}
args := os.Args[1:]
return executors.Run(&s, args)
}