mirror of
https://github.com/Quiq/docker-registry-ui.git
synced 2025-09-11 01:48:55 +00:00
Add event_deletion_enabled option to the config, useful for master-master/cluster setups
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
"github.com/hhkbp2/go-logging"
|
||||
"github.com/quiq/docker-registry-ui/registry"
|
||||
|
||||
// 🐒 patching of "database/sql".
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
@@ -35,6 +36,7 @@ type EventListener struct {
|
||||
databaseDriver string
|
||||
databaseLocation string
|
||||
retention int
|
||||
eventDeletion bool
|
||||
logger logging.Logger
|
||||
}
|
||||
|
||||
@@ -54,11 +56,12 @@ type EventRow struct {
|
||||
}
|
||||
|
||||
// NewEventListener initialize EventListener.
|
||||
func NewEventListener(databaseDriver, databaseLocation string, retention int) *EventListener {
|
||||
func NewEventListener(databaseDriver, databaseLocation string, retention int, eventDeletion bool) *EventListener {
|
||||
return &EventListener{
|
||||
databaseDriver: databaseDriver,
|
||||
databaseLocation: databaseLocation,
|
||||
retention: retention,
|
||||
eventDeletion: eventDeletion,
|
||||
logger: registry.SetupLogging("events.event_listener"),
|
||||
}
|
||||
}
|
||||
@@ -112,6 +115,9 @@ func (e *EventListener) ProcessEvents(request *http.Request) {
|
||||
}
|
||||
|
||||
// Purge old records.
|
||||
if !e.eventDeletion {
|
||||
return
|
||||
}
|
||||
var res sql.Result
|
||||
if e.databaseDriver == "mysql" {
|
||||
stmt, _ := db.Prepare("DELETE FROM events WHERE created < DATE_SUB(NOW(), INTERVAL ? DAY)")
|
||||
|
Reference in New Issue
Block a user