summaryrefslogtreecommitdiff
path: root/bin/taler-deployment
diff options
context:
space:
mode:
authorMS <ms@taler.net>2021-05-17 16:33:11 +0200
committerMS <ms@taler.net>2021-05-17 16:33:11 +0200
commitb0ff994f0303709320d8c210ec64b984f21ac092 (patch)
treead80949cda527b1de65961a99ca920cf4a42a57e /bin/taler-deployment
parent5e5b0d13163c62b80e32f4dda1a551bb2982fd2f (diff)
downloaddeployment-b0ff994f0303709320d8c210ec64b984f21ac092.tar.gz
deployment-b0ff994f0303709320d8c210ec64b984f21ac092.tar.bz2
deployment-b0ff994f0303709320d8c210ec64b984f21ac092.zip
preferring loading API token from file
Diffstat (limited to 'bin/taler-deployment')
-rwxr-xr-xbin/taler-deployment17
1 files changed, 11 insertions, 6 deletions
diff --git a/bin/taler-deployment b/bin/taler-deployment
index 62924cb..398a2b8 100755
--- a/bin/taler-deployment
+++ b/bin/taler-deployment
@@ -28,7 +28,6 @@ from typing import List, Callable
from shutil import copy
from taler_urls import get_urls
from string import ascii_letters, ascii_uppercase
-import random
activate_template = """\
#!/bin/bash
@@ -571,6 +570,12 @@ allowed_envs = (
"tanker"
)
+def load_apitoken():
+ apitoken_path = Path.home() / "envcfg.py"
+ if not os.path.isfile(apitoken_path):
+ return None
+ with open(apitoken_path, "r") as f:
+ return f.readline()
def load_envcfg():
cfg = types.ModuleType("taler_deployment_cfg")
@@ -657,9 +662,6 @@ def sync_repos() -> None:
r_dir = home / "sources" / r.name
subprocess.run(["git", "-C", str(r_dir), "clean", "-fdx"], check=True)
-def generate_apitoken():
- return "secret-token:" + ''.join(random.choices(ascii_letters + ascii_uppercase, k=10))
-
@cli.command()
def bootstrap() -> None:
"""Bootstrap a GNU Taler deployment."""
@@ -681,7 +683,10 @@ def bootstrap() -> None:
path_list.insert(0, local_path)
if deployment_path not in path_list:
path_list.insert(0, deployment_path)
-
+ apitoken = load_apitoken()
+ if not apitoken:
+ print("Please create ~/merchant_auth_token (taler-deployment-auth-token can help).")
+ return 1
with (home / "activate").open("w") as f:
f.write(
activate_template.format(
@@ -690,7 +695,7 @@ def bootstrap() -> None:
currency=currmap[envname],
curr_path=":".join(path_list),
coverage=1 if envname == "coverage" else 0,
- frontends_apitoken="{}".format(generate_apitoken()),
+ frontends_apitoken="{}".format(apitoken),
**get_urls(envname)
)
)