Narrow DC CMS source deploy runtime
This commit is contained in:
parent
7ef0ca8eab
commit
d196d4b0c7
|
|
@ -899,6 +899,34 @@ def component_compose_project(component):
|
|||
|
||||
|
||||
def component_services(component, entries=None):
|
||||
if component == "dc-cms" and entries is not None:
|
||||
selected = []
|
||||
|
||||
def add(*services):
|
||||
for service in services:
|
||||
if service not in selected:
|
||||
selected.append(service)
|
||||
|
||||
touches_compose = any(rel == "infra/docker-compose.yml" for rel in entries)
|
||||
touches_proxy = any(rel == "infra/reverse-proxy" or rel.startswith("infra/reverse-proxy/") for rel in entries)
|
||||
touches_authentik = any(rel == "infra/authentik" or rel.startswith("infra/authentik/") for rel in entries)
|
||||
touches_app = any(
|
||||
rel in ("Dockerfile", "package.json", "package-lock.json", "README.md")
|
||||
or rel.startswith(("admin/", "projects/", "server/"))
|
||||
for rel in entries
|
||||
)
|
||||
|
||||
if touches_compose:
|
||||
return COMPONENTS[component]["services"]
|
||||
if touches_authentik:
|
||||
add("postgresql-authentik", "authentik-server", "authentik-worker", "authentik-bootstrap", "cms-app", "reverse-proxy")
|
||||
if touches_app:
|
||||
add("cms-app")
|
||||
if touches_proxy:
|
||||
add("reverse-proxy")
|
||||
if selected:
|
||||
return tuple(selected)
|
||||
|
||||
if component == "tasker" and entries is not None:
|
||||
selected = ["api", "worker", "beat-worker", "web"]
|
||||
touches_compose = any(
|
||||
|
|
@ -942,6 +970,16 @@ def component_services(component, entries=None):
|
|||
return COMPONENTS[component]["services"]
|
||||
|
||||
|
||||
def component_compose_no_deps(component, entries=None):
|
||||
if component == "dc-cms" and entries is not None:
|
||||
touches_compose = any(rel == "infra/docker-compose.yml" for rel in entries)
|
||||
touches_proxy = any(rel == "infra/reverse-proxy" or rel.startswith("infra/reverse-proxy/") for rel in entries)
|
||||
touches_authentik = any(rel == "infra/authentik" or rel.startswith("infra/authentik/") for rel in entries)
|
||||
return not (touches_compose or touches_proxy or touches_authentik)
|
||||
|
||||
return bool(COMPONENTS[component].get("compose_no_deps"))
|
||||
|
||||
|
||||
def component_compose_files(component):
|
||||
return COMPONENTS[component].get("compose_files", ())
|
||||
|
||||
|
|
@ -1182,12 +1220,12 @@ def compose_base_cmd(component):
|
|||
return cmd
|
||||
|
||||
|
||||
def run_compose(component, services):
|
||||
def run_compose(component, services, entries=None):
|
||||
compose_root = component_compose_root(component)
|
||||
cmd = [*compose_base_cmd(component), "up", "-d", "--force-recreate"]
|
||||
if COMPONENTS[component].get("compose_build"):
|
||||
cmd.append("--build")
|
||||
if COMPONENTS[component].get("compose_no_deps"):
|
||||
if component_compose_no_deps(component, entries):
|
||||
cmd.append("--no-deps")
|
||||
cmd.extend(services)
|
||||
try:
|
||||
|
|
@ -1218,7 +1256,7 @@ def prepare_component_runtime(component):
|
|||
def run_component_runtime(component, entries, services):
|
||||
run_build(component, entries)
|
||||
prepare_component_runtime(component)
|
||||
run_compose(component, services)
|
||||
run_compose(component, services, entries)
|
||||
|
||||
|
||||
def healthcheck_url(check):
|
||||
|
|
|
|||
Loading…
Reference in New Issue