authorizer/server/main.go

67 lines
1.8 KiB
Go
Raw Permalink Normal View History

package main
import (
"flag"
2022-02-26 04:14:55 +00:00
"log"
"github.com/authorizerdev/authorizer/server/constants"
2021-07-28 06:23:37 +00:00
"github.com/authorizerdev/authorizer/server/db"
2021-12-20 12:03:11 +00:00
"github.com/authorizerdev/authorizer/server/env"
2022-01-17 06:02:13 +00:00
"github.com/authorizerdev/authorizer/server/envstore"
2021-07-23 16:27:44 +00:00
"github.com/authorizerdev/authorizer/server/oauth"
2022-01-17 06:02:13 +00:00
"github.com/authorizerdev/authorizer/server/routes"
"github.com/authorizerdev/authorizer/server/sessionstore"
)
2021-12-24 12:17:35 +00:00
var VERSION string
func main() {
envstore.ARG_DB_URL = flag.String("database_url", "", "Database connection string")
envstore.ARG_DB_TYPE = flag.String("database_type", "", "Database type, possible values are postgres,mysql,sqlite")
envstore.ARG_ENV_FILE = flag.String("env_file", "", "Env file path")
flag.Parse()
2022-03-09 13:25:18 +00:00
log.Println("=> version:", VERSION)
constants.VERSION = VERSION
2021-12-24 12:17:35 +00:00
2022-02-26 04:36:26 +00:00
// initialize required envs (mainly db & env file path)
err := env.InitRequiredEnv()
if err != nil {
log.Fatal("Error while initializing required envs:", err)
}
2022-02-26 04:14:55 +00:00
// initialize db provider
2022-02-26 04:36:26 +00:00
err = db.InitDB()
if err != nil {
log.Fatalln("Error while initializing db:", err)
}
2022-02-26 04:14:55 +00:00
// initialize all envs
2022-02-26 04:36:26 +00:00
// (get if present from db else construct from os env + defaults)
err = env.InitAllEnv()
if err != nil {
log.Fatalln("Error while initializing env: ", err)
}
2022-02-26 04:14:55 +00:00
// persist all envs
2022-02-26 04:36:26 +00:00
err = env.PersistEnv()
2022-02-26 04:14:55 +00:00
if err != nil {
2022-02-26 04:36:26 +00:00
log.Fatalln("Error while persisting env:", err)
2022-02-26 04:14:55 +00:00
}
2021-12-31 08:22:10 +00:00
2022-02-26 04:36:26 +00:00
// initialize session store (redis or in-memory based on env)
err = sessionstore.InitSession()
if err != nil {
log.Fatalln("Error while initializing session store:", err)
}
2022-01-17 06:02:13 +00:00
2022-02-26 04:36:26 +00:00
// initialize oauth providers based on env
err = oauth.InitOAuth()
if err != nil {
log.Fatalln("Error while initializing oauth:", err)
}
router := routes.InitRouter()
2022-02-28 02:25:01 +00:00
router.Run(":" + envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyPort))
}