summaryrefslogtreecommitdiff
path: root/doc/onboarding.texi
diff options
context:
space:
mode:
authorMarcello Stanisci <stanisci.m@gmail.com>2019-06-27 14:48:43 +0200
committerMarcello Stanisci <stanisci.m@gmail.com>2019-06-27 14:48:43 +0200
commit5c5a177e44c69ac018a0bcbef47dc2dee17380f8 (patch)
treea01b14d213a49ed2bf55c362e1b76c2e5075af96 /doc/onboarding.texi
parentdc41a1ef932f46be3d7d043ded785b2f8fb0eb84 (diff)
downloaddeployment-5c5a177e44c69ac018a0bcbef47dc2dee17380f8.tar.gz
deployment-5c5a177e44c69ac018a0bcbef47dc2dee17380f8.tar.bz2
deployment-5c5a177e44c69ac018a0bcbef47dc2dee17380f8.zip
docs.
Adapt onboarding to the lack of test-{blue/green}.
Diffstat (limited to 'doc/onboarding.texi')
-rw-r--r--doc/onboarding.texi199
1 files changed, 40 insertions, 159 deletions
diff --git a/doc/onboarding.texi b/doc/onboarding.texi
index 4d38cdf..367ff1e 100644
--- a/doc/onboarding.texi
+++ b/doc/onboarding.texi
@@ -50,8 +50,7 @@ Texts. A copy of the license is included in the section entitled
@end ifnottex
@menu
-* demo/test deployment:: Deploy Taler for "demo" and "test" setups.
-* Standalone deployment:: Deploy Taler in your homepage @ taler.net
+* Taler installation:: How to install all Taler components
* Testing components:: How to make and run tests
* Releases:: Releases patterns
* Code:: Where to find Taler code
@@ -60,23 +59,35 @@ Texts. A copy of the license is included in the section entitled
* Code coverage:: Where to find coverage reports
@end menu
-@node demo/test deployment
-@chapter demo/test deployment
+@node Taler installation
+@chapter Taler installation
-The following steps are valid if run as one of the following users:
+@section Users serving Taler.
+
+On Gv.Taler.Net, there are four users that are set up to serve Taler
+on the internet:
+
+@itemize
+@item @code{taler-test}: serves @code{*.test.taler.net} and gets automatically built by Buildbot.
+@item @code{taler-internal}: serves @code{*.int.taler.net}, and does @emph{NOT} get automatically built.
+@end itemize
+
+The following two users are @emph{NEVER} automatically built, and
+they both serve @code{*.demo.taler.net}. At any given time, only
+one is active and serves the HTTP requests from the outside; the other
+one can so be compiled without any downtime. If the compilation succeeds,
+the inactive user can be switched to become active (see next section),
+and viceversa.
@itemize
-@item demo-blue
-@item demo-green
-@item test-blue
-@item test-green
+@item @code{demo-blue}
+@item @code{demo-green}
@end itemize
@section Compile and switch color.
If the setup is already bootstrapped, then it should only be needed
to login as 'demo-X' (with X being the inactive color); and then:
-
@example
$ source activate
$ taler-deployment-build
@@ -99,11 +110,15 @@ $ cd $HOME
$ git clone git://git.taler.net/deployment
@end example
-Then run the bootstrap script that
-will download all the repositories.
+Then run the bootstrap script that will download all the repositories.
@example
-$ ./deployment/bootstrap-bluegreen demo X # with X == 'green' / 'blue'
+$ ./deployment/bootstrap-taler <env>
+
+# <env> will make all the services serve *.<env>.taler.net
+#
+# Currently at Gv.Taler.Net, only 'demo' / 'test' / 'int' have
+# DNS and certs configured.
@end example
If successful, then activate the new environment with:
@@ -118,34 +133,31 @@ $ taler-deployment-build
@end example
Create the global configuration file.
-
@example
$ taler-deployment-config-generate
@end example
-Create the folder to share data between the two colors.
-
+Create (only) the folders where all the data needed by
+Taler will be copied into (keys / JSONs with wire details / ..)
@example
$ taler-deployment-hier
@end example
Create all the keys.
-
@example
$ taler-deployment-keyup
@end example
Sign the @code{/wire} response for the exchange.
-
@example
$ taler-deployment-sign
@end example
@cartouche
@quotation Note
-If the DB schema of merchant or exchange changed, at this point
-it MIGHT be necessary to reset all the tables. To this regard,
-consider running one of the following commands:
+If the DB schema of merchant/exchange/auditor changed, at this
+point it MIGHT be necessary to reset all the tables. To this
+regard, consider running one of the following commands:
@example
# To reset the merchant DB.
@@ -153,6 +165,9 @@ $ taler-merchant-dbinit -r
# To reset the exchange DB.
$ taler-exchange-dbinit -r
+
+# To reset the exchange DB.
+$ taler-auditor-dbinit -r
@end example
@end quotation
@@ -163,6 +178,10 @@ to launch all the services. Give:
@example
$ taler-deployment-start
+
+# or restart, if you want to kill old processes and
+# start new ones.
+$ taler-deployment-restart
@end example
Verify that all services are up and running:
@@ -171,12 +190,6 @@ $ taler-deployment-arm -I
$ tail logs/<component>-<date>.log
@end example
-Switch now to the color just built:
-
-@example
-$ taler-deployment-switch-<demo/test>-<blue/green>
-@end example
-
@section How to upgrade the code.
Some repositories, especially the ones from the released components,
@@ -205,138 +218,6 @@ $ git push # possibly with --force
$ git checkout master
@end example
-@node Standalone deployment
-@chapter Standalone deployment
-
-This installation assumes that all the steps are run with @code{$HOME}
-as @code{$CWD}.
-
-NOTE: this documents does not explain how to get all the dependencies
-installed, but just how to use the helper scripts hosted in this repository.
-Any component comes with a "doc" directory, or a README file where building
-instructions are reported. As a last resort, those instructions are also
-available at https://docs.taler.net.
-
-The first step is to fetch the @cite{deployment} repository, which hosts all
-the needed scripts.
-
-@example
-# Adapt the repository's URL to your needs.
-$ git clone git://git.taler.net/deployment
-@end example
-
-The next step is to fetch all the codebases from all the components.
-
-@example
-$ ./deployment/bootstrap-standalone
-@end example
-
-If the previous step succeeded, a file named @code{activate} should be now
-in the @code{$CWD}. It contains environmental definitions for @code{$PATH} and
-database names.
-
-@cartouche
-@quotation Note
-Please @emph{ignore} the output from the previous script when it succeeds,
-which is
-
-@quotation
-
-@smallexample
-WARNING: enabling "trust" authentication for local connections
-You can change this by editing pg_hba.conf or using the option -A, or
---auth-local and --auth-host, the next time you run initdb.
-
-Success. You can now start the database server using:
-
-/usr/lib/postgresql/9.5/bin/pg_ctl -D talerdb -l logfile start
-@end smallexample
-
-The reason is that this message is generated by Postgresql's utilities and
-you never need to start your database manually; it will be started by the
-init script that launches all the Taler processes.
-@end quotation
-@end quotation
-@end cartouche
-
-Now we need to compile and install all the downloaded codebases.
-
-@example
-# We first update `@w{`}$PATH`@w{`}, in order to make all the compilation
-# and configuration utilities available.
-$ source activate
-
-# Double check if the previous step worked: $PATH should
-# contain $HOME/local/bin.
-$ echo $PATH
-
-# Then we need to install GNUnet, as it provides the 'ARM'
-# utility that is used to start the database service. The
-# database service is needed to let the compilation run its
-# tests.
-
-$ cd deployment/taler-build/
-$ make gnunet-stamp
-
-# Now we can start the database
-$ taler-deployment-arm -s
-$ taler-deployment-arm -i taler-postgres-standalone
-
-# If the previous commands succeeded, then we can install all the remaining
-# components and run checks for them. Issue:
-$ taler-deployment-build
-@end example
-
-Now make the configuration file @code{$@{HOME@}/.config/taler.conf}:
-@example
-$ taler-deployment-config-generate
-@end example
-
-The next step is to generate @cite{signkeys} and @cite{denomkeys}.
-Note that it will also get the denomkeys signed by the (local mock)
-auditor.
-
-@example
-$ taler-deployment-keyup
-@end example
-
-The following one will place signatures inside wireformat JSON files.
-
-@example
-$ taler-deployment-config-sign
-@end example
-
-@c An error of "invalid currency name" might be related to the current
-@c policy of 12-chars limit for currency names; which is likely going to
-@c be changed.
-
-It may be necessary to define database tables for the exchange. The
-following command does that. Note that you have to manually start the
-database, with the following command.
-
-@example
-taler-deployment-arm -s
-taler-deployment-arm -i taler-postrges-standalone
-@end example
-
-@example
-# Note that this command _also_ erases any previous
-# data in the database.
-
-$ taler-exchange-dbinit -r
-$ taler-merchant-dbinit -r
-@end example
-
-If all previous steps succeeded, it is now possible to launch all
-the processes:
-
-@example
-$ taler-deployment-start
-@end example
-
-All the services should be reachable at the following URL:
-@code{https://env.taler.net/<username>/<service>[/endopoint[?arg0=x&arg1=y]]}
-
@node Testing components
@chapter Testing components