|
|
@@ -71,6 +71,7 @@ class ProductionRuntimeDependencies:
|
|
|
orchestration_config: Any = None
|
|
|
event_sink: Any = None
|
|
|
http_transport: httpx.AsyncBaseTransport | None = None
|
|
|
+ outbound_resolver: Any = None
|
|
|
trace_store_verifier: DurableTraceStoreVerifier | None = None
|
|
|
|
|
|
|
|
|
@@ -166,11 +167,14 @@ def compose_production_host(
|
|
|
listen_port=settings.read_database_tunnel_port,
|
|
|
)
|
|
|
database = create_database_sessions(settings)
|
|
|
- outbound_policy = OutboundPolicy(
|
|
|
- allowed_hosts=frozenset(settings.outbound_allowed_hosts),
|
|
|
- allowed_ports=frozenset(settings.outbound_allowed_ports),
|
|
|
- allowed_http_hosts=frozenset(settings.outbound_allowed_http_hosts),
|
|
|
- )
|
|
|
+ outbound_options: dict[str, Any] = {
|
|
|
+ "allowed_hosts": frozenset(settings.outbound_allowed_hosts),
|
|
|
+ "allowed_ports": frozenset(settings.outbound_allowed_ports),
|
|
|
+ "allowed_http_hosts": frozenset(settings.outbound_allowed_http_hosts),
|
|
|
+ }
|
|
|
+ if runtime.outbound_resolver is not None:
|
|
|
+ outbound_options["resolver"] = runtime.outbound_resolver
|
|
|
+ outbound_policy = OutboundPolicy(**outbound_options)
|
|
|
http_client = httpx.AsyncClient(
|
|
|
transport=runtime.http_transport,
|
|
|
trust_env=False,
|
|
|
@@ -257,7 +261,10 @@ def compose_production_host(
|
|
|
publications = SqlAlchemyPublicationRepository(database.write)
|
|
|
final_publications = SqlAlchemyPublicationRepository(database.final)
|
|
|
legacy_state = SqlAlchemyLegacyBuildStateRepository(database.write)
|
|
|
- legacy_input = LegacySqlAlchemyInputReader(database.read)
|
|
|
+ legacy_input = LegacySqlAlchemyInputReader(
|
|
|
+ database.read,
|
|
|
+ uploaded_sessions=database.write,
|
|
|
+ )
|
|
|
input_service = ScriptInputSnapshotService(
|
|
|
legacy_input=legacy_input,
|
|
|
persona_source=FilePersonaSource(
|