diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-06-27 14:48:43 +0200 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-06-27 14:48:43 +0200 |
commit | 5c5a177e44c69ac018a0bcbef47dc2dee17380f8 (patch) | |
tree | a01b14d213a49ed2bf55c362e1b76c2e5075af96 /doc/onboarding.texi | |
parent | dc41a1ef932f46be3d7d043ded785b2f8fb0eb84 (diff) | |
download | deployment-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.texi | 199 |
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 |