feat: scaffold agentmon services and k8s deploy

Adds Go microservices (ingest-gateway, event-processor, query-api, web-ui), NATS+Postgres wiring, initial schema/init job, ingress manifests for LAN+tailnet, and a multi-arch image build script.
This commit is contained in:
William Valentin
2026-01-17 01:06:57 -08:00
parent a584d7e274
commit 256b841cbf
28 changed files with 1554 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
package nats
import (
"context"
"time"
gnats "github.com/nats-io/nats.go"
)
type Publisher struct {
conn *gnats.Conn
topic string
timeout time.Duration
}
func NewPublisher(url, topic string) (*Publisher, error) {
conn, err := gnats.Connect(url)
if err != nil {
return nil, err
}
return &Publisher{conn: conn, topic: topic, timeout: 5 * time.Second}, nil
}
func (p *Publisher) Close() {
p.conn.Close()
}
func (p *Publisher) Publish(ctx context.Context, data []byte) error {
ctx, cancel := context.WithTimeout(ctx, p.timeout)
defer cancel()
_ = ctx
return p.conn.Publish(p.topic, data)
}