blob: 11d79a7f9e659b37cead5e8389820bd7eadc1efc [file] [log] [blame]
package apiGatewayDeploy
import (
"database/sql"
"github.com/30x/apid"
"github.com/30x/apidGatewayDeploy/github"
"os"
"path/filepath"
)
const (
configBundleDir = "gatewaydeploy_bundle_dir"
configGithubAccessToken = "gatewaydeploy_github_accesstoken"
)
var (
log apid.LogService
db *sql.DB
)
func init() {
apid.RegisterPlugin(initPlugin)
}
func initPlugin(services apid.Services) error {
log = services.Log().ForModule("apiGatewayDeploy")
log.Debug("start init")
github.Init(services)
config := services.Config()
config.SetDefault(configBundleDir, "/var/tmp")
var err error
dir := config.GetString(configBundleDir)
if err := os.MkdirAll(dir, 0700); err != nil {
log.Panicf("Failed bundle directory creation: %v", err)
}
bundlePath, err = filepath.Abs(dir)
if err != nil {
log.Panicf("Cant find Abs Path : %v", err)
}
log.Infof("Bundle directory path is %s", bundlePath)
gitHubAccessToken = config.GetString(configGithubAccessToken)
db, err = services.Data().DB()
if err != nil {
log.Panic("Unable to access DB", err)
}
initDB()
go distributeEvents()
initAPI(services)
initListener(services)
serviceDeploymentQueue()
log.Debug("end init")
return nil
}