Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
a2744f0
OSAC-3421: Add CaaS cluster mapper, state machine, and N+1 decomposition
omer-vishlitzky Aug 6, 2026
a419d79
OSAC-3421: Integrate CaaS into Watch Consumer with N+1 publish and sc…
omer-vishlitzky Aug 6, 2026
6a1b21f
OSAC-3433: Add CaaS heartbeat N+1 and reconciliation with ClusterLister
omer-vishlitzky Aug 6, 2026
8202dde
OSAC-3421: Add CaaS unit tests for consumer, heartbeat, and reconciler
omer-vishlitzky Aug 6, 2026
0bc50a4
OSAC-3410: Fix go.work.sum, deduplicate heartbeat builder, add nil-cl…
omer-vishlitzky Aug 6, 2026
da630d7
OSAC-3410: Explicit state machines, NodeSet-keyed components, determi…
omer-vishlitzky Aug 6, 2026
321d198
OSAC-3410: Sync go.sum and go.work.sum after module changes
omer-vishlitzky Aug 6, 2026
2e8c6d5
OSAC-3410: Error on unknown values in all switch defaults
omer-vishlitzky Aug 6, 2026
7a78345
OSAC-3410: Fix removal NodeSet, deterministic synthetic heartbeat IDs…
omer-vishlitzky Aug 6, 2026
ce1e5ab
refactor: replace state machine switches with declarative transition …
omer-vishlitzky Aug 6, 2026
78bd674
fix: publish-first ordering, missing transitions, exhaustive table tests
omer-vishlitzky Aug 6, 2026
20f49bf
refactor: extract DecomposeClusterEvents shared helper
omer-vishlitzky Aug 6, 2026
b5e04b3
refactor: eliminate all switch statements, wildcards, and string lite…
omer-vishlitzky Aug 6, 2026
8980bc9
OSAC-3696: skip SIGNALED events and metadata-only updates in Watch Co…
omer-vishlitzky Aug 6, 2026
9a784e8
fix: address masayag review findings 1-4 on design compliance
omer-vishlitzky Aug 6, 2026
14a82a3
refactor: pass billing dims to MapWatchEvent, eliminate post-hoc strip
omer-vishlitzky Aug 6, 2026
655c4db
fix: close dimension-drift, ID-collision, and validation gaps from re…
omer-vishlitzky Aug 9, 2026
3a2c50b
fix: close proto skew, staggered-scaling duration, and node_count val…
omer-vishlitzky Aug 9, 2026
ebf6cdc
Merge branch 'main' into feat/OSAC-3410-caas-lifecycle-metering
omer-vishlitzky Aug 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion osac-metering/metering-service/buf.gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ managed:

inputs:

- module: buf.build/osac-project/private-api:v0.0.83
- module: buf.build/osac-project/private-api:v0.0.84

plugins:

Expand Down
3 changes: 2 additions & 1 deletion osac-metering/metering-service/cmd/metering-service/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,8 @@ func run(ctx context.Context, logger logr.Logger, cfg *config) error {
publisher := kafkapub.NewPublisher(producer)

computeClient := privatev1.NewComputeInstancesClient(grpcConn)
reconciler := reconciliation.NewReconciler(computeClient, store, publisher, logger, cfg.heartbeatInterval)
clusterClient := privatev1.NewClustersClient(grpcConn)
reconciler := reconciliation.NewReconciler(computeClient, clusterClient, store, publisher, logger, cfg.heartbeatInterval)

logger.Info("running startup reconciliation")
if err := reconciler.Reconcile(ctx); err != nil {
Expand Down
4 changes: 3 additions & 1 deletion osac-metering/metering-service/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ require (
github.com/go-logr/logr v1.4.4
github.com/go-logr/zapr v1.3.0
github.com/golang-migrate/migrate/v4 v4.19.1
github.com/google/uuid v1.6.0
github.com/jackc/pgx/v5 v5.10.0
github.com/onsi/ginkgo/v2 v2.32.0
github.com/onsi/gomega v1.42.1
Expand All @@ -31,7 +32,6 @@ require (
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
Expand All @@ -47,6 +47,7 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opencontainers/image-spec v1.1.1 // indirect
github.com/pierrec/lz4/v4 v4.1.27 // indirect
github.com/prometheus/client_model v0.6.2 // indirect
github.com/prometheus/common v0.70.1 // indirect
Expand All @@ -55,6 +56,7 @@ require (
github.com/rogpeppe/go-internal v1.15.0 // indirect
github.com/xdg-go/pbkdf2 v1.0.0 // indirect
github.com/xdg-go/stringprep v1.0.4 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/crypto v0.54.0 // indirect
Expand Down
10 changes: 6 additions & 4 deletions osac-metering/metering-service/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo=
Expand All @@ -130,8 +132,8 @@ github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I=
github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
github.com/pierrec/lz4/v4 v4.1.27 h1:+PhzhWDrjRj89TH2sw43nE3+4+W8lSxIuQadEHZyjUk=
github.com/pierrec/lz4/v4 v4.1.27/go.mod h1:EoQMVJgeeEOMsCqCzqFm2O0cJvljX2nGZjcRIPL34O4=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
Expand Down Expand Up @@ -181,8 +183,8 @@ github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gi
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI=
go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU=
go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc=
go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc=
Expand Down
Loading
Loading