Skip to content

Commit d91c5dc

Browse files
committed
Update docs
Signed-off-by: JeffMboya <[email protected]>
1 parent 90ef3dd commit d91c5dc

File tree

1 file changed

+110
-21
lines changed

1 file changed

+110
-21
lines changed

docs/dev-guide/kubernetes.md

Lines changed: 110 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -548,38 +548,127 @@ helm install magistrala -n mg --set ingress.hostname='example.com' --set users.i
548548

549549
If Magistrala is already installed and you want to update it with new settings (for example, changing the ingress hostname or image tag), you can use the `helm upgrade` command:
550550

551-
## Scaling Services
551+
Here’s a **refined and polished version** of your documentation. It improves clarity, structure, consistency, and polish—while still being technically precise and aligned with the `supermq` base chart model:
552+
553+
---
552554

553-
The Magistrala Core includes the essential services that are installed by default:
555+
## Magistrala Add-ons
554556

555-
- authn
556-
- users
557-
- clients
558-
- adapter_http
559-
- adapter_mqtt
560-
- adapter_coap
561-
- ui
557+
Magistrala provides a set of **optional services** designed to extend the capabilities of the [**SuperMQ**](https://github.com/absmach/supermq) IoT platform. These services are **not installed by default** and are treated as **add-ons**, each packaged as a sub-chart within the SuperMQ Helm chart.
562558

563-
These are the minimum required services to run Magistrala.
559+
To enable any add-on, pass the appropriate `--set` flags when installing or upgrading the SuperMQ chart.
564560

565-
### Magistrala Add-ons
561+
> **Note:** Magistrala add-ons **cannot run standalone**. They depend on the core services provided by the `supermq` base chart (e.g., authentication, messaging, internal APIs).
566562
567-
Magistrala Add-ons are optional services that are not installed by default. To enable an add-on, you need to specify it during installation. For example, to enable the InfluxDB reader and writer, you would use the following command:
563+
Example: Enabling InfluxDB Reader and Writer
568564

569565
```bash
570-
helm install magistrala . -n mg --set influxdb=true
566+
helm install supermq . -n mg \
567+
--set influxdb.reader.enabled=true \
568+
--set influxdb.writer.enabled=true
571569
```
572570

573-
Here’s a list of available add-ons:
571+
## Available Add-ons
572+
573+
### 1. **Bootstrap Service**
574574

575-
- bootstrap
576-
- influxdb.writer
577-
- influxdb.reader
578-
- adapter_opcua
579-
- adapter_lora
580-
- twins
575+
Provides initial configuration for newly connected devices and services.
576+
577+
- Generates bootstrap tokens
578+
- Applies provisioning templates
579+
- Integrates with the provisioning service
580+
581+
```bash
582+
--set bootstrap.enabled=true
583+
```
584+
585+
### 2. **InfluxDB Integration**
586+
587+
Stores and retrieves time-series telemetry using InfluxDB.
588+
589+
- **Writer**
590+
- Consumes data and writes to InfluxDB.
591+
```bash
592+
--set influxdb.writer.enabled=true
593+
```
594+
- **Reader**
595+
- Serves historical time-series queries.
596+
```bash
597+
--set influxdb.reader.enabled=true
598+
```
581599

582-
### Scaling Services
600+
### 3. **Protocol Adapters**
601+
602+
Adapters ingest data from external protocols and systems.
603+
604+
- **OPC-UA Adapter**
605+
Integrates with industrial machines using the OPC-UA protocol.
606+
607+
```bash
608+
--set adapter.opcua.enabled=true
609+
```
610+
611+
- **LoRa Adapter**
612+
Connects to LoRa/LPWAN gateways (e.g., The Things Network).
613+
```bash
614+
--set adapter.lora.enabled=true
615+
```
616+
617+
> _Note: Some adapters may require external credentials or broker configuration._
618+
619+
### 4. **Twins Service**
620+
621+
Creates and manages digital twins of physical devices.
622+
623+
- Tracks device state
624+
- Simulates device behavior
625+
- Supports virtual device interactions
626+
627+
```bash
628+
--set twins.enabled=true
629+
```
630+
631+
### 5. **PostgreSQL / TimescaleDB Integration**
632+
633+
Support for structured and time-series storage using PostgreSQL or TimescaleDB.
634+
635+
- **Writer**
636+
637+
```bash
638+
--set postgres.writer.enabled=true
639+
```
640+
641+
- **Reader**
642+
```bash
643+
--set postgres.reader.enabled=true
644+
```
645+
646+
### 6. **Notifier Services**
647+
648+
Delivers alerts or notifications based on system events or rules.
649+
650+
- **SMTP (Email) Notifier**
651+
652+
```bash
653+
--set notifiers.smtp.enabled=true
654+
```
655+
656+
- **SMPP (SMS) Notifier**
657+
```bash
658+
--set notifiers.smpp.enabled=true
659+
```
660+
661+
### 7. **Rule Engine (RE)**
662+
663+
Evaluates conditions and executes automated actions based on incoming data.
664+
665+
```bash
666+
--set ruleengine.enabled=true
667+
```
668+
669+
---
670+
671+
## Scaling Services
583672

584673
By default, the MQTT adapter, Clients, Envoy, Authn, and the Message Broker services are set to scale with a replica count of 3. It’s recommended to set these values according to the number of nodes in your Kubernetes cluster. For example, you can adjust the replica count with the following command:
585674

0 commit comments

Comments
 (0)