This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes-website.git


The following commit(s) were added to refs/heads/dev by this push:
     new 0e32c10f4 Connectivity guide MQTT (#223)
0e32c10f4 is described below

commit 0e32c10f4f8558e0c618b7799cb3652332babdce
Author: Jacqueline Höllig <[email protected]>
AuthorDate: Mon Dec 15 16:08:51 2025 +0100

    Connectivity guide MQTT (#223)
    
    * env description
    
    * text
    
    * added introduction text
---
 docs/07_connect_mqtt.md                            | 68 ++++++++++++++++++++++
 ...chitecture.md => 08_technicals-architecture.md} |  0
 ...als-messaging.md => 08_technicals-messaging.md} |  0
 ...appers.md => 08_technicals-runtime-wrappers.md} |  0
 ...-guidance.md => 08_technicals-user-guidance.md} |  0
 docs/{08_debugging.md => 09_debugging.md}          |  0
 docs/{08_monitoring.md => 09_monitoring.md}        |  0
 docs/{09_contribute.md => 10_contribute.md}        |  0
 docs/{09_get-help.md => 10_get-help.md}            |  0
 website-v2/sidebars.json                           |  4 ++
 10 files changed, 72 insertions(+)

diff --git a/docs/07_connect_mqtt.md b/docs/07_connect_mqtt.md
new file mode 100644
index 000000000..bee2b3177
--- /dev/null
+++ b/docs/07_connect_mqtt.md
@@ -0,0 +1,68 @@
+---
+id: connect-mqtt
+title: MQTT
+sidebar_label: MQTT
+---
+
+This document provides an overview of the MQTT connection and security 
configuration options available in StreamPipes. It covers how to configure 
broker connections, authentication modes, and TLS/SSL security settings — 
including guidance on keystore and truststore management for secure 
communication.
+
+## Notes on MQTT Settings
+
+* **Broker URL** : The URL of the MQTT broker. Specify the protocol and port, 
for example:
+    * `tcp://test-server.com:1883` — for unencrypted connections
+    * `ssl://test-server.com:8883` — for secure (TLS) connections
+
+    Both the protocol (tcp:// or ssl://) and port number are required.
+* **Access Mode**: Choose between:
+  * **Unauthenticated**: No authentication required, can be used with or 
without TLS 
+  * **Username/Password**: Basic authentication with username and password, 
can be used with or without TLS 
+    * **Username**: The username for authentication
+    * **Password**: The password for authentication
+  * **Client Certificate** : Requires TLS to be enabled. Authentication is 
performed using a client certificate.
+    * **Certificate PEM**: Public Key in PEM format
+    * **Private Key PEM**: Private (RSA) Key in PEM format (without password !)
+
+## TLS Configuration
+
+To enable TLS successfully, the MQTT broker’s server certificate must be 
trusted by the Java Trust Store. If the certificate is **self-signed** or 
issued by a **certificate authority not trusted by the Java Trust Store**, one 
of the following options must be used:
+
+* **Allow self-signed certificates**: Set `SP_SECURITY_ALLOW_SELFSIGNED=true` 
to permit connections using self-signed certificates.
+
+    ⚠️ Use this only in development or testing environments, as it reduces 
certificate validation security.
+
+* **Provide a custom keystore**: Provide a keystore containing the MQTT 
server’s certificate by setting the environment variable:
+    ```bash
+    SP_SECURITY_KEYSTORE_FILENAME=/path/to/keystore.pfx
+    ```
+
+    Depending on your keystore setup, additional environment variables may 
also be required, such as:
+
+    * `SP_SECURITY_KEYSTORE_PASSWORD`
+
+    * `SP_SECURITY_KEYSTORE_TYPE`
+
+See the Security Configuration section below for more details.
+
+## Security Configuration
+
+Depending on the desired security level .env variables need to be set.
+
+| Env Variable Name              | Default Value                               
            | Description                                                       
                                                               |
+|--------------------------------|---------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
+| SP_SECURITY_KEYSTORE_FILENAME                    | 
/streampipes-security/keystore.pfx          |The file path to the keystore 
containing the application's private keys and certificates used for TLS/SSL 
communication.                                            |
+| SP_SECURITY_KEYSTORE_PASSWORD    |                           | The password 
used to unlock and access the keystore file. This value must match the password 
set when the keystore was created.                                              
                     |
+| SP_SECURITY_KEYSTORE_TYPE     | "PKCS12"                                     
              | The format or type of the keystore (e.g., PKCS12, JKS). 
Determines how keys and certificates are stored and accessed.Keystore.          
                                                     |
+| SP_SECURITY_KEY_PASSWORD        |                                       | 
The password for the specific private key within the keystore. Required if the 
key is protected by a different password than the keystore itself.  |
+| SP_SECURITY_TRUSTSTORE_FILENAME| /streampipes-security/truststore.pfx        
     | The file path to the truststore containing trusted CA certificates used 
to verify external TLS connections.               |
+| SP_SECURITY_TRUSTSTORE_PASSWORD                 |               | The 
password used to unlock and access the truststore file. This must match the 
password set when the truststore was created.                                   
                                                 |
+| SP_SECURITY_TRUSTSTORE_TYPE            | PKCS12                              
                      |The format or type of the truststore (e.g., PKCS12, 
JKS). Defines how trusted certificates are stored and managed.                  
                                     |
+| SP_SECURITY_ALLOW_SELFSIGNED       | false                                   
               | If set to true, allows TLS connections using self-signed 
certificates. Use only for testing or development environments, as it disables 
strict certificate validation and may reduce connection security.
+
+If you do not want to accept all Selfsigned certificates (only specific ones), 
you will need to mount a truststore. 
+A trustore from a certificate can be build by e.g,
+
+```bash
+# Create a keystore from the private key and certificate
+openssl pkcs12 -export -in server-cert.pem -inkey server-key.pem -out 
server-keystore.p12 -name mqtt
+```
+
diff --git a/docs/07_technicals-architecture.md 
b/docs/08_technicals-architecture.md
similarity index 100%
rename from docs/07_technicals-architecture.md
rename to docs/08_technicals-architecture.md
diff --git a/docs/07_technicals-messaging.md b/docs/08_technicals-messaging.md
similarity index 100%
rename from docs/07_technicals-messaging.md
rename to docs/08_technicals-messaging.md
diff --git a/docs/07_technicals-runtime-wrappers.md 
b/docs/08_technicals-runtime-wrappers.md
similarity index 100%
rename from docs/07_technicals-runtime-wrappers.md
rename to docs/08_technicals-runtime-wrappers.md
diff --git a/docs/07_technicals-user-guidance.md 
b/docs/08_technicals-user-guidance.md
similarity index 100%
rename from docs/07_technicals-user-guidance.md
rename to docs/08_technicals-user-guidance.md
diff --git a/docs/08_debugging.md b/docs/09_debugging.md
similarity index 100%
rename from docs/08_debugging.md
rename to docs/09_debugging.md
diff --git a/docs/08_monitoring.md b/docs/09_monitoring.md
similarity index 100%
rename from docs/08_monitoring.md
rename to docs/09_monitoring.md
diff --git a/docs/09_contribute.md b/docs/10_contribute.md
similarity index 100%
rename from docs/09_contribute.md
rename to docs/10_contribute.md
diff --git a/docs/09_get-help.md b/docs/10_get-help.md
similarity index 100%
rename from docs/09_get-help.md
rename to docs/10_get-help.md
diff --git a/website-v2/sidebars.json b/website-v2/sidebars.json
index 3b8fe6552..c7265c2ef 100644
--- a/website-v2/sidebars.json
+++ b/website-v2/sidebars.json
@@ -192,6 +192,10 @@
       "extend-sdk-output-strategies",
       "extend-customize-ui"
     ],
+    "🔗 Connectivity Guide": [
+      "connect-mqtt"
+    ],
+
     "🔧 Technicals": [
       "technicals-architecture",
       "technicals-runtime-wrappers",

Reply via email to