commit 3b48b728701ac1d8dca962b34ffc6d6d9c0158b3
parent 464c6f3179ef953f911926fe8d160245746cc9c4
Author: Antoine A <>
Date: Tue, 14 Oct 2025 19:18:32 +0100
new observability API
Diffstat:
5 files changed, 100 insertions(+), 35 deletions(-)
diff --git a/core/api-corebank.rst b/core/api-corebank.rst
@@ -34,13 +34,14 @@ it provides features for local/regional currencies.
Version History
---------------
-The current protocol version is ``v10``.
+The current protocol version is ``v11``.
Android cashier app is currently targeting ``v9``.
**Version history:**
-* ``v10`` (in development): Update two factor authentication API to match Merchant Backend API
+* ``v11``: Add observability API
+* ``v10``: Update two factor authentication API to match Merchant Backend API
Config
------
@@ -48,7 +49,7 @@ Config
.. http:get:: /config
Return the protocol version and configuration information about the bank.
- This specification corresponds to ``current`` protocol being version **v10**.
+ This specification corresponds to ``current`` protocol being version **v11**.
**Response:**
@@ -152,7 +153,7 @@ The user ``admin`` is a special, hard-coded username. Some requests require the
interface TokenRequest {
// Scope for the token.
- scope: "readonly" | "readwrite" | "revenue" | "wiregateway";
+ scope: "readonly" | "readwrite" | "revenue" | "wiregateway" | "observability";
// Custom token validity duration
duration?: RelativeTime;
@@ -1898,3 +1899,10 @@ Endpoints for Integrated Sub-APIs
All endpoints under this prefix are specified
by the :doc:`GNU Taler Conversion Info API </core/api-bank-conversion-info>`.
+
+.. http:any:: /taler-observability/*
+
+ Since **v11**
+
+ All endpoints under this prefix are specified
+ by the :doc:`GNU Taler Observability API </core/api-observability>`.
diff --git a/core/api-observability.rst b/core/api-observability.rst
@@ -0,0 +1,73 @@
+..
+ This file is part of GNU TALER.
+
+ Copyright (C) 2025 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU Affero General Public License as published by the Free Software
+ Foundation; either version 2.1, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+.. target audience: developer, core developer
+
+.. _observability-api:
+
+=======================
+Taler Observability API
+=======================
+
+.. contents:: Table of Contents
+ :local:
+
+Introduction
+------------
+
+This section describes the API offered by many Taler components. The API is
+used to track the internal state of a Taler component.
+
+Config
+------
+
+.. http:get:: /config
+
+ Return the protocol version and configuration information about the bank.
+ This specification corresponds to ``current`` protocol being version **v0**.
+
+ **Response:**
+
+ :http:statuscode:`200 OK`:
+ Response is a `Config`.
+
+ **Details:**
+
+ .. ts:def:: Config
+
+ interface Config {
+ // Name of the API.
+ name: "taler-observability";
+
+ // libtool-style representation of the Bank protocol version, see
+ // https://www.gnu.org/software/libtool/manual/html_node/Versioning.html#Versioning
+ // The format is "current:revision:age".
+ version: string;
+ }
+
+Metrics
+-------
+
+.. http:get:: /metrics
+
+ Exposes application metrics in the Prometheus exposition format. These metrics can be scraped by Prometheus or other monitoring systems for observability, alerting, and analysis.
+
+ **Response:**
+
+ :http:statuscode:`200 Ok`:
+ Response woth metrics in the Prometheus text format.
+ :http:statuscode:`401 Unauthorized`:
+ Authentication failed, likely the credentials are wrong.
+\ No newline at end of file
diff --git a/manpages/libeufin-bank.conf.5.rst b/manpages/libeufin-bank.conf.5.rst
@@ -145,11 +145,7 @@ DATABASE OPTIONS
Setting the database belongs to the “[libeufin-bankdb-postgres]” section and the
following value.
-CONFIG
- PostgreSQL connection string.
-
-SQL_DIR
- Where are the SQL files to setup our tables?
+.. include:: frags/common-db-options.rs
SEE ALSO
========
diff --git a/manpages/libeufin-nexus.conf.5.rst b/manpages/libeufin-nexus.conf.5.rst
@@ -147,17 +147,7 @@ The following configuration value(s) belong to the “[nexus-httpd-wire-gateway-
ENABLED
Whether to serve the Wire Gateway API.
-AUTH_METHOD
- Authentication scheme, this can either be ``basic``, ``bearer`` or ``none``.
-
-USERNAME
- User name for ``basic`` authentication scheme.
-
-PASSWORD
- Password for ``basic`` authentication scheme.
-
-TOKEN
- Token for ``bearer`` authentication scheme.
+.. include:: frags/common-api-options.rst
HTTP REVENUE API OPTIONS
------------------------
@@ -167,28 +157,25 @@ The following configuration value(s) belong to the “[nexus-httpd-revenue-api]
ENABLED
Whether to serve the Revenue API.
-AUTH_METHOD
- Authentication scheme, this can either be ``basic``, ``bearer`` or ``none``.
+.. include:: frags/common-api-options.rst
-USERNAME
- User name for ``basic`` authentication scheme.
+HTTP OBSERVABILITY API OPTIONS
+------------------------------
-PASSWORD
- Password for ``basic`` authentication scheme.
+The following configuration value(s) belong to the “[nexus-httpd-observability-api]” section.
+
+ENABLED
+ Whether to serve the Observability API.
+
+.. include:: frags/common-api-options.rst
-TOKEN
- Token for ``bearer`` authentication scheme.
DATABASE OPTIONS
----------------
Setting the database belongs to the “[libeufin-nexusdb-postgres]” section and the following value.
-CONFIG
- PostgreSQL connection string.
-
-SQL_DIR
- Where are the SQL files to setup our tables?
+.. include:: frags/common-db-options.rs
SEE ALSO
========
diff --git a/manpages/taler-magnet-bank.conf.5.rst b/manpages/taler-magnet-bank.conf.5.rst
@@ -70,7 +70,7 @@ The following configuration value(s) belong to the “[magnet-bank-httpd-wire-ga
ENABLED
Whether to serve the Wire Gateway API.
-.. include:: frags/common-api-optio
+.. include:: frags/common-api-options.rst
HTTP REVENUE API OPTIONS
------------------------
@@ -80,7 +80,7 @@ The following configuration value(s) belong to the “[magnet-bank-httpd-revenue
ENABLED
Whether to serve the Revenue API.
-.. include:: frags/common-api-optio
+.. include:: frags/common-api-options.rst
DATABASE OPTIONS
----------------