taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

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:
Dbin/taler-deployment-bbstart | 6------
Dbin/taler-deployment-bbstop | 6------
Mbin/taler-deployment-config-generate | 3+++
Mbin/taler-deployment-keyup | 4----
Abin/taler-deployment-prepare | 35+++++++++++++++++++++++++++++++++++
Abootstrap-auditorreporter | 102+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Abootstrap-demochecker | 18++++++++++++++++++
Abootstrap-reservetopper | 102+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mbootstrap-sitesbuilder | 6+++++-
Mbootstrap-taler | 34++++++++++++++++++++++++++++++++--
Abuild-auditorreporter | 4++++
Abuild-reservetopper | 5+++++
Abuildbot/make-buildbot-master.sh | 20++++++++++++++++++++
Mbuildbot/make_auditor_reports.sh | 6+++---
Mbuildbot/master.cfg | 223++++++++++++++++++++++++++++---------------------------------------------------
Ddoc/gls.txt | 73-------------------------------------------------------------------------
Aprepare-auditorreporter | 7+++++++
Aprepare-reservetopper | 12++++++++++++
Mtaler-build/invalidate.sh | 10++++++++--
Mtaler-sitesbuild/Makefile | 5-----
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