# Introduction

TODO

This small book will be your guide to installing the following and configuring the following components:

* Kubernetes: the container orchestrator that runs all servers and custom services we will write
* Mosquitto: a message broker that supports MQTT
* InfluxDB: a time-series database
* A custom service, written in Go, that forwards messages from MQTT to InfluxDB
* A custom service, written in Go, that implements a REST API to retrieve messages from InfluxDB
* A mobile application, created with Ionic, that uses the REST API to display received messages
* Authentication
* Ingress
* A custom service, written in Go, that forwards messages from MQTT to Redis
* A custom service, written in JavaScript (Node.js), that implements a real-time server with socket.io

All of these components are kept intentionally basic in order to demonstrate the capabilities and allow you to learn gradually. The code is not considered production ready and scalable.

You should use Kubernetes via a cloud provider such as Google or Microsoft because many examples use load balancers and dynamic volume provisioning.

This is a hands on book so expect to get your hands dirty!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://geert-baeke.gitbook.io/open-source-iot/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
