commit d9cd9eed7362ba2fc294a5470a480227f71e92e0
parent cc34f4b2df5ab9966eafeff5fc408270ed8ee44c
Author: ng0 <ng0@n0.is>
Date: Tue, 17 Sep 2019 19:09:24 +0000
Merge branch 'master' of git.taler.net:deployment
Diffstat:
20 files changed, 435 insertions(+), 246 deletions(-)
diff --git a/bin/taler-deployment-bbstart b/bin/taler-deployment-bbstart
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-cd ~/buildbot
-source venv/bin/activate
-buildbot-worker start slave/
-deactivate
diff --git a/bin/taler-deployment-bbstop b/bin/taler-deployment-bbstop
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-cd ~/buildbot
-source venv/bin/activate
-buildbot-worker stop slave/
-deactivate
diff --git a/bin/taler-deployment-config-generate b/bin/taler-deployment-config-generate
@@ -20,6 +20,9 @@ if [[ -z ${TALER_CONFIG_CURRENCY+x} ]]; then
fi
EXCHANGE_PUB=$(gnunet-ecc -p $HOME/deployment/private-keys/${TALER_CONFIG_ENV}-exchange-master.priv)
+
+mkdir -p $HOME/.config
+
$HOME/deployment/config/generate-config \
--exchange-pub "$EXCHANGE_PUB" \
--currency "$TALER_CONFIG_CURRENCY" \
diff --git a/bin/taler-deployment-keyup b/bin/taler-deployment-keyup
@@ -123,7 +123,3 @@ if [[ -s $AUDITOR_REQUEST_DIR/auditor_request-${DATESALT} ]]; then
-o "$AUDITOR_BASE_DIR/$DATESALT" \
-c ${HOME}/.config/taler.conf
fi
-
-# or-ing with true as user A won't be able to
-# change permissions for user B's files.
-chmod -R 770 $AUDITOR_BASE_DIR/* || true
diff --git a/bin/taler-deployment-prepare b/bin/taler-deployment-prepare
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+set -eu
+
+usage() {
+ echo "Usage: $0 ENVNAME"
+}
+
+if [ -z ${1+x} ]; then
+ usage
+ exit 1
+fi
+
+$HOME/deployment/bootstrap-taler $1
+
+source $HOME/activate
+
+taler-deployment-build
+echo "All Taler built."
+
+taler-deployment-generate-config
+echo "Configuration got generated."
+
+if test "demo" = $1; then
+ echo "Please set up manually the shared data between demo-blue/green"
+ exit 0
+fi
+
+taler-deployment-keyup
+echo "Keys generated."
+
+taler-deployment-sign
+echo "/wire response signed."
+
+echo "All services can be launched with taler-deployment-start now."
diff --git a/bootstrap-auditorreporter b/bootstrap-auditorreporter
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+# Bootstrap the Taler setup for the user account that
+# is currently logged in.
+
+# The setup generated by this script is suitable for
+# blue-green deployments, where two users run
+# identical environments, and traffic can be switched
+# between them.
+
+# To create a demo setup, run
+# demo-blue$ ~/deployment/bootstrap-bluegreen demo
+# demo-green$ ~/deployment/bootstrap-bluegreen demo
+
+# NOTE: ENVNAME is also the name of the user who keeps
+# shared data in its home directory, so it must exist!
+# For demo/test ENVNAMEs, see {demo,test}.sh
+
+set -eu
+
+usage() {
+ echo "Usage: $0 ENVNAME, test or demo"
+}
+
+if [ -z ${1+x} ]; then
+ usage
+ exit 1
+fi
+
+ENVNAME=$1
+source ~/envconfig
+
+case $ENVNAME in
+
+ test)
+ CURRENCY=TESTKUDOS
+ ;;
+ demo)
+ CURRENCY=KUDOS
+ ;;
+ *)
+ echo Invalid envname, only 'test' and 'demo'.
+ exit 1
+ ;;
+esac
+
+cd $HOME
+
+if ! test -d $HOME/gnunet; then
+ git clone git://gnunet.org/gnunet.git
+fi
+
+if ! test -d $HOME/libmicrohttpd; then
+ git clone git://gnunet.org/libmicrohttpd.git
+fi
+
+for component in exchange bank gnurl; do
+ if ! test -d $HOME/$component; then
+ git clone git://git.taler.net/$component
+ fi
+done
+
+cat >$HOME/activate <<EOL
+#!/bin/bash
+
+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 PYTHONPATH="$HOME/local/lib/python3.5/site-packages"
+export TALER_CHECKDB="postgres:///talercheck-$USER"
+export TALER_CONFIG_CURRENCY=$CURRENCY
+
+# DEPRECATED ALIAS!
+export TALER_CONFIG_ENV=$ENVNAME
+
+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/"
+EOL
+
+mkdir -p "$HOME/sockets"
+mkdir -p "$HOME/stamps"
+mkdir -p "$HOME/taler-data"
+
+ln -sf ../deployment/taler-build/Makefile stamps/
+ln -sf ../deployment/taler-build/invalidate.sh stamps/
+
+if [[ ! -d "worker" ]]; then
+buildbot-worker create-worker $HOME/worker localhost:9989 "$ENVNAME-auditor-worker" "$ENVNAME-auditor-pass"
+fi
diff --git a/bootstrap-demochecker b/bootstrap-demochecker
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# Bootstrap the Taler setup for the user account that
+# is currently logged in.
+
+# Generates a setup for a single user,
+# including a postgresql DB.
+
+set -eu
+
+if [[ "demo-checker" != $(whoami) ]] ; then
+ echo "Please run this script as the 'demo-checker' user"
+fi
+
+
+if [[ ! -d worker ]]; then
+ buildbot-worker create-worker --umask=0o22 ~/worker localhost:9989 demo-worker demo-pass
+fi
diff --git a/bootstrap-reservetopper b/bootstrap-reservetopper
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+# Bootstrap the Taler setup for the user account that
+# is currently logged in.
+
+# The setup generated by this script is suitable for
+# blue-green deployments, where two users run
+# identical environments, and traffic can be switched
+# between them.
+
+# To create a demo setup, run
+# demo-blue$ ~/deployment/bootstrap-bluegreen demo
+# demo-green$ ~/deployment/bootstrap-bluegreen demo
+
+# NOTE: ENVNAME is also the name of the user who keeps
+# shared data in its home directory, so it must exist!
+# For demo/test ENVNAMEs, see {demo,test}.sh
+
+set -eu
+
+usage() {
+ echo "Usage: $0 ENVNAME, test or demo"
+}
+
+if [ -z ${1+x} ]; then
+ usage
+ exit 1
+fi
+
+ENVNAME=$1
+source ~/envconfig
+
+case $ENVNAME in
+
+ test)
+ CURRENCY=TESTKUDOS
+ ;;
+ demo)
+ CURRENCY=KUDOS
+ ;;
+ *)
+ echo Invalid envname, only 'test' and 'demo'.
+ exit 1
+ ;;
+esac
+
+cd $HOME
+
+if ! test -d $HOME/gnunet; then
+ git clone git://gnunet.org/gnunet.git
+fi
+
+if ! test -d $HOME/libmicrohttpd; then
+ git clone git://gnunet.org/libmicrohttpd.git
+fi
+
+for component in exchange bank gnurl; do
+ if ! test -d $HOME/$component; then
+ git clone git://git.taler.net/$component
+ fi
+done
+
+cat >$HOME/activate <<EOL
+#!/bin/bash
+
+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 PYTHONPATH="$HOME/local/lib/python3.5/site-packages"
+export TALER_CHECKDB="postgres:///talercheck-$USER"
+export TALER_CONFIG_CURRENCY=$CURRENCY
+
+# DEPRECATED ALIAS!
+export TALER_CONFIG_ENV=$ENVNAME
+
+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/"
+EOL
+
+mkdir -p "$HOME/sockets"
+mkdir -p "$HOME/stamps"
+mkdir -p "$HOME/taler-data"
+
+ln -sf ../deployment/taler-build/Makefile stamps/
+ln -sf ../deployment/taler-build/invalidate.sh stamps/
+
+if [[ ! -d "worker" ]]; then
+buildbot-worker create-worker $HOME/worker localhost:9989 "$ENVNAME-topper-worker" "$ENVNAME-topper-pass"
+fi
diff --git a/bootstrap-sitesbuilder b/bootstrap-sitesbuilder
@@ -24,7 +24,11 @@ for component in $REPOS; do
git -C $HOME/$component checkout $BRANCH
done
-mkdir stamps
+mkdir -p ./stamps
ln -sf ../deployment/taler-sitesbuild/Makefile stamps/
ln -sf ../deployment/taler-sitesbuild/invalidate.sh stamps/
+
+if [[ ! -d worker ]]; then
+ buildbot-worker create-worker --umask=0o22 ~/worker localhost:9989 sites-worker sites-pass
+fi
diff --git a/bootstrap-taler b/bootstrap-taler
@@ -28,14 +28,26 @@ if [ -z ${1+x} ]; then
fi
ENVNAME=$1
-CURRENCY=TESTKUDOS
-
source ~/envconfig
case $ENVNAME in
+
+ test)
+ CURRENCY=TESTKUDOS
+ ;;
+ int)
+ CURRENCY=INTKUDOS
+ ;;
demo)
CURRENCY=KUDOS
;;
+ lcov)
+ CURRENCY=UNUSED
+ ;;
+ *)
+ echo Invalid envname, please use 'test' or 'int' or 'demo'.
+ exit 1
+ ;;
esac
cd $HOME
@@ -105,3 +117,21 @@ mkdir -p "$HOME/taler-data"
ln -sf ../deployment/taler-build/Makefile stamps/
ln -sf ../deployment/taler-build/invalidate.sh stamps/
+
+if test "test" = $ENVNAME; then
+ if ! test -d $HOME/test_worker; then
+ echo Creating test_worker..
+ buildbot-worker create-worker $HOME/test_worker localhost:9989 test-worker test-pass
+ else
+ echo test_worker already in place.
+ fi
+
+ if ! test -f $HOME/activate; then
+ echo FATAL: activate file was not created.
+ exit 1
+ fi
+fi
+
+if [[ "lcov" = $ENVNAME ]] && [[ ! -d worker ]]; then
+ buildbot-worker create-worker --umask=0o22 ~/worker localhost:9989 lcov-worker lcov-pass
+fi
diff --git a/build-auditorreporter b/build-auditorreporter
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+cd $HOME/stamps
+make exchange-stamp
diff --git a/build-reservetopper b/build-reservetopper
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+cd $HOME/stamps
+make gnunet-stamp
+make exchange-stamp
diff --git a/buildbot/make-buildbot-master.sh b/buildbot/make-buildbot-master.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+if ! test "buildbot-master" = $(whoami); then
+ echo Only run as the 'buildbot-master' user.
+ exit 1
+fi
+
+cd
+if test -d ./master; then
+ echo 'master' base directory exists, not touching it and exiting.
+ exit 0
+fi
+
+if ! test -d $HOME/deployment; then
+ git clone git://git.taler.net/deployment.git
+fi
+
+buildbot create-master master
+cd master
+ln -s ../deployment/buildbot/master.cfg
diff --git a/buildbot/make_auditor_reports.sh b/buildbot/make_auditor_reports.sh
@@ -6,10 +6,13 @@
set -eu
+source ${HOME}/activate
+
DATE=$(date +%Y-%m-%d)
REPORT_FILE_NOEXT=${HOME}/audit_report.${DATE}
WIRE_REPORT_FILE_NOEXT=${HOME}/wire_audit_report.${DATE}
JINJA_TEMPLATE="auditor-report.tex.j2"
+REPORTS_DIRECTORY=$(taler-config -s auditor -o reports -f)
clean_files () {
# Remove garbage and set permissions.
@@ -23,15 +26,12 @@ clean_files () {
rm -f "${REPORT_FILE_NOEXT}.txt" "${WIRE_REPORT_FILE_NOEXT}.txt"
}
-source ${HOME}/activate
if test -a ${REPORTS_DIRECTORY}/$(basename "${REPORT_FILE_NOEXT}.pdf"); then
echo "Today's report already compiled!"
exit 0
fi
-REPORTS_DIRECTORY="$(taler-config -s auditor -o reports -f)"
-
taler-auditor-exchange \
-c ${HOME}/.config/taler.conf \
-m $(taler-config -s exchange -o master_public_key) \
diff --git a/buildbot/master.cfg b/buildbot/master.cfg
@@ -4,11 +4,11 @@ from buildbot.steps.source.git import Git
from buildbot.steps.shell import ShellCommand
from buildbot.plugins import (reporters, worker, changes, schedulers, util)
-# This is a sample buildmaster config file. It must be installed as
-# 'master.cfg' in your buildmaster's base directory.
-
-# This is the dictionary that the buildmaster pays attention to.
-# We also use a shorter alias to save typing.
+# This is a sample buildmaster config file. It must be
+# installed as 'master.cfg' in your buildmaster's base
+# directory. This is the dictionary that the buildmaster
+# pays attention to. We also use a shorter alias to save
+# typing.
c = BuildmasterConfig = {}
# Silence warning and allow very basic phoning home.
@@ -16,10 +16,10 @@ c["buildbotNetUsageData"] = "basic"
####### WORKERS
-# The 'workers' list defines the set of recognized workers. Each
-# element is a Worker object, specifying a unique worker name and
-# password. The same worker name and password must be configured
-# on the worker.
+# The 'workers' list defines the set of recognized workers.
+# Each element is a Worker object, specifying a unique worker
+# name and password. The same worker name and password must
+# be configured on the worker.
c["workers"] = [
##
@@ -33,69 +33,31 @@ c["workers"] = [
worker.Worker("doc-worker", "doc-pass"),
##
- # This worker builds Websites: www/stage & docs-landing.
+ # This worker builds Websites: www and stage.
#
worker.Worker("sites-worker", "sites-pass"),
##
- # This worker builds Taler for the 'green' color under
- # the 'test' deployment.
+ # This worker builds Taler for the 'test' deployment.
worker.Worker("test-worker", "test-pass"),
##
- # This worker builds Taler for the 'green' color under
- # the 'test' deployment.
- worker.Worker("topper-worker", "topper-pass"),
-
- ##
- # This worker checks that all the services run under the
- # 'demo' deployment are up&running.
- worker.Worker("demo-worker", "demo-pass"),
-
- ##
- # This worker compiles the auditor reports for the "green"
- # deployment.
- worker.Worker("test-auditor-worker", "test-auditor-pass"),
+ # Tip reserve toppers.
+ worker.Worker("test-topper-worker", "test-topper-pass"),
+ worker.Worker("demo-topper-worker", "demo-topper-pass"),
##
# This worker compiles the auditor reports for the "green"
# demo deployment.
- worker.Worker("demo-auditor-worker-green", "demo-auditor-green-pass"),
-
- ##
- # This worker compiles the auditor reports for the "blue"
- # demo deployment.
- worker.Worker("demo-auditor-worker-blue", "demo-auditor-blue-pass"),
-
- ##
- # The following workers were rarely/never used; excluding
- # for now.
+ worker.Worker("test-auditor-worker", "test-auditor-pass"),
+ worker.Worker("demo-auditor-worker", "test-auditor-pass"),
##
- # Just a debug worker that responds to pushes made at help.git
- # worker.Worker("debug-worker", "debug-pass"),
-
- # worker.Worker("lint-worker", "lint-pass"),
- # worker.Worker("selenium-worker", "selenium-pass"),
- # worker.Worker("wallet-worker", "wallet-pass"),
+ # This worker checks that all the services run under the
+ # 'demo' deployment are up&running.
+ worker.Worker("demo-worker", "demo-pass"),
]
-
-##
-# Maps usernames to workers.
-#
-def pick_map(buildername):
-
- auditor_worker_map = {
- "demo-green": "demo-auditor-worker-green",
- "demo-blue": "demo-auditor-worker-blue"
- }
-
- meta_map = {"auditor-builder-demo": auditor_worker_map}
-
- return meta_map.get(buildername)
-
-
# 'protocols' contains information about protocols which master
# will use for communicating with workers. You must define at
# least 'port' option that workers could connect to your master
@@ -136,7 +98,9 @@ def twister_web_page(change):
NIGHTLY_SCHEDULER = schedulers.Nightly(
name="nightly-scheduler",
- builderNames=["lcov-builder", "auditor-builder-demo", "auditor-builder"],
+ builderNames=["lcov-builder",
+ "auditor-builder-demo",
+ "auditor-builder-test"],
branch="master",
hour=6,
minute=0
@@ -182,7 +146,8 @@ DEMO_SERVICES_CHECKER_SCHEDULER = schedulers.Periodic(
TIP_RESERVE_TOPPER_SCHEDULER = schedulers.Periodic(
name="tip-reserve-topper-scheduler",
periodicBuildTimer=60 * 60 * 24 * 10, # 10 days
- builderNames=["tip-reserve-topper-builder"]
+ builderNames=["tip-reserve-topper-builder-demo",
+ "tip-reserve-topper-builder-test"]
)
ALL_SCHEDULER = schedulers.SingleBranchScheduler(
@@ -221,15 +186,14 @@ LINT_SCHEDULER = schedulers.SingleBranchScheduler(
FORCE_SCHEDULER = schedulers.ForceScheduler(
name="force-scheduler",
builderNames=[
- "lcov-builder", "auditor-builder", "auditor-builder-demo",
- "test-builder", "doc-builder", "sites-builder",
- "tip-reserve-topper-builder"
-
- ##
- # Rarely/never used, excluding.
- # "wallet-builder",
- # "selenium-builder",
- # "debug-builder",
+ "lcov-builder",
+ "auditor-builder-test",
+ "auditor-builder-demo",
+ "test-builder",
+ "doc-builder",
+ "sites-builder",
+ "tip-reserve-topper-builder-test",
+ "tip-reserve-topper-builder-demo"
]
)
@@ -445,17 +409,6 @@ BUILD_FACTORY.addStep(
)
)
-TESTSWITCH_FACTORY = util.BuildFactory()
-TESTSWITCH_FACTORY.addStep(
- ShellCommand(
- name="switch active party",
- description="Switch to the party which was inactive.",
- descriptionDone="Active party has been switched.",
- command=["./switch.sh"],
- workdir="../../deployment/buildbot"
- )
-)
-
SELENIUM_FACTORY = util.BuildFactory()
SELENIUM_FACTORY.addStep(
ShellCommand(
@@ -506,65 +459,44 @@ DEMO_SERVICES_CHECKER_FACTORY.addStep(
)
DEBUG_BUILDER = util.BuilderConfig(
- name="debug-builder", workernames=["debug-worker"], factory=DEBUG_FACTORY
+ name="debug-builder",
+ workernames=["debug-worker"],
+ factory=DEBUG_FACTORY
)
LINT_BUILDER = util.BuilderConfig(
- name="lint-builder", workernames=["lint-worker"], factory=LINT_FACTORY
+ name="lint-builder",
+ workernames=["lint-worker"],
+ factory=LINT_FACTORY
)
LCOV_BUILDER = util.BuilderConfig(
- name="lcov-builder", workernames=["lcov-worker"], factory=LCOV_FACTORY
-)
-
-
-##
-# Helper function that picks the active deployment between
-# blue and green and schedules it as the next worker for producing
-# auditor reports.
-def pick_active_color(marker, builder, workers_list, build_request):
-
- f = open(marker, "r")
- if not f:
- print("No active color in marker (%s)" % marker)
- f.close()
- return None
- active = f.readline().rstrip()
- print("Found active color: %s" % str(active))
- aw = pick_map(builder.name).get(str(active))
- for worker in workers_list:
- if aw == worker.worker.workername:
- f.close()
- print("Scheduling worker: %s" % str(worker))
- return worker
-
- print("Couldn't find the active worker, aborting.")
- f.close()
- return None
-
-
-def pick_active_color_demo(builder, workers_list, build_request):
- return pick_active_color(
- "/home/demo/active", builder, workers_list, build_request
- )
-
+ name="lcov-builder",
+ workernames=["lcov-worker"],
+ factory=LCOV_FACTORY
+)
AUDITOR_BUILDER_TEST = util.BuilderConfig(
- name="auditor-builder",
+ name="auditor-builder-test",
workernames=["test-auditor-worker"],
factory=AUDITOR_FACTORY
)
AUDITOR_BUILDER_DEMO = util.BuilderConfig(
name="auditor-builder-demo",
- nextWorker=pick_active_color_demo,
- workernames=["demo-auditor-worker-blue", "demo-auditor-worker-green"],
+ workernames=["demo-auditor-worker"],
factory=AUDITOR_FACTORY
)
-TIP_RESERVE_TOPPER_BUILDER = util.BuilderConfig(
- name="tip-reserve-topper-builder",
- workernames=["topper-worker"],
+TIP_RESERVE_TOPPER_BUILDER_DEMO = util.BuilderConfig(
+ name="tip-reserve-topper-builder-demo",
+ workernames=["demo-topper-worker"],
+ factory=TIP_RESERVE_TOPPER_FACTORY
+)
+
+TIP_RESERVE_TOPPER_BUILDER_TEST = util.BuilderConfig(
+ name="tip-reserve-topper-builder-test",
+ workernames=["test-topper-worker"],
factory=TIP_RESERVE_TOPPER_FACTORY
)
@@ -603,15 +535,11 @@ c["builders"] = [
AUDITOR_BUILDER_TEST,
AUDITOR_BUILDER_DEMO,
TEST_BUILDER,
- TIP_RESERVE_TOPPER_BUILDER,
+ TIP_RESERVE_TOPPER_BUILDER_DEMO,
+ TIP_RESERVE_TOPPER_BUILDER_TEST,
DEMO_SERVICES_CHECKER_BUILDER,
DOC_BUILDER,
SITES_BUILDER,
- # Rarely/never used:
- # SELENIUM_BUILDER,
- # WALLET_BUILDER,
- # DEBUG_BUILDER,
- # LINT_BUILDER
]
####### BUILDBOT SERVICES
@@ -643,7 +571,6 @@ EMAIL = reporters.MailNotifier(
mode=("change"),
builders=(
"lcov-builder",
- "testswitcher-builder",
"doc-builder",
"test-builder",
##
@@ -668,40 +595,48 @@ c["buildbotURL"] = "https://buildbot.taler.net/"
from taler_bb_userpass_db import USER_PASSWORD_DB
BUILDER_LIST = [
- "doc-builder", "lcov-builder", "auditor-builder", "auditor-builder-demo",
- "demo-services-checker-builder", "tip-reserve-topper-builder",
- "sites-builder", "test-builder"
-
- ##
- # Rarely/never used, excluding.
- # "lint-builder",
- # "wallet-builder",
- # "selenium-builder"
+ "doc-builder",
+ "lcov-builder",
+ "auditor-builder",
+ "auditor-builder-test",
+ "auditor-builder-demo",
+ "demo-services-checker-builder",
+ "tip-reserve-topper-builder-demo",
+ "tip-reserve-topper-builder-test",
+ "sites-builder",
+ "test-builder"
]
authz = util.Authz(
allowRules=[
- util.ForceBuildEndpointMatcher(role="admins", builder=b)
+ util.ForceBuildEndpointMatcher(role="admins",
+ builder=b)
for b in BUILDER_LIST
] + [
- util.StopBuildEndpointMatcher(role="admins", builder=b)
+ util.StopBuildEndpointMatcher(role="admins",
+ builder=b)
for b in BUILDER_LIST
] + [
- util.RebuildBuildEndpointMatcher(role="admins", builder=b)
+ util.RebuildBuildEndpointMatcher(role="admins",
+ builder=b)
for b in BUILDER_LIST
] + [
- util.ForceBuildEndpointMatcher(role="norole", builder=b)
+ util.ForceBuildEndpointMatcher(role="norole",
+ builder=b)
for b in BUILDER_LIST
] + [
- util.StopBuildEndpointMatcher(role="norole", builder=b)
+ util.StopBuildEndpointMatcher(role="norole",
+ builder=b)
for b in BUILDER_LIST
] + [
- util.RebuildBuildEndpointMatcher(role="norole", builder=b)
+ util.RebuildBuildEndpointMatcher(role="norole",
+ builder=b)
for b in BUILDER_LIST
],
roleMatchers=[
util.RolesFromUsername(
- roles=["admins"], usernames=["marcello", "florian", "christian"]
+ roles=["admins"],
+ usernames=["marcello", "florian", "christian"]
)
]
)
diff --git a/doc/gls.txt b/doc/gls.txt
@@ -1,73 +0,0 @@
-Abstract:
-
- this text has instructions about how to get Aqbanking to
- function against the GLS bank, and is *not* complete.
-
-https://vrkennung.de/fintshbci-allgemein/
-
-### ---- key based access. Extracted from https://www.aquamaniac.de/sites/download/download.php?package=09&release=09&file=01&dummy=aqbanking4-handbook-20091231.pdf
-
-# 1 Create local keys _container_ (so no keys are created yet).
-$ gct-tool create -t ohbci -n output.medium
-
-# 2 Create user associated with local keys. (From now on, ${UNIQUEID} points to this fresh user)
-$ aqhbci-tool4 adduser -s 'https://hbci.gad.de' -u VRK588XXXX -c VRK588XXX -N 67264051XXX -b 43060967 -t ohbci --context=1 --rdhtype=0 --hbciversion=300 -n output.medium
-
-# 3 Get keys (sign & crypt) from the bank. Didn't work.
-$ aqhbci-tool4 getkeys --user=${UNIQUEID}
-
-# 4 Show local (container) and bank's keys. No warnings reported, but neither keys hashcodes.
-$ gct-tool showkey -t ohbci -n output.medium
-
-# 5 Actually create keys now. Worked.
-$ aqhbci-tool4 createkeys --user=${USER}
-
-# 6 Send keys to the bank. Didn't work (I suspect the URL associate with the user is not right).
-$ aqhbci-tool4 sendkeys --user=${USER}
-
-# 7 Last, generate letter. Worked.
-$ aqhbci-tool4 iniletter --user=${USER} > ini.txt
-
-# 8 Pen-sign the letter and send via snail mail to the bank.
-
-============== mobile TAN method below; could not get it to work.
-
-# Add a user in the system. The user has a bank and a customer id,
-# but is _not_ active yet (see commands below).
-$ aqhbci-tool4 adduser -s 'https://hbci-pintan.gad.de/cgi-bin/hbciservlet' -u VRK588XXX -c VRK588XXX -N 6726405XXX -b 43060967 -t pintan --context=1
-
-# Then get the "sysid".
-$ aqhbci-tool4 getsysid --user=U
-
-# Finally, give the following command to "unlock" the user.
-$ aqhbci-tool4 getitanmodes --user=U
-
-# If the three commands above all worked out, then balance
-# and transactions list should be available. Try this with
-# the following commands.
-
-$ aqbanking-cli request --balance
-
-# and
-
-$ aqbanking-cli request --transactions
-
-# At this point, we need to workaround the lack of a BIC code
-# in the configuration, in order to be able to get the PIN by
-# phone. Say the BIC is BANKBIC, edit the following file adding
-# a 'bic=BANKBIC' line next to the other details in the upper part
-# of the file:
-
-~/.aqbanking/settings6/accounts/<unique-user-id>.conf
-
-# If the previous step worked, then issue a SEPA transfer with:
-
-$ aqbanking-cli sepatransfer --aid=<bank-account-id> --riban='DEXXX' --value="1,00:EUR" --rbic="REMOBIC" --rname="Remote Owner Name" --purpose="Test transfer 2" --name="Issuer Name" -E "Test 222"
-
-# NOTE: <bank-account-id> is the id number that Aqbanking gives
-# to bank accounts (not users!). It can be seen by the following
-# command:
-
-$ aqbanking-cli listaccs
-
-# <bank-account-id> is now found in the second to last field.
diff --git a/prepare-auditorreporter b/prepare-auditorreporter
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+set -eu
+
+$HOME/deployment/bootstrap-auditorreporter $1
+$HOME/deployment/build-auditorreporter
+$HOME/deployment/bin/taler-deployment-config-generate
diff --git a/prepare-reservetopper b/prepare-reservetopper
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -eu
+
+$HOME/deployment/bootstrap-reservetopper $1
+$HOME/deployment/build-reservetopper
+$HOME/deployment/bin/taler-deployment-config-generate
+
+source $HOME/activate
+priv_filename=$(taler-config -s instance-default -o tip_reserve_priv_filename -f)
+mkdir -p $(dirname $priv_filename)
+cp $HOME/deployment/private-keys/default-tip.priv $priv_filename
diff --git a/taler-build/invalidate.sh b/taler-build/invalidate.sh
@@ -1,9 +1,15 @@
#!/bin/bash
set -eu
-components="auditor deployment exchange merchant bank gnurl donations blog landing gnunet libmicrohttpd survey backoffice twister"
+COMPONENTS="auditor deployment exchange merchant bank gnurl donations blog landing gnunet libmicrohttpd survey backoffice twister"
+
+for component in $COMPONENTS ; do
+
+ # Not all the setups have all the repos!
+ if ! test -d $HOME/$component; then
+ continue
+ fi
-for component in $components ; do
cd $HOME/$component
git fetch
if git status -sb | grep behind; then
diff --git a/taler-sitesbuild/Makefile b/taler-sitesbuild/Makefile
@@ -3,11 +3,6 @@ BASE="${HOME}/deployment/taler-sitesbuild"
all: www.taler.net-stamp
all: twister.taler.net-stamp
all: stage.taler.net-stamp
-all: docs.taler.net-stamp
-
-docs.taler.net-stamp:
- ${BASE}/update_doc_landing.sh
- touch $@
stage.taler.net-stamp:
${BASE}/update_stage.sh