GRM-19: refactor: resolve_runner returns gitea_url, add --url CLI option, force remove improvements, code quality fixes

- _resolve_runner now returns gitea_url from registry so disable/remove
  can reuse the URL stored at install time without requiring env vars.
- Added --url option to install, disable, and remove CLI commands.
- remove(force=True) no longer requires gitea_url or token.
- Moved _parse_status outside the for loop in list_runners.
- Updated all translations and tests to match.
This commit is contained in:
Emil Simeonov
2026-06-19 03:12:04 +02:00
parent a9adb71a08
commit 3d943b57dc
5 changed files with 214 additions and 37 deletions
+21 -3
View File
@@ -76,6 +76,11 @@ def cli() -> None:
default="docker",
help=_("Gitea Runner deployment mode (default: docker)"),
)
@click.option(
"--url",
default=lambda: os.getenv("GITEA_URL", ""),
help=_("Gitea URL (env: GITEA_URL)"),
)
@click.option(
"--admin-token",
"-a",
@@ -101,6 +106,7 @@ def install(
name: str | None,
token: str | None,
mode: str,
url: str,
admin_token: str | None,
integration_retries: int,
ask_become_pass: bool,
@@ -113,7 +119,7 @@ def install(
key=key,
name=name,
token=token,
gitea_url=os.getenv("GITEA_URL", ""),
gitea_url=url,
mode=mode,
admin_token=admin_token,
integration_retries=integration_retries,
@@ -251,6 +257,11 @@ def enable(
type=click.Choice(["docker", "binary"]),
help=_("Override deployment mode from registry"),
)
@click.option(
"--url",
default=lambda: os.getenv("GITEA_URL", ""),
help=_("Gitea URL (env: GITEA_URL)"),
)
@_handle_errors("Disable failed: {error}")
def disable(
runner_name: str,
@@ -259,6 +270,7 @@ def disable(
key: str | None,
token: str | None,
mode: str | None,
url: str,
ask_become_pass: bool,
) -> None:
manager = RunnerManager()
@@ -268,7 +280,7 @@ def disable(
user=user,
key=key,
token=token,
gitea_url=os.getenv("GITEA_URL", ""),
gitea_url=url,
mode=mode,
ask_become_pass=ask_become_pass,
)
@@ -318,6 +330,11 @@ def status(
type=click.Choice(["docker", "binary"]),
help=_("Override deployment mode from registry"),
)
@click.option(
"--url",
default=lambda: os.getenv("GITEA_URL", ""),
help=_("Gitea URL (env: GITEA_URL)"),
)
@click.option(
"--force",
"-f",
@@ -332,6 +349,7 @@ def remove(
key: str | None,
token: str | None,
mode: str | None,
url: str,
force: bool,
ask_become_pass: bool,
) -> None:
@@ -342,7 +360,7 @@ def remove(
user=user,
key=key,
token=token,
gitea_url=os.getenv("GITEA_URL", ""),
gitea_url=url,
mode=mode,
ask_become_pass=ask_become_pass,
force=force,