diff options
| author | Horus3 | 2015-02-20 23:43:36 +0100 |
|---|---|---|
| committer | Horus3 | 2015-02-20 23:43:36 +0100 |
| commit | c92989a8fc738094b205094a1bdd458a40c23d9c (patch) | |
| tree | 45910c30216c81912d981e467582278c4fa35143 /app | |
| parent | a8d9e02831d4b01e47f24a30144b5522c03b2b8c (diff) | |
| download | statuspage-c92989a8fc738094b205094a1bdd458a40c23d9c.tar.gz | |
Add more targets for make, env.sh and check for configuration.
Diffstat (limited to 'app')
| -rw-r--r-- | app/.s | 0 | ||||
| -rw-r--r-- | app/Makefile | 39 | ||||
| -rw-r--r-- | app/config.go | 33 | ||||
| -rwxr-xr-x | app/env.sh | 14 | ||||
| -rw-r--r-- | app/main.go | 1 |
5 files changed, 80 insertions, 7 deletions
diff --git a/app/Makefile b/app/Makefile index 49e8b5d..06aed05 100644 --- a/app/Makefile +++ b/app/Makefile @@ -1,3 +1,5 @@ +include env.sh + ifndef STATUS_DB_DRIVER export STATUS_DB_DRIVER:=sqlite3 endif @@ -20,7 +22,8 @@ ifndef STATUS_HTTP_PORT export STATUS_HTTP_PORT:=8080 endif -IMPORT_FILE:=import.go +IMPORT_FILE:=./import.go +APP:=statuspage all: kill build run @@ -30,17 +33,39 @@ clean: kill @echo "Removing sqlite3 database..." @rm $(STATUS_DB_CREDENTIALS) || true @echo "Removing binary..." - @rm statuspage + @rm $(APP) @echo "Done." -build: - @echo "package main" > $(IMPORT_FILE) - @echo "import (_ \"$(STATUS_DB_IMPORT_DRIVER)\")" >> $(IMPORT_FILE) +build: import go build -o statuspage run: - ./statuspage & + ./$(APP) & kill: @echo "Killing running instances..." - @pkill statuspage || true + @pkill $(APP) || true + +create_import: + @if [ ! -f $(IMPORT_FILE) ] ; \ + then \ + echo "package main" > $(IMPORT_FILE) ; \ + fi + +import: + @if [ ! -f $(IMPORT_FILE) ] ; \ + then \ + echo "package main" > $(IMPORT_FILE) ; \ + echo "import _ \"$(STATUS_DB_IMPORT_DRIVER)\"" >> $(IMPORT_FILE) ; \ + fi + +sqlite3: create_import + @echo "import _ \"github.com/mattn/go-sqlite3\"" >> $(IMPORT_FILE) + +mysql: create_import + @echo "import _ \"github.com/go-sql-driver/mysql\"" >> $(IMPORT_FILE) + +postgresql: create_import + @echo "import _ \"github.com/lib/pq\"" >> $(IMPORT_FILE) + +database_all: create_import sqlite3 mysql postgresql diff --git a/app/config.go b/app/config.go new file mode 100644 index 0000000..2c1ea5e --- /dev/null +++ b/app/config.go @@ -0,0 +1,33 @@ +package main + +import ( + "log" + "os" +) + +func check() { + check := os.Getenv("STATUS_DB_DRIVER") + if check == "" { + log.Fatal("Env STATUS_DB_DRIVER not found. No database connection can be established.") + } + check = os.Getenv("STATUS_DB_CREDENTIALS") + if check == "" { + log.Fatal("Env STATUS_DB_CREDENTIALS not found. No database connection can be established.") + } + check = os.Getenv("STATUS_REDIS_SERVER") + if check == "" { + log.Fatal("Env STATUS_REDIS_SERVER not found. Provide the ip to the Redis server.") + } + check = os.Getenv("STATUS_REDIS_PORT") + if check == "" { + log.Fatal("Env STATUS_REDIS_PORT not found.") + } + check = os.Getenv("STATUS_HTTP_IP") + if check == "" { + log.Fatal("Env STATUS_HTTP_IP not found.") + } + check = os.Getenv("STATUS_HTTP_PORT") + if check == "" { + log.Fatal("Env STATUS_HTTP_PORT not found.") + } +} diff --git a/app/env.sh b/app/env.sh new file mode 100755 index 0000000..81b344f --- /dev/null +++ b/app/env.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# Database +export STATUS_DB_DRIVER=sqlite3 +export STATUS_DB_CREDENTIALS=../db/status.db +export STATUS_DB_IMPORT_DRIVER=github.com/mattn/go-sqlite3 + +# Redis +export STATUS_REDIS_SERVER=127.0.0.1 +export STATUS_REDIS_PORT=6379 + +# Http +export STATUS_HTTP_IP=127.0.0.1 +export STATUS_HTTP_PORT=8080 diff --git a/app/main.go b/app/main.go index 72be13c..3850a4d 100644 --- a/app/main.go +++ b/app/main.go @@ -16,6 +16,7 @@ var mainTempl = template.Must(template.New("global").ParseGlob("../views/*.html" var c = cron.New() func main() { + check() run() InitDB() insertHost() |
