refactor: update worker processes in EvoBGP to accept dependencies for shared store and job registry. Enhance scheduler, ingest, render, and deploy components to utilize a unified context and improve logging for drift detection. Update architecture documentation to reflect changes in process interactions and worker functionalities.
CI / changes (push) Successful in 5s
CI / go (push) Failing after 9s
CI / openapi (push) Has been skipped
CI / bird2 (push) Has been skipped

This commit is contained in:
Denozordec
2026-04-05 17:42:07 +07:00
parent 5d21f013cf
commit b7968db4e0
22 changed files with 936 additions and 77 deletions
+31
View File
@@ -0,0 +1,31 @@
package render
import (
"context"
"log"
"evobgp/internal/store"
)
// PublishLatestTenantRevision sets each speaker's published_revision_id to the newest tenant revision (by created_at).
// Simplification for single-tenant / demo stacks; multi-module tenants may prefer explicit publish policies later.
func PublishLatestTenantRevision(ctx context.Context, st store.Backend) {
_ = ctx
tenants, err := st.ListTenantIDs()
if err != nil {
log.Printf("evobgp-render: list tenants: %v", err)
return
}
for _, tid := range tenants {
revs, _, _ := st.ListRevisions(tid, "", "", 1)
if len(revs) == 0 {
continue
}
rid := revs[0].ID
for _, sp := range st.ListSpeakersForTenant(tid) {
if err := st.PublishRevisionForSpeaker(sp.ID, rid); err != nil {
log.Printf("evobgp-render: publish speaker %s: %v", sp.ID, err)
}
}
}
}