Skip to content

Replace onebox graph with NewServerFx [wip]#10319

Draft
stephanos wants to merge 16 commits into
mainfrom
stephanos/rm-onebox
Draft

Replace onebox graph with NewServerFx [wip]#10319
stephanos wants to merge 16 commits into
mainfrom
stephanos/rm-onebox

Conversation

@stephanos

@stephanos stephanos commented May 18, 2026

Copy link
Copy Markdown
Contributor

What changed?

This is the root onebox replacement branch. Keep it draft until the smaller PRs below land or get folded back intentionally.

Goal

tests/testcore/onebox.go should start services through temporal.NewServerFx instead of maintaining a separate per-service Fx graph. Any remaining bridge from onebox into the production graph should be either normal embedded-server configuration, a focused testhook, or test-owned client/setup code.

Split plan

The child PRs should each tell one coherent story:

Remaining pieces still need their own small PRs or an explicit decision before this parent can be reduced:

  • Keep onebox on temporal.NewServerFx and split the onebox-specific startup polish that remains: frontend HTTP config in per-service onebox configs.
  • Re-check the public temporal package diff. Keep only options that are justified outside onebox, especially WithTestHooks, WithChasmLibraries, and custom archiver factories.

Review framing

Review the final parent by boundary, not by old hook name:

  • server startup through the production graph
  • test-owned clients instead of graph-captured refs
  • focused observation hooks instead of broad customization hooks
  • suite-owned setup or real embedded-server extension points
  • readiness checks through observable APIs instead of internal cache refs

@stephanos stephanos force-pushed the stephanos/rm-onebox branch 14 times, most recently from 6e911b9 to d2bd371 Compare May 18, 2026 22:56
Comment thread tests/testcore/onebox.go
@@ -69,8 +59,6 @@ import (

type (
TemporalImpl struct {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

There are many more refactorings that can be done here, but keeping it to an absolute minimum here.

@stephanos stephanos force-pushed the stephanos/rm-onebox branch 3 times, most recently from e935010 to 4f3cee0 Compare May 18, 2026 23:04
@stephanos stephanos changed the title Replace onebox.go Replace onebox.go [wip] May 18, 2026
@stephanos stephanos force-pushed the stephanos/rm-onebox branch 11 times, most recently from 832deab to 6ea1fbd Compare May 19, 2026 02:57
@stephanos stephanos force-pushed the stephanos/rm-onebox branch 2 times, most recently from 98a8892 to 6357fc6 Compare June 5, 2026 19:54
// WithFxOptions appends fx options to a specific service's fx graph. This
// implies a dedicated cluster because custom fx options cannot be shared
// across tests.
func WithFxOptions(serviceName primitives.ServiceName, opts ...fx.Option) TestOption {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

unused

Comment thread tests/xdc/base.go
// RPCAddress and HTTPAddress will be filled in
},
}
clusterConfigs[clusterIndex].ServiceFxOptions = params.ServiceOptions

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

unused

@stephanos stephanos force-pushed the stephanos/rm-onebox branch 3 times, most recently from 4e8718a to 0f2897e Compare June 5, 2026 21:15
@stephanos stephanos force-pushed the stephanos/dlq-testhooks branch 2 times, most recently from c09a0a9 to a680fb1 Compare June 11, 2026 01:44
Base automatically changed from stephanos/dlq-testhooks to main June 11, 2026 19:44
@stephanos stephanos force-pushed the stephanos/rm-onebox branch from 0f2897e to 35162d8 Compare June 17, 2026 15:02
@stephanos stephanos force-pushed the stephanos/rm-onebox branch from 35162d8 to 0bf0200 Compare June 21, 2026 02:56
@stephanos stephanos changed the title Replace onebox.go [wip] Replace onebox graph with NewServerFx [wip] Jun 21, 2026
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.

1 participant