aboutsummaryrefslogtreecommitdiff
path: root/caronte.go
diff options
context:
space:
mode:
Diffstat (limited to 'caronte.go')
-rw-r--r--caronte.go34
1 files changed, 32 insertions, 2 deletions
diff --git a/caronte.go b/caronte.go
index 098642c..95f00ef 100644
--- a/caronte.go
+++ b/caronte.go
@@ -1,3 +1,20 @@
+/*
+ * This file is part of caronte (https://github.com/eciavatta/caronte).
+ * Copyright (c) 2020 Emiliano Ciavatta.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
package main
import (
@@ -6,6 +23,8 @@ import (
log "github.com/sirupsen/logrus"
)
+var Version string
+
func main() {
mongoHost := flag.String("mongo-host", "localhost", "address of MongoDB")
mongoPort := flag.Int("mongo-port", 27017, "port of MongoDB")
@@ -22,12 +41,23 @@ func main() {
log.WithError(err).WithFields(logFields).Fatal("failed to connect to MongoDB")
}
- applicationContext, err := CreateApplicationContext(storage)
+ if Version == "" {
+ Version = "undefined"
+ }
+ applicationContext, err := CreateApplicationContext(storage, Version)
if err != nil {
log.WithError(err).WithFields(logFields).Fatal("failed to create application context")
}
- applicationRouter := CreateApplicationRouter(applicationContext)
+ notificationController := NewNotificationController(applicationContext)
+ go notificationController.Run()
+ applicationContext.SetNotificationController(notificationController)
+
+ resourcesController := NewResourcesController(notificationController)
+ go resourcesController.Run()
+
+ applicationContext.Configure()
+ applicationRouter := CreateApplicationRouter(applicationContext, notificationController, resourcesController)
if applicationRouter.Run(fmt.Sprintf("%s:%v", *bindAddress, *bindPort)) != nil {
log.WithError(err).WithFields(logFields).Fatal("failed to create the server")
}