INOA is a lightweight IoT integration platform that will help you to easily start with your IoT project and offer you the needed infrastructure to develop, deploy, maintain and scale your solutions. With INOA we want to enable users to stay in control of their IoT gateways and measured and/or controlled devices.
- >= 32GB RAM
Please install the following components to your system. Otherwise, you will face errors during the setup process!
- Git >= 2.25
- Java Development Kit >= 17.0.8 & < 21
- Maven >= 3.6.3
- Docker >= 24.0.5
- Python >= 3.8.5 (for documentation only)
- Node.js >= 18.19 with Yarn 4
The local environment will be set-up with help of k3s. This must not be installed to prevent conflicts.
- Clone the project from
[email protected]:inoa-io/inoa-cloud.git
- Use an IDE of your choice, recommended is IntelliJ
- Import the project as Maven project in your IDE
- Ensure all annotation processors are active in your IDE
- copy .env.template into a local
.env
file where you can set your local properties. - Configure your local IP that should be used for the network traffic from browser and possible Satellite to INOA Cloud
- Add
127.0.0.1 kafka.default.svc.cluster.local
to your/etc/hosts
file for local interactions with Kafka
- GitHub Container Registry - use
docker login ghcr.io
to initially authenticate against GitHub container registryghcr.io/grayc-de
ghcr.io/inoa-io
For IntelliJ, there are some run configurations prepared to easily jump into and let INOA run locally.
These are the steps you can do:
mvn clean install
- Does a full clean maven build of INOAINOA-Cloud - Clean Startup
- Does a clean install and starts the whole INOA cloud setup within k3s. After start it will open the INOA Developer Cockpit in your browser with useful links.INOA-Cloud - Startup
- Start the whole INOA cloud setup within k3s. After start it will open the INOA Developer Cockpit in your browser with useful links.INOA-Service
- Start the INOA service locally in JVM and intercept the traffic (http, mqtt) from your k3s instance.INOA-GroundControl
- Start INOA GroundControl locally via Yarn in development mode.INOA-Cloud - Shutdown
- Shutdown all running INOA Cloud services and stops k3s.
For bash there are some scripts that should help to execute the INOA components:
-
Start the whole INOA Cloud setup within k3s. After start it will open the INOA Developer Cockpit in your browser with useful links.
./inoa-startup.sh
-
Shutdown all running INOA Cloud services & stops k3s.
./inoa-shutdown.sh
-
Launch INOA Cloud Locally. Work in progress....
# Launch INOA Cloud Locally ./inoa-startup.bat
-
Build INOA Cloud services and start the whole environment via k3s:
source .env mvn k3s:rm mvn clean install mvn clean pre-integration-test -Dk3s.failIfExists=false -pl ./test/ -Dinoa.domain=${INOA_DOMAIN}
-
Check the now running services via http://help.${INOA_DOMAIN}:8080/.
-
Start a local instance of INOA GroundControl for UI development:
source .env cd app yarn install ng serve
INOA Fleet is the swiss army knife to manage your IoT devices and gateways in a simple way. With help of some great open source tools, it is the gateway to & from a fleet of IoT devices.
INOA Measurements is the place where all the measured data is going in. It collects, stores, enhances measurements that are collected by IoT devices and provide it with help of APIs and UIs.
INOA Ground Control is the UI to manage the IoT Fleet with INOA.
INOA OS is our operating system for INOA connected IoT devices and gateways.
Please find the documentation here.
The INOA-Satellite is a small IoT gateway made for gathering various of different measurements and forwarding them to Inoa Measurement.
Please find the documentation here.