-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
69 lines (57 loc) · 1.7 KB
/
main.go
File metadata and controls
69 lines (57 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main
import (
"flag"
"fmt"
"log"
"os"
"os/signal"
"strings"
"syscall"
)
var (
version = "dev"
commit = "none"
date = "unknown"
)
func main() {
versionFlag := flag.Bool("version", false, "show version")
flag.BoolVar(versionFlag, "v", false, "show version")
flag.Parse()
if *versionFlag {
fmt.Printf("yundera-smtp-handler %s (commit: %s, built: %s)\n", version, commit, date)
os.Exit(0)
}
log.Println("=================================================")
log.Printf("Yundera SMTP Handler v%s", version)
log.Printf("Git Commit: %s", commit)
log.Printf("Build Date: %s", date)
log.Println("=================================================")
// Get configuration from environment
smtpPort := os.Getenv("SMTP_PORT")
if smtpPort == "" {
smtpPort = "587"
}
orchestratorURL := os.Getenv("ORCHESTRATOR_URL")
if orchestratorURL == "" {
orchestratorURL = "https://app.yundera.com/service/pcs"
log.Printf("⚠ ORCHESTRATOR_URL not set, using default: %s", orchestratorURL)
} else {
// Strip /user suffix if present (YUNDERA_USER_API includes it)
orchestratorURL = strings.TrimSuffix(orchestratorURL, "/user")
}
userJWT := os.Getenv("USER_JWT")
if userJWT == "" {
log.Fatal("❌ ERROR: USER_JWT environment variable is required")
}
// Start SMTP server
log.Printf("Starting SMTP server on port %s...", smtpPort)
log.Printf("Orchestrator URL: %s", orchestratorURL)
if err := StartSMTPServer(smtpPort, orchestratorURL, userJWT); err != nil {
log.Fatalf("❌ Failed to start SMTP server: %v", err)
}
// Wait for interrupt signal
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, os.Interrupt, syscall.SIGTERM)
<-sigChan
log.Println("Shutting down SMTP server...")
}