| 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 |
| } |