From 5c5f277d6d37e7cdf8f40cc8652eaabdd6134009 Mon Sep 17 00:00:00 2001 From: claude Date: Mon, 8 Jun 2026 06:17:48 +0000 Subject: [PATCH] refactor: set image/dockerfile from provider default first, override after Since every provider always has a dockerfile, establish the default image and dockerfile_path from the provider up front and override for per-bottle or manifest-specified cases. Removes the image_default intermediate variable and the trailing else branch. --- bot_bottle/backend/docker/prepare.py | 18 +++++++----------- bot_bottle/backend/smolmachines/prepare.py | 18 +++++++----------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/bot_bottle/backend/docker/prepare.py b/bot_bottle/backend/docker/prepare.py index 1aa7929..1efff82 100644 --- a/bot_bottle/backend/docker/prepare.py +++ b/bot_bottle/backend/docker/prepare.py @@ -93,21 +93,17 @@ def resolve_plan( # written (via apply_capability_change), the base image becomes # per_bottle_image_tag(slug) built from that file. --cwd still # layers a derived image on top. - dockerfile_path = "" + if provider.template in PROVIDER_TEMPLATES: + image = provider_runtime.image + else: + image = f"bot-bottle-{provider.template}:{slug}" + dockerfile_path = str(provider_obj.dockerfile) if per_bottle_dockerfile(slug) is not None: - image_default = per_bottle_image_tag(slug) + image = per_bottle_image_tag(slug) dockerfile_path = str(per_bottle_dockerfile_path(slug)) elif provider.dockerfile: - image_default = f"bot-bottle-{provider.template}:{slug}" + image = f"bot-bottle-{provider.template}:{slug}" dockerfile_path = _resolve_manifest_dockerfile(provider.dockerfile, spec) - else: - p_dockerfile = provider_obj.dockerfile - if provider.template in PROVIDER_TEMPLATES: - image_default = provider_runtime.image - else: - image_default = f"bot-bottle-{provider.template}:{slug}" - dockerfile_path = str(p_dockerfile) - image = image_default derived_image = "" runtime_image = image if spec.copy_cwd: diff --git a/bot_bottle/backend/smolmachines/prepare.py b/bot_bottle/backend/smolmachines/prepare.py index d53f425..58e480a 100644 --- a/bot_bottle/backend/smolmachines/prepare.py +++ b/bot_bottle/backend/smolmachines/prepare.py @@ -116,18 +116,14 @@ def resolve_plan( prompt_file.chmod(0o600) machine_name = f"bot-bottle-{slug}" - agent_dockerfile_path = "" - if provider.dockerfile: - agent_dockerfile_path = _resolve_manifest_dockerfile(provider.dockerfile, spec) - image_default = f"bot-bottle-{provider.template}:{slug}" + if provider.template in PROVIDER_TEMPLATES: + agent_image_ref = provider_runtime.image else: - p_dockerfile = provider_obj.dockerfile - agent_dockerfile_path = str(p_dockerfile) - if provider.template in PROVIDER_TEMPLATES: - image_default = provider_runtime.image - else: - image_default = f"bot-bottle-{provider.template}:{slug}" - agent_image_ref = image_default + agent_image_ref = f"bot-bottle-{provider.template}:{slug}" + agent_dockerfile_path = str(provider_obj.dockerfile) + if provider.dockerfile: + agent_image_ref = f"bot-bottle-{provider.template}:{slug}" + agent_dockerfile_path = _resolve_manifest_dockerfile(provider.dockerfile, spec) agent_provision = agent_provision_plan( template=provider.template, dockerfile=agent_dockerfile_path,