diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a2f5bb6..1559fff0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ - Organized cmdeploy into install, configure, and activate stages ([#695](https://github.com/chatmail/relay/pull/695)) +- echobot: print invite-link also if it's deployed locally + ([#751](https://github.com/chatmail/relay/pull/751)) + - docs: move readme.md docs to sphinx documentation rendered at https://chatmail.at/doc/relay ([#711](https://github.com/chatmail/relay/pull/711)) diff --git a/cmdeploy/src/cmdeploy/cmdeploy.py b/cmdeploy/src/cmdeploy/cmdeploy.py index d9d6462f..f2596e04 100644 --- a/cmdeploy/src/cmdeploy/cmdeploy.py +++ b/cmdeploy/src/cmdeploy/cmdeploy.py @@ -11,6 +11,7 @@ import pathlib import shutil import subprocess import sys +import time from pathlib import Path import pyinfra @@ -111,20 +112,18 @@ def run_cmd(args, out): if retcode == 0: if not args.disable_mail and not args.dry_run: print("\nYou can try out the relay by talking to this echo bot: ") - echobot_cmd = "cat /var/lib/echobot/invite-link.txt" + invite_path = Path("/var/lib/echobot/invite-link.txt") if ssh_host in ["localhost", "@local", "@docker"]: - result = ( - subprocess.check_output(echobot_cmd, shell=True) - .decode() - .strip() - ) - print(result) + while not invite_path.exists(): + time.sleep(0.1) + with invite_path.open() as f: + print(f.readline()) else: echo_sshexec = get_sshexec(ssh_host, verbose=args.verbose) print( echo_sshexec( call=remote.rshell.shell, - kwargs=dict(command=echobot_cmd), + kwargs=dict(command=f"cat {invite_path}"), ) ) out.green("Deploy completed, call `cmdeploy dns` next.")