Skip to content

slog migration: service layer + subsystem libraries - #40661

Merged
getvictor merged 3 commits into
mainfrom
victor/40054-slog-subsystems
Feb 26, 2026
Merged

slog migration: service layer + subsystem libraries#40661
getvictor merged 3 commits into
mainfrom
victor/40054-slog-subsystems

Conversation

@getvictor

@getvictor getvictor commented Feb 26, 2026

Copy link
Copy Markdown
Member

Related issue: Resolves #40540

Checklist for submitter

  • Changes file added for user-visible changes in changes/, orbit/changes/ or ee/fleetd-chrome/changes.
    • Changes present in previous PR

Testing

  • Added/updated automated tests
  • QA'd all new/changed functionality manually

Summary by CodeRabbit

  • Refactor
    • Updated internal logging infrastructure to improve consistency and maintainability across the application.

@getvictor

Copy link
Copy Markdown
Member Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Feb 26, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Full review triggered.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Continues the slog migration by converting service-layer code paths and related subsystems (MDM/SCEP, handlers, async tasks, launcher, health checks, and EE services) to accept and use *log/slog.Logger, updating call sites, adapters, and tests accordingly.

Changes:

  • Replace many *platform/logging.Logger (and go-kit level) usages with *slog.Logger and InfoContext/DebugContext/ErrorContext.
  • Update HTTP/gRPC wiring (handlers, middleware, SCEP transports) to pass the correct logger type, using adapters where needed.
  • Update unit/integration tests and small tools/commands to construct slog loggers or pass .SlogLogger().

Reviewed changes

Copilot reviewed 87 out of 87 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tools/mdm/apple/apnspush/main.go Passes slog logger into NanoMDM logger adapter.
server/service/testing_utils.go Test server/service wiring updated to pass *slog.Logger into constructors/handlers.
server/service/software_installers_test.go Replaces nop platform logger with slog discard logger in test call.
server/service/service_campaigns.go Migrates campaign streaming logging and function signatures to *slog.Logger.
server/service/service_campaign_test.go Updates campaign tests to use slog discard logger.
server/service/service.go Changes core Service.logger field and NewService signature to *slog.Logger.
server/service/osquery_test.go Updates tests to use slog discard logger and new getHostIdentifier signature.
server/service/osquery.go Migrates osquery service logging to slog; passes ctx through where needed.
server/service/orbit_test.go Updates orbit tests to use slog discard logger.
server/service/orbit.go Passes *slog.Logger to worker queue functions.
server/service/mdm_scep.go Migrates SCEP service logger type to *slog.Logger and wraps for smallstep SCEP.
server/service/integrationtest/scep_server/scep.go Updates SCEP handler creation to use logger.SlogLogger().
server/service/integration_mdm_test.go Updates integration tests to pass slog loggers into MDM/SCEP functions.
server/service/integration_mdm_profiles_test.go Updates profile reconciliation calls to pass slog logger.
server/service/integration_mdm_lifecycle_test.go Updates renewal cron test calls to pass slog logger.
server/service/integration_mdm_ddm_test.go Updates DDM reconciliation calls to pass slog logger.
server/service/integration_enterprise_test.go Updates uninstall migration calls to pass slog logger.
server/service/hosts_test.go Updates tests to construct service with *slog.Logger.
server/service/hosts.go Passes *slog.Logger into worker job queue calls.
server/service/handler_test.go Updates handler tests to use slog discard logger.
server/service/handler.go Changes handler construction to accept *slog.Logger and updates setup/MDM wiring.
server/service/frontend_test.go Updates frontend tests to use slog text logger.
server/service/frontend.go Changes frontend handlers to accept *slog.Logger and logs with request context.
server/service/endpoint_utils.go Updates endpointer constructors to accept *slog.Logger.
server/service/endpoint_setup_test.go Updates setup endpoint tests to pass slog discard logger.
server/service/endpoint_setup.go Migrates setup/starter library code to *slog.Logger and context logging.
server/service/endpoint_middleware_test.go Updates middleware tests to pass slog discard logger.
server/service/endpoint_middleware.go Migrates auth middleware logging and debug JSON logging to *slog.Logger.
server/service/endpoint_campaigns.go Updates websocket campaign handler to accept *slog.Logger and use context logging.
server/service/devices_url_auth_test.go Updates device URL auth middleware test to use slog discard logger.
server/service/conditional_access_microsoft.go Migrates one log site to WarnContext.
server/service/certificates.go Migrates certificate status logs to InfoContext.
server/service/async/async.go Changes async collectors to accept *slog.Logger and migrate logs.
server/service/apple_mdm_test.go Updates MDM tests to use slog loggers and updated constructors.
server/service/apple_mdm_ddm_test.go Updates DDM test to store *slog.Logger.
server/service/apple_mdm_cmd_results.go Updates results handlers to accept *slog.Logger and pass into worker queues.
server/service/apple_mdm.go Migrates many MDM functions and services to accept *slog.Logger.
server/mdm/scep/server/transport_test.go Updates transport tests to pass *slog.Logger.
server/mdm/scep/server/transport.go Changes HTTP handler constructors to accept *slog.Logger and adapt to go-kit logging where required.
server/mdm/scep/server/service_logging.go Migrates SCEP service logging middleware to *slog.Logger.
server/mdm/scep/server/service.go Migrates SCEP service debug logger to *slog.Logger and wraps for smallstep SCEP.
server/mdm/scep/server/endpoint.go Migrates endpoint logging middleware to slog with attrs.
server/mdm/scep/csrverifier/executable/csrverifier.go Migrates verifier logging to *slog.Logger.
server/mdm/scep/cmd/scepserver/scepserver.go Migrates CLI server logging setup to create *slog.Logger directly.
server/mdm/scep/cmd/scepclient/scepclient.go Migrates CLI client logging to *slog.Logger and adapts for smallstep SCEP.
server/mdm/scep/client/client.go Updates SCEP client constructor to accept *slog.Logger.
server/mdm/lifecycle/lifecycle_test.go Updates lifecycle tests to use slog discard logger.
server/mdm/lifecycle/lifecycle.go Migrates lifecycle logger field/signature to *slog.Logger and updates worker queue calls.
server/launcher/server.go Updates launcher server wiring to accept *slog.Logger and adapts to go-kit logging.
server/launcher/launcher_test.go Updates launcher tests to use slog discard logger.
server/launcher/launcher.go Migrates launcher wrapper logger field to *slog.Logger.
server/health/health_test.go Updates health tests to use slog discard logger.
server/health/health.go Migrates health handler to accept *slog.Logger and uses context logging.
pkg/mdm/mdmtest/apple.go Updates SCEP endpoint logging middleware usage to pass slog logger.
ee/server/service/vpp.go Passes *slog.Logger into worker job queue calls.
ee/server/service/testing_utils.go Updates EE SCEP test server handler to use logger.SlogLogger().
ee/server/service/teams.go Passes *slog.Logger into worker job queue calls.
ee/server/service/software_installers.go Migrates EE installer service logging and migration functions to *slog.Logger.
ee/server/service/service.go Migrates EE service logger field/signature to *slog.Logger and updates DEP service creation.
ee/server/service/scep_proxy_test.go Updates tests to use slog discard logger.
ee/server/service/scep_proxy.go Migrates SCEP proxy/config services to *slog.Logger and replaces go-kit level logging.
ee/server/service/request_certificate_test.go Updates test to use slog text logger.
ee/server/service/mdm_external_test.go Updates EE service constructors to receive logger.SlogLogger().
ee/server/service/mdm.go Passes *slog.Logger into worker/ABM functions and updates log calls.
ee/server/service/maintained_apps.go Migrates warning log to WarnContext.
ee/server/service/hostidentity/scep.go Migrates host identity SCEP service/middleware to *slog.Logger and wraps for smallstep SCEP.
ee/server/service/hostidentity/httpsig/middleware.go Migrates httpsig middleware to *slog.Logger logging calls.
ee/server/service/hostidentity/httpsig/httpsig.go Migrates httpsig verifier/logger to *slog.Logger.
ee/server/service/est/est.go Migrates EST service logger type/default initialization to slog and updates error logging.
ee/server/service/digicert/digicert.go Migrates DigiCert service logger type/default initialization to slog.
ee/server/service/devices.go Updates webhook posting to use *slog.Logger.
ee/server/service/condaccess/scep.go Migrates conditional access SCEP service to *slog.Logger and wraps for smallstep SCEP.
ee/server/service/condaccess/idp_test.go Updates IdP tests to use slog discard logger.
ee/server/service/condaccess/idp.go Migrates IdP service to *slog.Logger and updates internal error handling logging.
ee/server/service/certificate_authorities_test.go Updates CA tests to use slog text logger.
ee/server/service/calendar_test.go Updates calendar tests to use slog discard logger.
ee/server/service/calendar.go Passes *slog.Logger directly to calendar helpers.
ee/server/integrationtest/hostidentity/scep_rate_limit_test.go Updates SCEP client creation to pass logger.SlogLogger().
ee/server/integrationtest/hostidentity/hostidentity_test.go Updates SCEP client creation to pass logger.SlogLogger().
ee/server/integrationtest/condaccess/condaccess_test.go Updates SCEP client creation to pass logger.SlogLogger().
ee/orbit/pkg/scep/scep_test.go Updates orbit SCEP test server handler to pass logger.SlogLogger().
ee/orbit/pkg/scep/scep.go Updates orbit SCEP client creation to pass *slog.Logger (and keep adapter where needed).
cmd/osquery-perf/hostidentity/hostidentity.go Updates perf tool to pass *slog.Logger into SCEP client.
cmd/fleetctl/integrationtest/gitops/gitops_enterprise_integration_test.go Updates test setup to create SCEP config service with *slog.Logger.
cmd/fleetctl/fleetctl/preview.go Passes logger.SlogLogger() into starter library application.
cmd/fleet/serve.go Updates service wiring to pass logger.SlogLogger() into slog-migrated constructors and middleware.
cmd/fleet/cron.go Updates cron jobs to pass logger.SlogLogger() into migrated functions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread server/service/endpoint_middleware.go
Comment thread server/service/mdm_scep.go
@coderabbitai

coderabbitai Bot commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This pull request migrates logging infrastructure from go-kit/platform logging to Go's standard library slog across multiple service layers. Function signatures are updated to accept *slog.Logger instead of *logging.Logger, logging calls are replaced with context-aware slog methods (ErrorContext, InfoContext, etc.), and call sites are updated to pass the appropriate slog logger instances. Tests are updated to use slog.New(slog.DiscardHandler) instead of previous no-op loggers. Imports are adjusted to use log/slog while removing references to the old logging package.

Possibly related PRs

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 42.86% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning The pull request description is incomplete and does not follow the provided template structure. Complete the checklist items, particularly: add changes files (or confirm location if present), provide test details, verify database migrations checks, and document any new configuration settings or GitOps considerations.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'slog migration: service layer + subsystem libraries' clearly and concisely describes the primary objective of migrating logging to slog across service layer and subsystem libraries.
Linked Issues check ✅ Passed The linked issue #40054 indicates this PR is part of a slog migration effort, continuing from #38889. The code changes comprehensively migrate logging from custom/platform logging to slog across service layer, subsystems, handlers, and test files, fully aligning with the migration objective.
Out of Scope Changes check ✅ Passed All changes in this PR are within the scope of slog migration, consistently replacing logging.Logger with slog.Logger, updating function signatures, imports, and logging calls across the service layer and subsystems without introducing unrelated functionality.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch victor/40054-slog-subsystems

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ee/server/service/hostidentity/httpsig/httpsig.go (1)

35-39: ⚠️ Potential issue | 🟡 Minor

Add nil check for logger to prevent panic in error paths.

The logger parameter can be nil, yet the FetchByKeyID method calls h.logger.InfoContext() and h.logger.ErrorContext() directly at multiple error paths (lines 53, 62, 68, 80). This will panic if logger is nil.

Proposed fix
 func NewHTTPSig(ds fleet.Datastore, logger *slog.Logger) *HTTPSig {
+	if logger == nil {
+		logger = slog.Default()
+	}
 	return &HTTPSig{
 		ds:     ds,
 		logger: logger,
 	}
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ee/server/service/hostidentity/httpsig/httpsig.go` around lines 35 - 39,
NewHTTPSig may receive a nil logger which causes panics when FetchByKeyID calls
h.logger.InfoContext/ErrorContext; update NewHTTPSig to guard against a nil
logger by assigning a no-op/default slog.Logger when logger==nil (so
HTTPSig.logger is always non-nil), and keep existing uses in FetchByKeyID
unchanged; reference the NewHTTPSig constructor and the HTTPSig.logger field to
locate the change.
🧹 Nitpick comments (5)
server/service/apple_mdm_ddm_test.go (1)

23-26: Consider using a discard handler for cleaner test output.

The slog migration is correctly implemented. However, using slog.NewTextHandler(os.Stdout, nil) will output logs during test runs, which can add noise. Consider using a discard handler for quieter test output:

 	ddmService := MDMAppleDDMService{
 		ds:     ds,
-		logger: slog.New(slog.NewTextHandler(os.Stdout, nil)),
+		logger: slog.New(slog.DiscardHandler),
 	}

Alternatively, if you want to preserve the ability to see logs when debugging, keeping stdout is acceptable.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@server/service/apple_mdm_ddm_test.go` around lines 23 - 26, Replace the test
logger that writes to stdout with a discard handler to avoid noisy test output:
in the MDMAppleDDMService test setup, update the logger creation (the logger
field on MDMAppleDDMService) to use slog.NewTextHandler with io.Discard (e.g.,
slog.New(slog.NewTextHandler(io.Discard, nil))) so logs are suppressed during
test runs; keep the existing logger field and MDMAppleDDMService instantiation
otherwise so you can revert to stdout when debugging.
server/mdm/scep/cmd/scepserver/scepserver.go (1)

98-98: Consider using context.Background() instead of context.TODO().

For a main function that serves as the root of execution with no parent context, context.Background() is more idiomatic. context.TODO() is intended for code where the appropriate context is unclear or the function hasn't been extended to accept a context parameter yet.

🔧 Suggested fix
-	ctx := context.TODO()
+	ctx := context.Background()
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@server/mdm/scep/cmd/scepserver/scepserver.go` at line 98, Replace the use of
context.TODO() with context.Background() for the root context; specifically
update the ctx variable initialization (ctx := context.TODO()) in the scepserver
main setup to ctx := context.Background() so the main/root execution uses the
idiomatic background context.
ee/server/service/request_certificate_test.go (1)

153-153: Use a discard logger in tests to avoid stdout noise.
This test doesn't assert logs, so emitting to os.Stdout adds CI noise and can leak payload-like data into logs unnecessarily. The codebase pattern is to use slog.DiscardHandler in tests.

Proposed diff
 import (
 	"context"
 	"encoding/json"
 	"log/slog"
 	"net/http"
 	"net/http/httptest"
-	"os"
 	"testing"
 	"time"
@@
-		logger := slog.New(slog.NewTextHandler(os.Stdout, nil))
+		logger := slog.New(slog.DiscardHandler)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ee/server/service/request_certificate_test.go` at line 153, Replace the test
logger that writes to stdout with a discard logger to avoid CI noise: change the
logger construction (the line creating logger :=
slog.New(slog.NewTextHandler(os.Stdout, nil))) to use slog.DiscardHandler (e.g.,
logger := slog.New(slog.DiscardHandler())) so the test emits no logs; ensure any
required imports for slog.DiscardHandler are present.
server/mdm/scep/csrverifier/executable/csrverifier.go (1)

60-65: Consider propagating context through the interface.

The use of context.TODO() works but loses contextual information for tracing and logging. This is acceptable given the current Verify(data []byte) interface signature, but if this interface is ever refactored, consider adding context as a parameter.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@server/mdm/scep/csrverifier/executable/csrverifier.go` around lines 60 - 65,
The Verify implementation currently calls cmd.Run() and logs errors with
context.TODO(), which loses caller context; update the interface and
implementation to accept a context so tracing/metadata can be preserved: change
the Verify(data []byte) signature to Verify(ctx context.Context, data []byte),
propagate the ctx into csrverifier executable call sites and into the logging
call (replace context.TODO() with the passed ctx) inside the csrverifier.go
method that runs cmd.Run(), and adjust all callers of Verify and any tests to
pass through their ctx accordingly while keeping the same boolean/error return
semantics.
server/service/handler.go (1)

1168-1180: Unused logger parameter in RedirectSetupToLogin.

The logger parameter is accepted but never used within the function body. This may be intentional for API consistency with sibling functions, but consider either using it for potential error logging or documenting why it's kept for signature parity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@server/service/handler.go` around lines 1168 - 1180, The RedirectSetupToLogin
function currently accepts a logger parameter that is never used; to fix this,
use the provided logger inside RedirectSetupToLogin (e.g., log an
informational/debug message when the handler performs the redirect) so the
parameter is meaningful and avoids unused-parameter warnings—add a logger call
in the branch where r.URL.Path == "/setup" that records the redirect target
(newURL.String()) and any useful context (e.g., request path or remote addr);
alternatively, if signature parity is not required, remove the logger parameter
from RedirectSetupToLogin and update its call sites accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@ee/server/service/hostidentity/httpsig/middleware.go`:
- Around line 51-53: Middleware currently passes a nil logger into NewHTTPSig
which leads to panics when the httpsig code dereferences logger (e.g.,
FetchByKeyID); ensure a non-nil logger is always used by adding a guard in
Middleware: if logger == nil, replace it with a safe default (e.g., a no-op or
standard slog logger) before calling NewHTTPSig(ds, logger). Also update
NewHTTPSig (and the httpsig type) so it enforces/stores a non-nil logger and add
defensive nil checks in FetchByKeyID (and any other methods that use the logger)
to avoid direct dereferences when logger somehow remains nil.

In `@server/service/endpoint_middleware.go`:
- Line 121: The log call is passing the wrong variable: at the device debug path
change the logged value from request to the actual response variable resp so
logJSON(ctx, hlogger, resp, "response") is used; locate the call to logJSON
where ctx, hlogger, request, "response" are passed (around the device debug
path) and replace the third argument with resp to correctly log the response
payload.

In `@server/service/mdm_scep.go`:
- Around line 87-91: NewSCEPService currently ignores the injected logger and
always sets debugLogger to slog.New(slog.DiscardHandler); change it to use the
provided logger so signing-path failures are logged: in the NewSCEPService
constructor assign the injected logger parameter to the service.debugLogger
field (i.e., set debugLogger: logger) instead of slog.New(slog.DiscardHandler);
reference the NewSCEPService function and the service struct fields signer,
debugLogger, and ds when making the change.

In `@server/service/osquery.go`:
- Around line 289-291: The log call to logger.InfoContext(ctx, "could not get
host identifier", ...) uses the wrong "reason" text ("missing instance_id in
osquery_info") when the code is actually checking for uuid or hostname; update
the reason strings in the failing branches to accurately reflect the missing
field being checked (e.g., "missing uuid in osquery_info" and "missing hostname
in osquery_info") for the logger.InfoContext calls and any other similar log
invocations in the same function (the other occurrence around the
logger.InfoContext call at 305-307) so each branch reports the correct
identifier type; keep the surrounding keys ("identifier", etc.) unchanged.

---

Outside diff comments:
In `@ee/server/service/hostidentity/httpsig/httpsig.go`:
- Around line 35-39: NewHTTPSig may receive a nil logger which causes panics
when FetchByKeyID calls h.logger.InfoContext/ErrorContext; update NewHTTPSig to
guard against a nil logger by assigning a no-op/default slog.Logger when
logger==nil (so HTTPSig.logger is always non-nil), and keep existing uses in
FetchByKeyID unchanged; reference the NewHTTPSig constructor and the
HTTPSig.logger field to locate the change.

---

Nitpick comments:
In `@ee/server/service/request_certificate_test.go`:
- Line 153: Replace the test logger that writes to stdout with a discard logger
to avoid CI noise: change the logger construction (the line creating logger :=
slog.New(slog.NewTextHandler(os.Stdout, nil))) to use slog.DiscardHandler (e.g.,
logger := slog.New(slog.DiscardHandler())) so the test emits no logs; ensure any
required imports for slog.DiscardHandler are present.

In `@server/mdm/scep/cmd/scepserver/scepserver.go`:
- Line 98: Replace the use of context.TODO() with context.Background() for the
root context; specifically update the ctx variable initialization (ctx :=
context.TODO()) in the scepserver main setup to ctx := context.Background() so
the main/root execution uses the idiomatic background context.

In `@server/mdm/scep/csrverifier/executable/csrverifier.go`:
- Around line 60-65: The Verify implementation currently calls cmd.Run() and
logs errors with context.TODO(), which loses caller context; update the
interface and implementation to accept a context so tracing/metadata can be
preserved: change the Verify(data []byte) signature to Verify(ctx
context.Context, data []byte), propagate the ctx into csrverifier executable
call sites and into the logging call (replace context.TODO() with the passed
ctx) inside the csrverifier.go method that runs cmd.Run(), and adjust all
callers of Verify and any tests to pass through their ctx accordingly while
keeping the same boolean/error return semantics.

In `@server/service/apple_mdm_ddm_test.go`:
- Around line 23-26: Replace the test logger that writes to stdout with a
discard handler to avoid noisy test output: in the MDMAppleDDMService test
setup, update the logger creation (the logger field on MDMAppleDDMService) to
use slog.NewTextHandler with io.Discard (e.g.,
slog.New(slog.NewTextHandler(io.Discard, nil))) so logs are suppressed during
test runs; keep the existing logger field and MDMAppleDDMService instantiation
otherwise so you can revert to stdout when debugging.

In `@server/service/handler.go`:
- Around line 1168-1180: The RedirectSetupToLogin function currently accepts a
logger parameter that is never used; to fix this, use the provided logger inside
RedirectSetupToLogin (e.g., log an informational/debug message when the handler
performs the redirect) so the parameter is meaningful and avoids
unused-parameter warnings—add a logger call in the branch where r.URL.Path ==
"/setup" that records the redirect target (newURL.String()) and any useful
context (e.g., request path or remote addr); alternatively, if signature parity
is not required, remove the logger parameter from RedirectSetupToLogin and
update its call sites accordingly.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b9a9cb6 and 39cba20.

📒 Files selected for processing (87)
  • cmd/fleet/cron.go
  • cmd/fleet/serve.go
  • cmd/fleetctl/fleetctl/preview.go
  • cmd/fleetctl/integrationtest/gitops/gitops_enterprise_integration_test.go
  • cmd/osquery-perf/hostidentity/hostidentity.go
  • ee/orbit/pkg/scep/scep.go
  • ee/orbit/pkg/scep/scep_test.go
  • ee/server/integrationtest/condaccess/condaccess_test.go
  • ee/server/integrationtest/hostidentity/hostidentity_test.go
  • ee/server/integrationtest/hostidentity/scep_rate_limit_test.go
  • ee/server/service/calendar.go
  • ee/server/service/calendar_test.go
  • ee/server/service/certificate_authorities_test.go
  • ee/server/service/condaccess/idp.go
  • ee/server/service/condaccess/idp_test.go
  • ee/server/service/condaccess/scep.go
  • ee/server/service/devices.go
  • ee/server/service/digicert/digicert.go
  • ee/server/service/est/est.go
  • ee/server/service/hostidentity/httpsig/httpsig.go
  • ee/server/service/hostidentity/httpsig/middleware.go
  • ee/server/service/hostidentity/scep.go
  • ee/server/service/maintained_apps.go
  • ee/server/service/mdm.go
  • ee/server/service/mdm_external_test.go
  • ee/server/service/request_certificate_test.go
  • ee/server/service/scep_proxy.go
  • ee/server/service/scep_proxy_test.go
  • ee/server/service/service.go
  • ee/server/service/software_installers.go
  • ee/server/service/teams.go
  • ee/server/service/testing_utils.go
  • ee/server/service/vpp.go
  • pkg/mdm/mdmtest/apple.go
  • server/health/health.go
  • server/health/health_test.go
  • server/launcher/launcher.go
  • server/launcher/launcher_test.go
  • server/launcher/server.go
  • server/mdm/lifecycle/lifecycle.go
  • server/mdm/lifecycle/lifecycle_test.go
  • server/mdm/scep/client/client.go
  • server/mdm/scep/cmd/scepclient/scepclient.go
  • server/mdm/scep/cmd/scepserver/scepserver.go
  • server/mdm/scep/csrverifier/executable/csrverifier.go
  • server/mdm/scep/server/endpoint.go
  • server/mdm/scep/server/service.go
  • server/mdm/scep/server/service_logging.go
  • server/mdm/scep/server/transport.go
  • server/mdm/scep/server/transport_test.go
  • server/service/apple_mdm.go
  • server/service/apple_mdm_cmd_results.go
  • server/service/apple_mdm_ddm_test.go
  • server/service/apple_mdm_test.go
  • server/service/async/async.go
  • server/service/certificates.go
  • server/service/conditional_access_microsoft.go
  • server/service/devices_url_auth_test.go
  • server/service/endpoint_campaigns.go
  • server/service/endpoint_middleware.go
  • server/service/endpoint_middleware_test.go
  • server/service/endpoint_setup.go
  • server/service/endpoint_setup_test.go
  • server/service/endpoint_utils.go
  • server/service/frontend.go
  • server/service/frontend_test.go
  • server/service/handler.go
  • server/service/handler_test.go
  • server/service/hosts.go
  • server/service/hosts_test.go
  • server/service/integration_enterprise_test.go
  • server/service/integration_mdm_ddm_test.go
  • server/service/integration_mdm_lifecycle_test.go
  • server/service/integration_mdm_profiles_test.go
  • server/service/integration_mdm_test.go
  • server/service/integrationtest/scep_server/scep.go
  • server/service/mdm_scep.go
  • server/service/orbit.go
  • server/service/orbit_test.go
  • server/service/osquery.go
  • server/service/osquery_test.go
  • server/service/service.go
  • server/service/service_campaign_test.go
  • server/service/service_campaigns.go
  • server/service/software_installers_test.go
  • server/service/testing_utils.go
  • tools/mdm/apple/apnspush/main.go

Comment thread ee/server/service/hostidentity/httpsig/middleware.go
Comment thread server/service/endpoint_middleware.go Outdated
Comment thread server/service/mdm_scep.go
Comment thread server/service/osquery.go
@getvictor
getvictor marked this pull request as ready for review February 26, 2026 22:50
@getvictor
getvictor requested a review from a team as a code owner February 26, 2026 22:50
@iansltx

iansltx commented Feb 26, 2026

Copy link
Copy Markdown
Contributor

Unassigning myself as betwen other priorities on my plate and the size of this PR, this will exceed the 24h PR time to merge KPI if it's assigned to me.

@iansltx iansltx removed their assignment Feb 26, 2026
@getvictor
getvictor merged commit 4dfdc87 into main Feb 26, 2026
43 checks passed
@getvictor
getvictor deleted the victor/40054-slog-subsystems branch February 26, 2026 23:40
@codecov

codecov Bot commented Feb 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 47.30679% with 225 lines in your changes missing coverage. Please review.
✅ Project coverage is 66.29%. Comparing base (5a1b644) to head (65fe038).
⚠️ Report is 8 commits behind head on main.

Files with missing lines Patch % Lines
server/service/osquery.go 52.56% 37 Missing ⚠️
cmd/fleet/serve.go 0.00% 26 Missing ⚠️
server/service/frontend.go 15.00% 15 Missing and 2 partials ⚠️
server/service/service_campaigns.go 0.00% 17 Missing ⚠️
ee/server/service/software_installers.go 28.57% 15 Missing ⚠️
server/mdm/scep/cmd/scepserver/scepserver.go 0.00% 13 Missing ⚠️
server/mdm/scep/cmd/scepclient/scepclient.go 0.00% 11 Missing ⚠️
server/service/handler.go 60.00% 10 Missing ⚠️
server/service/endpoint_middleware.go 18.18% 9 Missing ⚠️
cmd/fleet/cron.go 0.00% 7 Missing ⚠️
... and 20 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #40661      +/-   ##
==========================================
- Coverage   66.29%   66.29%   -0.01%     
==========================================
  Files        2466     2466              
  Lines      197394   197557     +163     
  Branches     8764     8727      -37     
==========================================
+ Hits       130863   130963     +100     
- Misses      54682    54744      +62     
- Partials    11849    11850       +1     
Flag Coverage Δ
backend 68.17% <47.30%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

slog migration (3)

4 participants