summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..bda0f1c
--- /dev/null
+++ b/main.go
@@ -0,0 +1,70 @@
+package main
+
+import (
+ "embed"
+ "fmt"
+ "net/http"
+ "time"
+
+ "go.wit.com/lib/protobuf/forgepb"
+ "go.wit.com/log"
+)
+
+// are sent via -ldflags at buildtime
+var VERSION string
+var BUILDTIME string
+
+//go:embed resources/*
+var resources embed.FS
+
+// var accessf, clientf *os.File
+
+var configfile []string
+var keysSorted []string
+var forge *forgepb.Forge
+
+var HOSTNAME string = "forge.wit.com"
+var FOOTER string = "/etc/forged/footer.html"
+var LIBDIR string = "/var/lib/forged/"
+
+func main() {
+ if argv.Hostname != "" {
+ HOSTNAME = argv.Hostname
+ }
+ forge = forgepb.Init()
+
+ http.HandleFunc("/", okHandler)
+ // go https() // use caddy instead
+ p := fmt.Sprintf(":%d", argv.Port)
+ log.Println("HOSTNAME set to:", HOSTNAME)
+ log.Println("Running on port", p)
+ err := http.ListenAndServe(p, nil)
+ if err != nil {
+ log.Println("Error starting server:", err)
+ }
+}
+
+func formatDuration(d time.Duration) string {
+ seconds := int(d.Seconds()) % 60
+ minutes := int(d.Minutes()) % 60
+ hours := int(d.Hours()) % 24
+ days := int(d.Hours()) / 24
+
+ result := ""
+ if days > 0 {
+ result += fmt.Sprintf("%dd ", days)
+ return result
+ }
+ if hours > 0 {
+ result += fmt.Sprintf("%dh ", hours)
+ return result
+ }
+ if minutes > 0 {
+ result += fmt.Sprintf("%dm ", minutes)
+ return result
+ }
+ if seconds > 0 {
+ result += fmt.Sprintf("%ds", seconds)
+ }
+ return result
+}