Compare commits
2 Commits
2ffd1f439f
...
d9605fde58
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9605fde58 | ||
|
|
9c9430ca9c |
@@ -1,56 +0,0 @@
|
|||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"GoMembership/internal/config"
|
|
||||||
"GoMembership/internal/database"
|
|
||||||
"GoMembership/internal/server"
|
|
||||||
"GoMembership/pkg/logger"
|
|
||||||
"context"
|
|
||||||
"os"
|
|
||||||
"os/signal"
|
|
||||||
"syscall"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
|
|
||||||
logger.Info.Println("startup...")
|
|
||||||
|
|
||||||
config.LoadConfig()
|
|
||||||
|
|
||||||
err := database.Open(config.DB.Path, config.Recipients.AdminEmail)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error.Fatalf("Couldn't init database: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
if err := database.Close(); err != nil {
|
|
||||||
logger.Error.Fatalf("Failed to close database: %v", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
go server.Run()
|
|
||||||
|
|
||||||
gracefulShutdown()
|
|
||||||
}
|
|
||||||
|
|
||||||
func gracefulShutdown() {
|
|
||||||
// Create a channel to listen for OS signals
|
|
||||||
stop := make(chan os.Signal, 1)
|
|
||||||
signal.Notify(stop, os.Interrupt, syscall.SIGTERM)
|
|
||||||
|
|
||||||
// Block until a signal is received
|
|
||||||
<-stop
|
|
||||||
logger.Info.Println("Received shutdown signal")
|
|
||||||
|
|
||||||
// Create a context with a timeout for the shutdown process
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
||||||
defer cancel()
|
|
||||||
|
|
||||||
// Call the server's shutdown function
|
|
||||||
if err := server.Shutdown(ctx); err != nil {
|
|
||||||
logger.Error.Fatalf("Error during Server shutdown: %#v", err)
|
|
||||||
} else {
|
|
||||||
logger.Info.Println("Server gracefully stopped")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
"site": {
|
|
||||||
"WebsiteTitle": "My Carsharing Site",
|
|
||||||
"BaseUrl": "https://domain.de",
|
|
||||||
"AllowOrigins": "https://domain.de"
|
|
||||||
},
|
|
||||||
"Environment": "dev",
|
|
||||||
"db": {
|
|
||||||
"Path": "data/db.sqlite3"
|
|
||||||
},
|
|
||||||
"smtp": {
|
|
||||||
"Host": "mail.server.com",
|
|
||||||
"User": "username",
|
|
||||||
"Password": "password",
|
|
||||||
"Port": 465
|
|
||||||
},
|
|
||||||
"templates": {
|
|
||||||
"MailPath": "templates/email",
|
|
||||||
"HTMLPath": "templates/html",
|
|
||||||
"StaticPath": "templates/css",
|
|
||||||
"LogoURI": "/images/LOGO.png"
|
|
||||||
},
|
|
||||||
"auth": {
|
|
||||||
"APIKey": ""
|
|
||||||
},
|
|
||||||
"recipients": {
|
|
||||||
"ContactForm": "contacts@server.com",
|
|
||||||
"UserRegistration": "registration@server.com",
|
|
||||||
"AdminEmail": "admin@server.com"
|
|
||||||
},
|
|
||||||
"security": {
|
|
||||||
"RateLimits": {
|
|
||||||
"Limit": 1,
|
|
||||||
"Burst": 60
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user