Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
d5ab572
perf: reduce busybox init-time memory allocation
davdhacs Apr 11, 2026
417a63b
fix: update test files for lazy regex changes
davdhacs Apr 11, 2026
37c8818
fix: update sql_integration test files for lazy schema vars
davdhacs Apr 11, 2026
a5e5e0e
perf: remove per-logger zap sampling to save ~46 MB runtime memory
davdhacs Apr 11, 2026
6e26ff6
fix: update all remaining test files for lazy schema vars
davdhacs Apr 11, 2026
7cf6fcd
fix: last remaining test file schema var references
davdhacs Apr 11, 2026
8ea1509
fix: make schema registration idempotent and fix test schema refs
davdhacs Apr 12, 2026
6aaa51e
perf: lazy GraphQL schema parsing — saves 5 MB at idle
davdhacs Apr 12, 2026
77482b4
perf: memory-aware pgx pool configuration
davdhacs Apr 12, 2026
75f5003
fix: import formatting and empty measurement files
davdhacs Apr 12, 2026
6658701
perf: lazy policy compilation — defer 6 MB of regexp building
davdhacs Apr 12, 2026
1db6222
perf: disable gRPC compression by default + lazy policy compilation
davdhacs Apr 12, 2026
7b1fcaa
perf: add ROX_LOGGING_TO_FILE to disable file logging
davdhacs Apr 12, 2026
e2ce0c2
perf: share single lumberjack writer across all loggers
davdhacs Apr 12, 2026
61038cf
fix: regenerate test schemas with sync.OnceValue
davdhacs Apr 12, 2026
f5a1005
feat: sensor-lite mode — skip policy compilation and network entities
davdhacs Apr 12, 2026
b12413d
perf: scale process enricher cache with available memory
davdhacs Apr 12, 2026
0bdaa43
perf: inline timeutil constants in pkg/env, eliminate timezone dep path
davdhacs Apr 12, 2026
ddc9e6e
perf: reduce image cache TTL in sensor-lite mode
davdhacs Apr 12, 2026
609a9dd
perf: decouple GCP auth from shared registry types package
davdhacs Apr 12, 2026
b1e95cc
perf: eliminate heavy cloud SDK deps from sensor binary (-35% deps)
davdhacs Apr 12, 2026
fc99421
perf: move GraphQL timestamp helper from protocompat to resolvers
davdhacs Apr 12, 2026
d0f0bbb
revert: remove cloud provider build tags, keep runtime lazy loading
davdhacs Apr 12, 2026
c88b9af
perf: decouple pgx from grpc error interceptor using duck typing
davdhacs Apr 12, 2026
1076a41
perf: eliminate pgx database driver from sensor binary
davdhacs Apr 12, 2026
2c3c4d4
perf: inline claircore constants in sensor compliance handler
davdhacs Apr 12, 2026
2c110bf
perf: remove testing import from booleanpolicy field_metadata.go
davdhacs Apr 12, 2026
8376022
perf: remove testing imports from production packages
davdhacs Apr 12, 2026
a7bc332
perf: remove testing imports from sac and effectiveaccessscope
davdhacs Apr 12, 2026
ae1f9f6
perf: move test code from production files to _test.go
davdhacs Apr 12, 2026
a9f0d27
perf: remove testing package from authn, identity, and networkflow
davdhacs Apr 12, 2026
b199b9c
fix(ci): fix CI failures — imports, tests, schema regeneration, enricher
davdhacs Apr 12, 2026
e25fc73
feat: configurable process enricher interval with idle backoff
davdhacs Apr 12, 2026
ce18068
perf: increase default process enricher interval to 30s
davdhacs Apr 12, 2026
d19abe1
perf: eliminate process enricher ticker — fully event-driven
davdhacs Apr 12, 2026
3f7f2d0
perf: gate compliance operator components on OpenShift API
davdhacs Apr 12, 2026
39922c6
perf: remove no-op goroutine from admission control alert handler
davdhacs Apr 12, 2026
f5d6fb9
fix(ci): fix broken ContextWithIdentity call in audit_test.go
davdhacs Apr 12, 2026
15bcb89
perf: reduce unnecessary k8s API calls from sensor components
davdhacs Apr 12, 2026
ef856cb
perf: move OpenShift scheme registration to sub-package
davdhacs Apr 12, 2026
53f0879
perf: replace typed OpenShift informers with dynamic client
davdhacs Apr 12, 2026
22016b5
perf: eliminate all OpenShift scheme registrations from sensor
davdhacs Apr 12, 2026
5cdff1b
perf: strip bloat from informer cached objects via SetTransform
davdhacs Apr 12, 2026
4002065
feat: replace 15 typed k8s informers with minimal HTTP watch
davdhacs Apr 12, 2026
8f407d2
fix: start k8swatch adapter goroutines from handle()
davdhacs Apr 12, 2026
4f7d252
fix: add initial LIST to k8swatch adapter for startup sync
davdhacs Apr 12, 2026
1843459
test: add comprehensive unit tests for k8swatch (k8squatch)
davdhacs Apr 12, 2026
91b93e6
fix: return empty Indexer instead of nil from k8swatch adapter
davdhacs Apr 12, 2026
1b98b83
fix: use LIST resourceVersion for WATCH start point in k8swatch
davdhacs Apr 12, 2026
cb19c54
test: add KinD integration tests for k8swatch
davdhacs Apr 12, 2026
9b6fc11
perf: replace AC informer with k8squatch — zero informer deps
davdhacs Apr 12, 2026
163e11e
perf: replace AWS SDK IMDS with lightweight HTTP client
davdhacs Apr 12, 2026
97eb5f9
test: add IMDS compatibility tests + fix metadata_test.go
davdhacs Apr 12, 2026
f800dd7
perf: replace gobwas/glob with stdlib path.Match
davdhacs Apr 12, 2026
079e14a
perf: remove pyroscope continuous profiling from sensor and AC
davdhacs Apr 12, 2026
973c3f7
perf: replace go-containerregistry ListTags with stdlib HTTP
davdhacs Apr 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/administration/usage/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/alert/datastore/bench_postgres_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ func runSearchRawAlerts(ctx context.Context, t testing.TB, datastore DataStore,

func runSelectQuery(ctx context.Context, t testing.TB, testDB *pgtest.TestPostgres, q *v1.Query, expected []*violationsBySeverity) {
var results []*violationsBySeverity
err := postgres.RunSelectRequestForSchemaFn[violationsBySeverity](ctx, testDB.DB, schema.AlertsSchema, q, func(r *violationsBySeverity) error {
err := postgres.RunSelectRequestForSchemaFn[violationsBySeverity](ctx, testDB.DB, schema.AlertsSchema(), q, func(r *violationsBySeverity) error {
results = append(results, r)
return nil
})
Expand Down
10 changes: 5 additions & 5 deletions central/alert/datastore/datastore_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func (ds *datastoreImpl) SearchAlertPolicyNamesAndSeverities(ctx context.Context
}

var results []*alertviews.PolicyNameAndSeverity
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema, clonedQuery, func(r *alertviews.PolicyNameAndSeverity) error {
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema(), clonedQuery, func(r *alertviews.PolicyNameAndSeverity) error {
results = append(results, r)
return nil
})
Expand All @@ -129,7 +129,7 @@ func (ds *datastoreImpl) SearchAlertPolicySeverityCounts(ctx context.Context, q
emptyResult := &alertviews.PolicySeverityCounts{}
results := make([]*alertviews.PolicySeverityCounts, 0)
// TODO(ROX-33425): replace call with one specific for counts that only returns a single row
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema, countQuery, func(r *alertviews.PolicySeverityCounts) error {
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema(), countQuery, func(r *alertviews.PolicySeverityCounts) error {
results = append(results, r)
return nil
})
Expand Down Expand Up @@ -162,7 +162,7 @@ func (ds *datastoreImpl) SearchAlertPolicyGroups(ctx context.Context, q *v1.Quer
groupQuery := alertviews.WithAlertPolicyGroupQuery(q)

var results []*alertviews.AlertPolicyGroup
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema, groupQuery, func(r *alertviews.AlertPolicyGroup) error {
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema(), groupQuery, func(r *alertviews.AlertPolicyGroup) error {
results = append(results, r)
return nil
})
Expand All @@ -183,7 +183,7 @@ func (ds *datastoreImpl) SearchAlertTimeseriesEvents(ctx context.Context, q *v1.
timeseriesQuery := alertviews.WithAlertTimeseriesQuery(q)

var results []*alertviews.AlertTimeseriesEvent
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema, timeseriesQuery, func(r *alertviews.AlertTimeseriesEvent) error {
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema(), timeseriesQuery, func(r *alertviews.AlertTimeseriesEvent) error {
results = append(results, r)
return nil
})
Expand All @@ -209,7 +209,7 @@ func (ds *datastoreImpl) SearchAlertDeploymentIDs(ctx context.Context, q *v1.Que
clonedQuery.Pagination = nil

var ids []string
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema, clonedQuery, func(r *alertviews.DeploymentIDResult) error {
err := pgSearch.RunSelectRequestForSchemaFn(ctx, ds.db, schema.AlertsSchema(), clonedQuery, func(r *alertviews.DeploymentIDResult) error {
if id := r.GetDeploymentID(); id != "" {
ids = append(ids, id)
}
Expand Down
2 changes: 1 addition & 1 deletion central/alert/datastore/datastore_sac_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (s *alertDatastoreSACTestSuite) SetupSuite() {
s.Require().NotNil(pgtestbase)
s.pool = pgtestbase.DB
s.datastore = GetTestPostgresDataStore(s.T(), s.pool)
s.optionsMap = schema.AlertsSchema.OptionsMap
s.optionsMap = schema.AlertsSchema().OptionsMap

s.testContexts = testutils.GetNamespaceScopedTestContexts(context.Background(), s.T(), resources.Alert)
}
Expand Down
2 changes: 1 addition & 1 deletion central/alert/datastore/internal/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/apitoken/service/service_impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func TestServiceImpl_ListAllowedRoles_SortsRoleAlphabetically(t *testing.T) {
s := &serviceImpl{roles: mockDatastore}

ctx := context.Background()
ctx = authn.ContextWithIdentity(ctx, mockIdentity, t)
ctx = authn.ContextWithIdentity(ctx, mockIdentity)

actual, err := s.ListAllowedTokenRoles(ctx, &v1.Empty{})

Expand Down
11 changes: 5 additions & 6 deletions central/audit/audit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ func (suite *AuditLogTestSuite) TestPermissionsRemoval() {
suite.identityMock.EXPECT().Service().Return(nil).AnyTimes()
suite.identityMock.EXPECT().User().Return(userInfo).AnyTimes()

ctxWithMockIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock,
suite.T())
ctxWithMockIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock)

a := &audit{}
withPermissions := a.newAuditMessage(ctxWithMockIdentity, "this is a test", "/v1./Test",
Expand All @@ -140,7 +139,7 @@ func (suite *AuditLogTestSuite) TestServiceRequestsForInternalTokenEndpointAreAu
suite.identityMock.EXPECT().Service().Return(serviceIdentity).AnyTimes()
suite.identityMock.EXPECT().User().Return(nil).AnyTimes()

ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock, suite.T())
ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock)
ctxWithAuth := interceptor.ContextWithAuthStatus(ctxWithServiceIdentity, nil)

a := &audit{notifications: suite.notifierMock}
Expand Down Expand Up @@ -169,7 +168,7 @@ func (suite *AuditLogTestSuite) TestServiceRequestsForOtherEndpointsAreNotAudite
}
suite.identityMock.EXPECT().Service().Return(serviceIdentity).AnyTimes()

ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock, suite.T())
ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock)
ctxWithAuth := interceptor.ContextWithAuthStatus(ctxWithServiceIdentity, nil)

a := &audit{notifications: suite.notifierMock}
Expand All @@ -191,7 +190,7 @@ func (suite *AuditLogTestSuite) TestServiceRequestsForInternalTokenEndpointWithA
suite.identityMock.EXPECT().Service().Return(serviceIdentity).AnyTimes()
suite.identityMock.EXPECT().User().Return(nil).AnyTimes()

ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock, suite.T())
ctxWithServiceIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock)
ctxWithAuth := interceptor.ContextWithAuthStatus(ctxWithServiceIdentity, nil)

a := &audit{notifications: suite.notifierMock}
Expand Down Expand Up @@ -219,7 +218,7 @@ func (suite *AuditLogTestSuite) TestUserRequestsContinueToBeAudited() {
suite.identityMock.EXPECT().Service().Return(nil).AnyTimes()
suite.identityMock.EXPECT().User().Return(userInfo).AnyTimes()

ctxWithUserIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock, suite.T())
ctxWithUserIdentity := authn.ContextWithIdentity(context.Background(), suite.identityMock)
ctxWithAuth := interceptor.ContextWithAuthStatus(ctxWithUserIdentity, nil)

a := &audit{notifications: suite.notifierMock}
Expand Down
4 changes: 2 additions & 2 deletions central/auth/internaltokens/service/policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ func TestEnforce(t *testing.T) {
ctrl := gomock.NewController(t)
mockIdentity := authnMocks.NewMockIdentity(ctrl)
mockIdentity.EXPECT().Service().Return(nil).AnyTimes()
ctx := authn.ContextWithIdentity(t.Context(), mockIdentity, t)
ctx := authn.ContextWithIdentity(t.Context(), mockIdentity)

req := &v1.GenerateTokenForPermissionsAndScopeRequest{
Permissions: map[string]v1.Access{"Deployment": v1.Access_READ_ACCESS},
Expand All @@ -284,7 +284,7 @@ func TestEnforce(t *testing.T) {
Id: "some-service-id",
Type: storage.ServiceType_CENTRAL_SERVICE,
}).AnyTimes()
ctx := authn.ContextWithIdentity(t.Context(), mockIdentity, t)
ctx := authn.ContextWithIdentity(t.Context(), mockIdentity)

req := &v1.GenerateTokenForPermissionsAndScopeRequest{
Permissions: map[string]v1.Access{"Deployment": v1.Access_READ_ACCESS},
Expand Down
2 changes: 1 addition & 1 deletion central/auth/internaltokens/service/service_impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func sensorContext(t testing.TB, ctrl *gomock.Controller, clusterID string) cont
Id: clusterID,
Type: storage.ServiceType_SENSOR_SERVICE,
}).AnyTimes()
return authn.ContextWithIdentity(t.Context(), mockIdentity, t)
return authn.ContextWithIdentity(t.Context(), mockIdentity)
}

func TestGetExpiresAt(t *testing.T) {
Expand Down
8 changes: 4 additions & 4 deletions central/auth/service/service_impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ func (s *authServiceAccessControlTestSuite) SetupSuite() {
)
s.Require().NoError(err)
s.authProvider = authProvider
s.withAdminRoleCtx = basic.ContextWithAdminIdentity(s.T(), s.authProvider)
s.withNoneRoleCtx = basic.ContextWithNoneIdentity(s.T(), s.authProvider)
s.withNoAccessCtx = basic.ContextWithNoAccessIdentity(s.T(), s.authProvider)
s.withNoRoleCtx = basic.ContextWithNoRoleIdentity(s.T(), s.authProvider)
s.withAdminRoleCtx = basic.ContextWithAdminIdentity(s.authProvider)
s.withNoneRoleCtx = basic.ContextWithNoneIdentity(s.authProvider)
s.withNoAccessCtx = basic.ContextWithNoAccessIdentity(s.authProvider)
s.withNoRoleCtx = basic.ContextWithNoRoleIdentity(s.authProvider)
s.anonymousCtx = context.Background()

s.accessCtx = sac.WithGlobalAccessScopeChecker(context.Background(),
Expand Down
2 changes: 1 addition & 1 deletion central/auth/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions central/baseimage/datastore/repository/datastore_impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ func (s *BaseImageRepositoryDatastoreTestSuite) SetupSuite() {
sac.AccessModeScopeKeys(storage.Access_READ_ACCESS, storage.Access_READ_WRITE_ACCESS),
sac.ResourceScopeKeys(resources.ImageAdministration),
))
s.imgAdminCtx = authn.ContextWithIdentity(ctx, mockID, s.T())
s.imgAdminCtx = authn.ContextWithIdentity(ctx, mockID)

ctx = sac.WithGlobalAccessScopeChecker(context.Background(), sac.DenyAllAccessScopeChecker())
s.normalUserCtx = authn.ContextWithIdentity(ctx, mockID, s.T())
s.normalUserCtx = authn.ContextWithIdentity(ctx, mockID)
}

func (s *BaseImageRepositoryDatastoreTestSuite) SetupTest() {
Expand Down Expand Up @@ -183,7 +183,7 @@ func (s *BaseImageRepositoryDatastoreTestSuite) TestListRepositoriesAccessDenied
)
s.Require().NoError(err)

noAccessCtx := sac.WithNoAccess(basic.ContextWithNoAccessIdentity(s.T(), authProvider))
noAccessCtx := sac.WithNoAccess(basic.ContextWithNoAccessIdentity(authProvider))

repos, err := s.datastore.ListRepositories(noAccessCtx)
s.Error(err, "ListRepositories should fail for user with no access")
Expand Down
2 changes: 1 addition & 1 deletion central/baseimage/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/baseimage/store/repository/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/baseimage/store/tag/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/baseimagelayer/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/blob/datastore/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/cluster/datastore/datastore_sac_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func (s *clusterDatastoreSACSuite) SetupSuite() {
s.NotNil(s.pgTestBase)
s.datastore, err = GetTestPostgresDataStore(s.T(), s.pgTestBase.DB)
s.Require().NoError(err)
s.optionsMap = schema.ClustersSchema.OptionsMap
s.optionsMap = schema.ClustersSchema().OptionsMap
s.testContexts = testutils.GetNamespaceScopedTestContexts(context.Background(), s.T(), resources.Cluster)
}

Expand Down
2 changes: 1 addition & 1 deletion central/cluster/store/cluster/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/cluster/store/clusterhealth/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/clustercveedge/datastore/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion central/clusterinit/store/postgres/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions central/compliance/aggregation/aggregation.go
Original file line number Diff line number Diff line change
Expand Up @@ -611,17 +611,17 @@ func (a *aggregatorImpl) getSearchFuncs() map[storage.ComplianceAggregation_Scop
storage.ComplianceAggregation_CLUSTER: {
searchFunc: a.clusters.Search,
countFunc: a.clusters.Count,
optionsMap: schema.ClustersSchema.OptionsMap,
optionsMap: schema.ClustersSchema().OptionsMap,
},
storage.ComplianceAggregation_NODE: {
searchFunc: a.nodes.Search,
countFunc: a.nodes.Count,
optionsMap: schema.NodesSchema.OptionsMap,
optionsMap: schema.NodesSchema().OptionsMap,
},
storage.ComplianceAggregation_NAMESPACE: {
searchFunc: a.namespaces.Search,
countFunc: a.namespaces.Count,
optionsMap: schema.NamespacesSchema.OptionsMap,
optionsMap: schema.NamespacesSchema().OptionsMap,
},
storage.ComplianceAggregation_CONTROL: {
searchFunc: wrapContextLessSearchFunc(a.standards.SearchControls),
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading