Skip to content

Operator can now delegate its infra_config values. - #3161

Merged
3405691582 merged 1 commit into
google:mainfrom
3405691582:operator_delegation
Sep 10, 2026
Merged

3405691582 merged 1 commit into
google:mainfrom
3405691582:operator_delegation

Conversation

@3405691582

Copy link
Copy Markdown
Collaborator

Instead of statically allocating the output of the infra_config handler, we allow the operator to optionally delegate its contents to a sidecar command that can supply the values returned by this handler. This means that if a user wishes to supply alternate STUN or TURN servers for running webRTC, it can do so.

Why not a static configuration loaded from a file? For TURN for example, the credential returned from the TURN server may have a limited TTL, so we need to be able to request the TURN credential on-demand. We default however to letting the operator set the credential TTL for the moment, and may revisit that behavior in the future.

If the delegate is specified and fails for whatever reason, then we fall back to the existing, static configuration so as not to break existing clients.

TURN support is particularly useful, since it means that large port-forward ranges are no longer necessary.

Comment thread frontend/src/liboperator/operator/operator.go Outdated
Comment thread frontend/src/operator/main.go Outdated
Comment thread frontend/src/liboperator/operator/operator.go Outdated
Comment thread frontend/src/liboperator/operator/operator.go Outdated
Comment thread frontend/src/operator/main.go
@3405691582
3405691582 force-pushed the operator_delegation branch 2 times, most recently from 305f4d1 to 0739e50 Compare September 10, 2026 14:47
@3405691582
3405691582 requested a review from 0405ysj September 10, 2026 14:48
@3405691582
3405691582 force-pushed the operator_delegation branch 2 times, most recently from 3771d78 to 3d93a14 Compare September 10, 2026 14:58
Instead of statically allocating the output of the infra_config handler,
we allow the operator to optionally delegate its contents to a sidecar
command that can supply the values returned by this handler. This means
that if a user wishes to supply alternate STUN or TURN servers for
running webRTC, it can do so.

Why not a static configuration loaded from a file? For TURN for example,
the credential returned from the TURN server may have a limited TTL, so
we need to be able to request the TURN credential on-demand. We default
however to letting the operator set the credential TTL for the moment,
and may revisit that behavior in the future.

If the delegate is specified and fails for whatever reason, then we fall
back to the existing, static configuration so as not to break existing
clients.

TURN support is particularly useful, since it means that large
port-forward ranges are no longer necessary.
@3405691582 3405691582 added the kokoro:run Run e2e tests. label Sep 10, 2026
@GoogleCuttlefishTesterBot GoogleCuttlefishTesterBot removed the kokoro:run Run e2e tests. label Sep 10, 2026
Comment thread frontend/src/liboperator/operator/operator.go
@ser-io
ser-io self-requested a review September 10, 2026 18:22
@3405691582
3405691582 added this pull request to the merge queue Sep 10, 2026
Merged via the queue into google:main with commit 7c83b3e Sep 10, 2026
58 of 60 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.

4 participants