44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"github.com/authorizerdev/authorizer/server/constants"
|
|
"github.com/authorizerdev/authorizer/server/db"
|
|
"github.com/authorizerdev/authorizer/server/env"
|
|
"github.com/authorizerdev/authorizer/server/envstore"
|
|
"github.com/authorizerdev/authorizer/server/oauth"
|
|
"github.com/authorizerdev/authorizer/server/routes"
|
|
"github.com/authorizerdev/authorizer/server/sessionstore"
|
|
)
|
|
|
|
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()
|
|
|
|
envstore.EnvInMemoryStoreObj.UpdateEnvVariable(constants.StringStoreIdentifier, constants.EnvKeyVersion, VERSION)
|
|
|
|
// initialize required envs (mainly db env & env file path)
|
|
env.InitRequiredEnv()
|
|
// initialize db provider
|
|
db.InitDB()
|
|
// initialize all envs
|
|
env.InitAllEnv()
|
|
// persist all envs
|
|
err := env.PersistEnv()
|
|
if err != nil {
|
|
log.Println("Error persisting env:", err)
|
|
}
|
|
|
|
sessionstore.InitSession()
|
|
oauth.InitOAuth()
|
|
router := routes.InitRouter()
|
|
|
|
router.Run(":" + envstore.EnvInMemoryStoreObj.GetStringStoreEnvVariable(constants.EnvKeyPort))
|
|
}
|