Skip to content

Commit 55ff1da

Browse files
authored
Persist Forwarder Type (#710)
Adding a column to persist the forwarder type
1 parent de62faa commit 55ff1da

File tree

5 files changed

+38
-2
lines changed

5 files changed

+38
-2
lines changed

federal/Dockerfile.chainguard

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM cgr.dev/scale.com/python-fips:3.10.15-dev
33
WORKDIR /workspace
44
USER root
55

6-
RUN apk add htop \
6+
RUN apk update && apk add htop \
77
dumb-init \
88
libssh \
99
openssh-client \
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""Add passthrough forwarder
2+
3+
Revision ID: e580182d6bfd
4+
Revises: f55525c81eb5
5+
Create Date: 2025-09-16 17:41:10.254233
6+
7+
"""
8+
import sqlalchemy as sa
9+
from alembic import op
10+
11+
# revision identifiers, used by Alembic.
12+
revision = 'e580182d6bfd'
13+
down_revision = 'f55525c81eb5'
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade() -> None:
19+
op.add_column(
20+
"bundles",
21+
sa.Column("runnable_image_forwarder_type", sa.String(), nullable=True),
22+
schema="hosted_model_inference",
23+
)
24+
25+
26+
def downgrade() -> None:
27+
op.drop_column(
28+
"bundles",
29+
"runnable_image_forwarder_type",
30+
schema="hosted_model_inference",
31+
)

model-engine/model_engine_server/db/models/hosted_model_inference.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ class Bundle(Base):
147147
runnable_image_protocol = Column(Text, nullable=True)
148148
runnable_image_readiness_initial_delay_seconds = Column(Integer, nullable=True)
149149
runnable_image_extra_routes = Column(ARRAY(Text), nullable=True)
150+
runnable_image_forwarder_type = Column(Text, nullable=True)
150151
runnable_image_worker_command = Column(ARRAY(Text), nullable=True)
151152
runnable_image_worker_env = Column(JSON, nullable=True)
152153

@@ -209,6 +210,7 @@ def __init__(
209210
runnable_image_protocol: Optional[str] = None,
210211
runnable_image_readiness_initial_delay_seconds: Optional[int] = None,
211212
runnable_image_extra_routes: Optional[List[str]] = None,
213+
runnable_image_forwarder_type: Optional[str] = None,
212214
runnable_image_worker_command: Optional[List[str]] = None,
213215
runnable_image_worker_env: Optional[Dict[str, Any]] = None,
214216
# Streaming Enhanced Runnable Image fields
@@ -267,6 +269,7 @@ def __init__(
267269
self.runnable_image_env = runnable_image_env
268270
self.runnable_image_protocol = runnable_image_protocol
269271
self.runnable_image_extra_routes = runnable_image_extra_routes
272+
self.runnable_image_forwarder_type = runnable_image_forwarder_type
270273
self.runnable_image_worker_command = runnable_image_worker_command
271274
self.runnable_image_worker_env = runnable_image_worker_env
272275
self.runnable_image_readiness_initial_delay_seconds = (

model-engine/model_engine_server/domain/entities/model_bundle_entity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class RunnableImageLike(BaseModel, ABC):
163163
protocol: Literal["http"] # TODO: add support for other protocols (e.g. grpc)
164164
readiness_initial_delay_seconds: int = 120
165165
extra_routes: List[str] = Field(default_factory=list)
166-
forwarder_type: Optional[ForwarderType] = ForwarderType.DEFAULT
166+
forwarder_type: Optional[str] = ForwarderType.DEFAULT.value
167167
worker_command: Optional[List[str]] = None
168168
worker_env: Optional[Dict[str, str]] = None
169169

model-engine/model_engine_server/infra/repositories/db_model_bundle_repository.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ def translate_model_bundle_orm_to_model_bundle(
147147
protocol=model_bundle_orm.runnable_image_protocol,
148148
readiness_initial_delay_seconds=model_bundle_orm.runnable_image_readiness_initial_delay_seconds,
149149
extra_routes=model_bundle_orm.runnable_image_extra_routes,
150+
forwarder_type=model_bundle_orm.runnable_image_forwarder_type,
150151
worker_command=model_bundle_orm.runnable_image_worker_command,
151152
worker_env=model_bundle_orm.runnable_image_worker_env,
152153
streaming_command=model_bundle_orm.streaming_enhanced_runnable_image_streaming_command,
@@ -218,6 +219,7 @@ def translate_kwargs_to_model_bundle_orm(
218219
"readiness_initial_delay_seconds"
219220
),
220221
runnable_image_extra_routes=flavor_dict.get("extra_routes"),
222+
runnable_image_forwarder_type=flavor_dict.get("forwarder_type"),
221223
runnable_image_worker_command=flavor_dict.get("worker_command"),
222224
runnable_image_worker_env=flavor_dict.get("worker_env"),
223225
streaming_enhanced_runnable_image_streaming_command=flavor_dict.get("streaming_command"),

0 commit comments

Comments
 (0)