diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-04-22 16:21:02 +0200 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-04-22 16:21:02 +0200 |
commit | 9abcd014b5fcb50d0546bcd2fbd0a9bfa5bb48b4 (patch) | |
tree | a5f7086a0fe32910b578e10c004ca8106acdd2fe /doc | |
parent | 875fdb95058e01c8386c07ef7c376ce6b11f8c95 (diff) | |
download | deployment-9abcd014b5fcb50d0546bcd2fbd0a9bfa5bb48b4.tar.gz deployment-9abcd014b5fcb50d0546bcd2fbd0a9bfa5bb48b4.tar.bz2 deployment-9abcd014b5fcb50d0546bcd2fbd0a9bfa5bb48b4.zip |
polish per-user installation (untested)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/onboarding.texi | 165 |
1 files changed, 22 insertions, 143 deletions
diff --git a/doc/onboarding.texi b/doc/onboarding.texi index 4307a3a..8514d8e 100644 --- a/doc/onboarding.texi +++ b/doc/onboarding.texi @@ -51,7 +51,6 @@ Texts. A copy of the license is included in the section entitled @menu * Standalone deployment:: Deploy Taler in your homepage -* Deployment on demo.taler.net:: Deploy Taler in a "blue/green" fashion * Testing components:: How to make and run tests. * Releases:: Releases patterns @end menu @@ -59,10 +58,6 @@ Texts. A copy of the license is included in the section entitled @node Standalone deployment @chapter Standalone deployment -This tecnique aims to set a thorough Taler installation up on a -machine whose nginx configuration is configured by config files -from @emph{https://git.taler.net/deployment.git/tree/etc/nginx}. - This installation assumes that all the steps are run with @code{$HOME} as @code{$CWD}. @@ -71,7 +66,7 @@ the needed scripts. @example # Adapt the repository's URL to your needs. -$ git clone /var/git/deployment.git/ +$ git clone git://git.taler.net/deployment @end example The next step is to fetch all the codebases from all the components. @@ -119,30 +114,26 @@ $ source activate # contain $HOME/local/bin. $ echo $PATH -# Then we need to install GNUnet beforehand, as it provides the 'ARM' -# utility that is used to start the database service. +# 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, with ($CWD is irrelevant now): +# Now we can start the database $ taler-deployment-arm -s $ taler-deployment-arm -i taler-postgres-standalone -# Configuration file can be generated now. NOTE: this step must -# be run before the main build, as some components (Python ones notably) -# do require ~/.config/taler.conf to exist. -$ taler-deployment-config-generate - # If the previous commands succeeded, then we can install all the remaining # components and run checks for them. Issue: $ taler-deployment-build @end example - -The following one will place signatures inside wireformat JSON files. - +Now make the configuration file @code{${HOME}/.config/taler.conf}: @example -$ taler-deployment-config-sign +$ taler-deployment-config-generate @end example The next step is to generate @cite{signkeys} and @cite{denomkeys}. @@ -153,31 +144,19 @@ auditor. $ taler-deployment-keyup @end example -@cartouche -@quotation Note - -A database error about non existent auditor-related tables might be -returned while generating keys. Fix it by running: - -@smallexample -taler-auditor -m $(taler-config -s exchange -o master_public_key) -r -@end smallexample - -This is likely to happen after database resets, and @code{taler-auditor} -is responsible for creating all auditor-related tables. -@end quotation -@end cartouche +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. +following command does that. Note that you have to manually start the +database, with the following command. @example taler-deployment-arm -s @@ -185,121 +164,22 @@ taler-deployment-arm -i taler-postrges-standalone @end example @example -# Erase all the data! -$ taler-exchange-dbinit -r -@end example +# Note that this command _also_ erases any previous +# data in the database. -As of the merchant backend, it creates tables at launch time, so it is -not required to define tables before launching it. @cite{However}, if some -table's definition changed over the time, and there is a need to force -a redefinition of tables, then the following command accomplishes that -for the merchant: - -@example -# Erase all the data! +$ taler-exchange-dbinit -r $ taler-merchant-dbinit -r @end example -If all previous steps succeeded, it is now possible to launch all the -processes. That is accomplished by the following command: +If all previous steps succeeded, it is now possible to launch all +the processes: @example $ taler-deployment-start @end example -@cartouche -@quotation Note -Please make sure your nginx works correctly with its configuration -at @code{<DEPLOYMENT-REPO>/etc/nginx}. -@end quotation -@end cartouche - -@node Deployment on demo.taler.net -@chapter Deployment on demo.taler.net - -This section describes how to upgrade the whole Taler setup on the -@url{taler.net} Web site. Here, the deployment scripts include a -``stable'' setup at @url{demo.taler.net} and an ``experimental'' setup -at @url{test.taler.net}. This section documents the steps for moving -the ``experimental'' logic to the ``stable'' site. It is mostly -useful for administrators of @url{taler.net}, but given that all of -the configuration files are public, it may also make a good starting -point for others. - - -@c FIXME: what does this line mean? -First, make sure that the deployment @emph{AND} the deployment scripts work on the @cite{test.taler.net} deployment. - -For all repositories that have a separate stable branch (currently exchange.git, -merchant.git, donations.git, blog.git, bank.git, landing.git) do: - -@example -$ cd $REPO -$ git pull origin master stable -$ git checkout stable - -# option a: resolve conflicts resulting from hotfixes -$ git merge master -$ ... - -# option b: force stable to master -$ git update-ref refs/heads/stable master - -$ git push # possibly with --force - -# continue development -$ git checkout master -@end example - -Log into taler.net with the account that is @emph{not} active by looking -at the @cite{sockets} symlink of the @cite{demo} account. - -The following instructions wipe out the old deployment completely. - -@example -$ ls -l ~demo/sockets - -[...] sockets -> /home/demo-green/sockets/ -@end example - -In this case, @cite{demo-green} is the active deployment, and @cite{demo-blue} should be updated. -After the update is over, the @cite{/home/demo/sockets} symlink will be pointed to @cite{demo-blue}. - -@example -# Remove all existing files; this won't delete dot-files. -$ rm -fr * - -$ git clone /var/git/deployment.git -# Pick color depending on which one is inactive and being rebuilt. -$ ./deployment/bootstrap-bluegreen demo [blue|green] - -# set environment appropriately -$ . activate -$ taler-deployment-build - -# (re)generate configuration -$ taler-deployment-config-generate - -# generate signatures -$ taler-deployment-config-sign - -# upgrade the database! this process depends on the specific -# version. However, exchange and merchant have the -# taler-@{exchange,merchant@}-dbinit -r command that resets all -# the tables; the bank might need a tables reset too: refer to -# django documentation for how to apply migrations to the database. - -# generate denomination keys: this is OPTIONAL, -# as the keys under ~/shared-data might be okay -# to use. -$ taler-deployment-keyup - -$ taler-deployment-start - -# look at the logs, verify that everything is okay -@end example - -Now the symlink can be updated. +All the services should be reachable at the following URL: +@code{https://fixme} @node Testing components @chapter Testing components @@ -447,7 +327,6 @@ make dist @c FIXME: selenium test cases - @section Upload to GNU mirrors See @emph{https://www.gnu.org/prep/maintain/maintain.html#Automated-FTP-Uploads} |