Odstranil jsem hardcoded IP fallbacky z portálového Python kódu:
DEFAULT_APPFACTORY_HOST = "192.168.66.130" je pryč z config.py (line 10). DEFAULT_GITEA_URL = "http://192.168.66.130:3000" je pryč z auth.py (line 24). Doplněné chování: APPFACTORY_HOST se odvozuje přes helper: env APPFACTORY_HOST, potom APPFACTORY_PORTAL_PUBLIC_URL, potom request host. Gitea browser redirect používá jen explicitní veřejnou URL z GITEA_URL nebo GITEA_ROOT_URL. Server-side Gitea token/userinfo requesty používají GITEA_URL, potom GITEA_ROOT_URL, jinak interní Docker URL http://appfactory-gitea:3000. Gitea login tlačítko se zobrazí jen při kompletní konfiguraci: public URL, client id, client secret a redirect URI. Přímý Gitea login bez kompletní konfigurace vrací čitelnou chybu.
This commit is contained in:
+7
-6
@@ -7,11 +7,12 @@ from fastapi.responses import HTMLResponse, RedirectResponse
|
||||
|
||||
from ..auth import require_user
|
||||
from ..config import (
|
||||
DEFAULT_APPFACTORY_HOST,
|
||||
DEFAULT_GITEA_ORG,
|
||||
DELETE_APP_SCRIPT,
|
||||
DEPLOY_SCRIPT,
|
||||
GENERATE_COMPOSE_SCRIPT,
|
||||
get_appfactory_host,
|
||||
get_gitea_public_url,
|
||||
read_env_value,
|
||||
)
|
||||
from ..db.apps import (
|
||||
@@ -206,9 +207,9 @@ def apps_page(
|
||||
offset = (page_number - 1) * DEFAULT_PAGE_SIZE
|
||||
apps = apps[offset : offset + DEFAULT_PAGE_SIZE]
|
||||
|
||||
gitea_url = read_env_value("GITEA_URL", "")
|
||||
gitea_url = get_gitea_public_url()
|
||||
gitea_org = read_env_value("GITEA_ORG", DEFAULT_GITEA_ORG)
|
||||
host = read_env_value("APPFACTORY_HOST", DEFAULT_APPFACTORY_HOST)
|
||||
host = get_appfactory_host(request.url.hostname or "")
|
||||
|
||||
rows = ""
|
||||
|
||||
@@ -226,8 +227,8 @@ def apps_page(
|
||||
memory_label = memory or "výchozí"
|
||||
cpus_label = cpus or "výchozí"
|
||||
|
||||
http_clone = html.escape(f"git clone {gitea_url}/{gitea_org}/{app_id}.git")
|
||||
ssh_clone = html.escape(f"git clone ssh://git@{host}:2222/{gitea_org}/{app_id}.git")
|
||||
http_clone = html.escape(f"git clone {gitea_url}/{gitea_org}/{app_id}.git") if gitea_url else ""
|
||||
ssh_clone = html.escape(f"git clone ssh://git@{host}:2222/{gitea_org}/{app_id}.git") if host else ""
|
||||
|
||||
rows += f"""
|
||||
<tr class="service-row">
|
||||
@@ -970,7 +971,7 @@ def create_app(
|
||||
user=user,
|
||||
)
|
||||
|
||||
gitea_url = read_env_value("GITEA_URL", "").rstrip("/")
|
||||
gitea_url = get_gitea_public_url()
|
||||
gitea_org = read_env_value("GITEA_ORG", DEFAULT_GITEA_ORG)
|
||||
repository_url = f"{gitea_url}/{gitea_org}/{app_id}.git" if gitea_url else None
|
||||
owner_value = clean_optional(owner) or user.get("display_name") or user.get("username") or None
|
||||
|
||||
Reference in New Issue
Block a user