GRM-12: feat: add GITEA_ADMIN_TOKEN support for integration test
This commit is contained in:
@@ -5,5 +5,6 @@
|
|||||||
vars:
|
vars:
|
||||||
gitea_url: "{{ gitea_url | mandatory }}"
|
gitea_url: "{{ gitea_url | mandatory }}"
|
||||||
registration_token: "{{ registration_token | mandatory }}"
|
registration_token: "{{ registration_token | mandatory }}"
|
||||||
|
gitea_admin_token: "{{ gitea_admin_token | default('') }}"
|
||||||
roles:
|
roles:
|
||||||
- role: gitea-runner
|
- role: gitea-runner
|
||||||
|
|||||||
@@ -43,6 +43,12 @@ def cli() -> None:
|
|||||||
default="docker",
|
default="docker",
|
||||||
help="Runner deployment mode (default: docker)",
|
help="Runner deployment mode (default: docker)",
|
||||||
)
|
)
|
||||||
|
@click.option(
|
||||||
|
"--admin-token",
|
||||||
|
"-a",
|
||||||
|
default=lambda: os.getenv("GITEA_ADMIN_TOKEN"),
|
||||||
|
help="Gitea admin API token for integration test (env: GITEA_ADMIN_TOKEN)",
|
||||||
|
)
|
||||||
@click.option("--ask-become-pass", is_flag=True, help="Prompt for sudo password")
|
@click.option("--ask-become-pass", is_flag=True, help="Prompt for sudo password")
|
||||||
def install(
|
def install(
|
||||||
host: str,
|
host: str,
|
||||||
@@ -51,6 +57,7 @@ def install(
|
|||||||
name: str | None,
|
name: str | None,
|
||||||
token: str | None,
|
token: str | None,
|
||||||
mode: str,
|
mode: str,
|
||||||
|
admin_token: str | None,
|
||||||
ask_become_pass: bool,
|
ask_become_pass: bool,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Install and configure a runner on a remote host."""
|
"""Install and configure a runner on a remote host."""
|
||||||
@@ -69,6 +76,7 @@ def install(
|
|||||||
token=token,
|
token=token,
|
||||||
gitea_url=gitea_url,
|
gitea_url=gitea_url,
|
||||||
mode=mode,
|
mode=mode,
|
||||||
|
admin_token=admin_token,
|
||||||
ask_become_pass=ask_become_pass,
|
ask_become_pass=ask_become_pass,
|
||||||
)
|
)
|
||||||
except GRMError as e:
|
except GRMError as e:
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class RunnerManager:
|
|||||||
token: str | None = None,
|
token: str | None = None,
|
||||||
gitea_url: str = "",
|
gitea_url: str = "",
|
||||||
mode: str = "docker",
|
mode: str = "docker",
|
||||||
|
admin_token: str | None = None,
|
||||||
ask_become_pass: bool = False,
|
ask_become_pass: bool = False,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Install a runner on a remote host using Ansible."""
|
"""Install a runner on a remote host using Ansible."""
|
||||||
@@ -33,6 +34,10 @@ class RunnerManager:
|
|||||||
if not playbook.exists():
|
if not playbook.exists():
|
||||||
raise AnsibleError(f"Playbook not found: {playbook}")
|
raise AnsibleError(f"Playbook not found: {playbook}")
|
||||||
|
|
||||||
|
extra_vars = f"registration_token={token} runner_name={name} gitea_url={gitea_url} runner_mode={mode}"
|
||||||
|
if admin_token:
|
||||||
|
extra_vars += f" gitea_admin_token={admin_token}"
|
||||||
|
|
||||||
cmd = [
|
cmd = [
|
||||||
"ansible-playbook",
|
"ansible-playbook",
|
||||||
str(playbook),
|
str(playbook),
|
||||||
@@ -41,7 +46,7 @@ class RunnerManager:
|
|||||||
"-u",
|
"-u",
|
||||||
user,
|
user,
|
||||||
"--extra-vars",
|
"--extra-vars",
|
||||||
f"registration_token={token} runner_name={name} gitea_url={gitea_url} runner_mode={mode}",
|
extra_vars,
|
||||||
]
|
]
|
||||||
if key:
|
if key:
|
||||||
cmd.extend(["--private-key", key])
|
cmd.extend(["--private-key", key])
|
||||||
|
|||||||
Reference in New Issue
Block a user