Derive program behavior from deployments; stop persisting it
behavior (tool/daemon/frontend) is now a derived display label computed from a program's deployments — path->tool, static->frontend, process->daemon (behavior_for_runner). load_config populates it so every reader gets the live value; _spec_to_yaml_dict excludes it so it is never written to disk. _summary_from_service derives it from the runner instead of hardcoding daemon. Fixtures gain path/python deployments so tool/daemon behaviors derive.
This commit is contained in:
@@ -11,7 +11,13 @@ from fastapi import APIRouter, HTTPException, status
|
||||
|
||||
from castle_core.config import SPECS_DIR
|
||||
from castle_core.generators.caddyfile import generate_caddyfile_from_registry
|
||||
from castle_core.manifest import ProgramSpec, JobSpec, ServiceSpec, manager_for
|
||||
from castle_core.manifest import (
|
||||
ProgramSpec,
|
||||
JobSpec,
|
||||
ServiceSpec,
|
||||
behavior_for_runner,
|
||||
manager_for,
|
||||
)
|
||||
from castle_core.stacks import available_actions
|
||||
|
||||
from castle_api.config import get_castle_root, get_registry
|
||||
@@ -133,7 +139,7 @@ def _summary_from_service(
|
||||
id=name,
|
||||
category="service",
|
||||
description=description,
|
||||
behavior="daemon",
|
||||
behavior=behavior_for_runner(runner),
|
||||
stack=stack,
|
||||
runner=runner,
|
||||
port=port,
|
||||
|
||||
Reference in New Issue
Block a user