Skip to content

Conversation

@rolbk
Copy link
Contributor

@rolbk rolbk commented Jan 16, 2026

This PR refactors the daemon codebase to prepare for standalone operation support. It separates concerns and moves reusable components to pkg/daemon.

This is part 1 of a series splitting #4853 into smaller, reviewable PRs. The original PR will be closed.

Main Changes

  • Split daemon server: Separated the existing daemon gRPC server into transport (daemon/grpc/server.go) and core logic (DaemonEngine in pkg/daemon/private/engine) components. The engine contains the business logic, independent of transport.

  • Move fetcher to pkg: Relocated daemon/fetcher to pkg/daemon/fetcher to make it accessible for in-process usage.

  • Move drkey to private: Relocated daemon/drkey to private/drkey as it is shared infrastructure.

  • Add ASInfo abstraction: Introduced pkg/daemon/asinfo to provide local AS information from topology files.

  • Add trust utilities: Created pkg/daemon/private/trust with helpers for trust verification setup.

  • Add AcceptAll verifier: Added private/segment/verifier/acceptall.go for scenarios where segment verification should be skipped.

  • Rename daemon.go to connector.go: Clarified the purpose of the Connector interface in pkg/daemon.

@JordiSubira JordiSubira changed the title daemon: Refactor and modularize daemon and pkg/daemon daemon: refactor and modularize daemon and pkg/daemon Jan 16, 2026
@JordiSubira JordiSubira merged commit dc2bb39 into scionproto:master Jan 16, 2026
4 of 5 checks passed
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.

3 participants