summaryrefslogtreecommitdiff
path: root/README.md
blob: 6fd724a477c7c4bae9a3fa3382e99b9b2e3be3fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Summary
=======

This repository contains various scripts and configuration files
that manage the various deployments of GNU Taler at https://taler.net/.

We use buildbot as the main driver of the deployment.  The various
buildslaves are launched as user services by systemd.

Buildbot jobs are used to:
- generate the various (static) Web sites (www, coverage analysis, etc.)
- launch the various interactive Taler services
  (primarily demo.taler.net, test.taler.net, int.taler.net)
- run unit tests

A namespace/process jail is used to ensure there are no port conflicts or
surviving processes for unit tests that require ports that might conflict.


Deployment Layout
=================

buildbot/ -- scripts and configuration for the buildmaster and jobs launched by it
envcfg/ -- Git tags for various deployments, specify which versions should be used
history/ -- directory for NOT MAINTAINED scripts
historic/docker/ -- dockerized Taler deployment
historic/guix/ -- Guix packages for Taler
netjail/ -- scripts to create a namespaces to ensure buildslaves do not compete for resources
postmortem/ -- postmortem reports about major incidents we have had with lessons learned
private-keys/ -- deployment private keys so that keys do not change if we migrate elsewhere
sign-gnu-artefact -- shell script for making releases and preparing upload to ftp.gnu.org
systemd-services/ -- service definitions for buildbot build-slaves
taler-sitesbuild/ -- scripts for updating our Web sites


TODOS:
======

1) Inconsistency:

bootstrap-* -- shell scripts to setup the accounts to run some of the services on taler.net; TODO: should likely be integrated with "$ bin/taler-deployment bootstrap" logic for uniformity

2) envcfg.py files MUST currently exist in (most) $HOME directories of buildbot jobs.
   However, they are not yet versioned here. We should version them, and deploy the
   envconfigs also via the respective buildbot jobs.

3) Undocumented:

mypy/ -- MARCELLO?
prepare-* -- MARCELLO?
pylint/ -- MARCELLO?
selenium/ -- MARCELLO?