66 "errors"
77 "gitbot/internal/config"
88 "gitbot/internal/event"
9-
109 "gitbot/internal/event/provider"
10+ "gitbot/internal/event/queue"
11+ "gitbot/internal/event/worker"
1112
1213 "log/slog"
1314 "net/http"
@@ -46,23 +47,32 @@ func NewKubernetes() *kubernetes.Clientset {
4647 return clientset
4748}
4849
50+ type Server struct {
51+ }
52+
4953func main () {
5054 // Configure log
5155 slog .SetDefault (slog .New (slog .NewJSONHandler (os .Stdout , nil )))
5256
57+ // Load config
58+ //config := config.Load(config.Get("CONFIG_FILE"))
59+
5360 // Configure kubernetes
54- clientset := NewKubernetes ()
61+ // clientset := NewKubernetes()
5562
5663 // Configure webhook queue
57- queue := event .NewMemoryQueue ()
64+ queue := queue .NewMemoryQueue [event.QueueItem ]()
65+ worker := worker .NewWorker (queue )
5866
59- // New Router for Http Server
67+ // Handlers
68+ bitbucketProvider := provider .NewBitbucketProvider (config .Get ("BITBUCKET_BEARER_TOKEN" ))
69+ bitbucketHandler := event .NewHandler (queue , bitbucketProvider )
70+
71+ // Routes
6072 router := http .NewServeMux ()
61- router .HandleFunc ("GET /status" , status )
6273
63- // Setup Git Providers Routes
64- bitbucket := provider .NewBitbucketProvider (config .Get ("BITBUCKET_BEARER_TOKEN" ))
65- router .HandleFunc ("POST /api/v1/webhook/bitbucket" , event .Handle (queue , bitbucket ))
74+ router .HandleFunc ("GET /status" , status )
75+ router .HandleFunc ("POST /api/v1/webhook/bitbucket" , bitbucketHandler .Handle ())
6676
6777 // Starting Http Server
6878 srv := & http.Server {Addr : ":" + config .Get ("HTTP_PORT" ), Handler : router }
@@ -77,7 +87,7 @@ func main() {
7787 }()
7888
7989 // Start Event Queue Worker
80- StopWorker := event . StartWorker ( queue , clientset )
90+ go worker . Start ( )
8191
8292 // Wait for shutdown signal
8393 done := make (chan os.Signal , 1 )
@@ -96,7 +106,7 @@ func main() {
96106
97107 // Stop event queue worker
98108 slog .Info ("Shutdown event queue..." )
99- StopWorker (ctx )
109+ worker . Stop (ctx )
100110
101111 slog .Info ("Server Stopped..." )
102112 time .Sleep (3 * time .Second )
0 commit comments