diff options
author | Florian Dold <florian@dold.me> | 2023-03-28 13:39:55 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-03-28 13:39:55 +0200 |
commit | 74b98766d448602ef24461ec52aa33bfdfa73b6d (patch) | |
tree | b999123129574b54005f0069107594cc970dbea4 /design-documents | |
parent | 846196d186c65af99e1ba5546988025acdab7b0b (diff) | |
download | docs-74b98766d448602ef24461ec52aa33bfdfa73b6d.tar.gz docs-74b98766d448602ef24461ec52aa33bfdfa73b6d.tar.bz2 docs-74b98766d448602ef24461ec52aa33bfdfa73b6d.zip |
-db recommendation
Diffstat (limited to 'design-documents')
-rw-r--r-- | design-documents/033-synchetic-wallet-errors.rst | 57 | ||||
-rw-r--r-- | design-documents/040-distro-packaging.rst | 17 |
2 files changed, 72 insertions, 2 deletions
diff --git a/design-documents/033-synchetic-wallet-errors.rst b/design-documents/033-synchetic-wallet-errors.rst new file mode 100644 index 00000000..962e2dc3 --- /dev/null +++ b/design-documents/033-synchetic-wallet-errors.rst @@ -0,0 +1,57 @@ +Design Doc 033: Dev Experiments +############################### + +Summary +======= + +This design document defines new ``taler://`` URIs to cause synthetic errors +or special states in the wallet that can then be rendered by the UI. + +Motivation +========== + +UIs need to handle various (error-) states and responses of wallet-core. It's +not easy to cover all of these states and responses manually. Some of them are +hard to reach or simulate without an elaborate test setup. + +Requirements +============ + +The implementation of synthetic errors should be as separate from production +code as possible, to avoid making the normal code paths unreadable. + + +Proposed Solution +================= + +Special taler:// URIs +--------------------- + +* ``taler://dev-experiment/$STATE_ID`` +* ``taler://pay/...?dev-experiment=`` + +Special http(s):// URIs +----------------------- + +* ``http(s)://*.dev-experiment.taler.net/`` + + * URLs for this subdomain are handled specially by the + wallet's HTTP layer and return fixed / mocked responses + instead of making real requests. + + +List of experiments +------------------- + + + +Alternatives +============ + +Drawbacks +========= + +Discussion / Q&A +================ + +(This should be filled in with results from discussions on mailing lists / personal communication.) diff --git a/design-documents/040-distro-packaging.rst b/design-documents/040-distro-packaging.rst index b9c82535..8e52c57b 100644 --- a/design-documents/040-distro-packaging.rst +++ b/design-documents/040-distro-packaging.rst @@ -87,9 +87,9 @@ Database Packages should *not* use ``dbconfig-common``. Reasons are: -* ``debconfig-common`` is lacking in documentation and very difficult +* ``dbconfig-common`` is lacking in documentation and very difficult to use for packagers. -* ``debconfig-common`` offers too much flexibility and +* ``dbconfig-common`` offers too much flexibility and asks too many questions to the administrator, especially when reconfiguring a package. The ``taler-merchant`` package currently breaks when the user chooses anything else than ``ident`` auth. @@ -99,6 +99,19 @@ Packages should *not* use ``dbconfig-common``. Reasons are: * Very few packages in Debian (<30) actually use ``dbconfig-common``; even fewer are notable or widely used packages. +Instead, each package should document how to set up +the database and *optionally* ship an executable named +``taler-$component-dbconfig`` that: + +1. Creates the database and adjusts permissions +2. Checks if the database is accessible +3. Runs ``taler-$component-dbinit`` if applicable + and unless supressed by the user. + +For now, our tooling shall only support PostgreSQL and only set up ``ident`` +authentication or set up ``password`` authentication with a random password for +components that do not support DB connections via unix domain sockets. + Definition of Done ================== |