gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-deployment] branch master updated: new taler-deploym


From: gnunet
Subject: [GNUnet-SVN] [taler-deployment] branch master updated: new taler-deployment in Python for bootstrapping
Date: Thu, 10 Oct 2019 16:18:56 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository deployment.

The following commit(s) were added to refs/heads/master by this push:
     new e37aa46  new taler-deployment in Python for bootstrapping
e37aa46 is described below

commit e37aa461c5b2c258af0d8c160a9078295fd6fd05
Author: Florian Dold <address@hidden>
AuthorDate: Thu Oct 10 19:48:48 2019 +0530

    new taler-deployment in Python for bootstrapping
---
 bin/taler-deployment | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/bin/taler-deployment b/bin/taler-deployment
new file mode 100755
index 0000000..852184e
--- /dev/null
+++ b/bin/taler-deployment
@@ -0,0 +1,108 @@
+#!/usr/bin/env python3
+
+import click
+import types
+import os
+import os.path
+import subprocess
+import time
+from pathlib import Path
+
+activate_template = """\
+#!/bin/bash
+
+# Generated by taler-deployment-bootstrap
+
+function taler-config-generate () {
+  echo "Command disabled. Please use taler-deployment-config-generate instead."
+  return 1
+}
+function taler-exchange-keyup () {
+  echo "Command disabled. Please use taler-deployment-keyup instead."
+}
+
+export PATH="$HOME/deployment/bin:$HOME/local/bin:\$PATH"
+export TALER_BOOTSTRAP_TIMESTAMP={timestamp}
+export TALER_CHECKDB="postgres:///talercheck-$USER"
+export TALER_CONFIG_CURRENCY={currency}
+export TALER_ENV_NAME={envname}
+export TALER_ENV_URL_INTRO="https://{envname}.taler.net/";
+export TALER_ENV_URL_BANK="https://bank.{envname}.taler.net/";
+export TALER_ENV_URL_MERCHANT_BLOG="https://shop.{envname}.taler.net/";
+export 
TALER_ENV_URL_MERCHANT_DONATIONS="https://donations.{envname}.taler.net/";
+export TALER_ENV_URL_MERCHANT_SURVEY="https://survey.{envname}.taler.net/";
+export TALER_ENV_URL_AUDITOR="https://auditor.{envname}.taler.net/";
+export TALER_ENV_URL_BACKOFFICE="https://backoffice.{envname}.taler.net/";
+"""
+
+
+@click.group()
+def cli():
+    pass
+
+
+@cli.command()
+@click.argument("envname", type=click.Choice(["test", "int", "demo"]))
+def bootstrap(envname):
+    """Bootstrap a GNU Taler deployment from the deploymen.git repository"""
+
+    home = Path.home()
+
+    # read Python-style config
+    cfg = types.ModuleType(name)
+    cfgtext = (home / "envcfg.py").read_text()
+    exec(cfgtext, module.__dict__)
+
+    repos = [
+        ("gnunet", "git://gnunet.org/gnunet.git"),
+        ("libmicrohttps", "gnunet.org/libmicrohttpd.git"),
+        ("twister", "git://git.taler.net/twister"),
+        ("bank", "git://git.taler.net/bank"),
+        ("merchant", "git://git.taler.net/merchant"),
+        ("landing", "git://git.taler.net/landing"),
+        ("exchange", "git://git.taler.net/exchange"),
+        ("donations", "git://git.taler.net/donations"),
+        ("blog", "git://git.taler.net/blog"),
+        ("survey", "git://git.taler.net/survey"),
+        ("backoffice", "git://git.taler.net/backoffice"),
+    ]
+
+    for (r_name, r_url) in repos:
+        r_dir = home / "sources" / r_name
+        if not r_dir.exists():
+            r_dir.mkdir(parents=True, exist_ok=True)
+            subprocess.run(["git", "-C", r_dir.as_posix(), "clone", r_url], 
check=True)
+        tag = getattr(cfg, "tag_" + r_name)
+        subprocess.run(["git", "-C", r_dir.as_posix(), "fetch"], check=True)
+        subprocess.run(
+            ["git", "-C", r_dir.as_posix(), "checkout", "-q", "-f", tag, "--"],
+            check=True,
+        )
+
+    with (home / "activate").open("w") as f:
+        f.write(activate_template.format(envname=envname, 
timestamp=str(time.time())))
+
+    (home / "sockets").mkdir(parents=True, exist_ok=True)
+    (home / "taler-data").mkdir(parents=True, exist_ok=True)
+
+    if envname == "test":
+        bb_dir = home / "bb-worker"
+        if not bb_dir.exists():
+            subprocess.run(
+                [
+                    "buildbot-worker",
+                    "create-worker",
+                    "--umask=0o22",
+                    bb_dir.as_posix(),
+                    "localhost:9989",
+                    "test-worker",
+                    "test-pass",
+                ],
+                check=True,
+            )
+    print("Bootstrap finished.")
+    print("Please source the ~/activate file before proceeding.")
+
+
+if __name__ == "__main__":
+    cli()

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]