Git Product home page Git Product logo

tum-gis-iot-stack-k8s's Introduction

TUM-GIS IoT Stack for Kubernetes

an application stack for managing, integrating, storing, and visualizing sensor data with open standards and tools based on OGC SensorThingsAPI

Report bug ยท Request feature

GitHub Workflow Status
DOI

๐Ÿ’ค TL;DR

Deploy the IoT-Stack in a Kubernetes cluster with ingress-nginx and cert-manager available, and a FQDN (e.g. www.my-iot-stack.de) pointing to your Ingress controller.

helm repo add iot-stack https://tum-gis.github.io/tum-gis-iot-stack-k8s
helm repo update
helm install iot iot-stack/tum-gis-iot-stack-k8s \
  -n iot-stack --create-namespace \
  --atomic --wait \
  --set 'global.ingress.domains={www.my-iot-stack.de}' \
  --set '[email protected]'

The default username and password for all services is: user: admin, pwd: changeMe.

For local testing check out the examples.

Note: To try out alpha/beta releases, add the --devel option to the helm install command.

๐Ÿ“– Table of content

๐Ÿ“ฅ Application stack

  • Fraunhofer IOSB FROST-Server: Server implementation of the OGC SensorThings API with HTTP and MQTT endpoint.

  • PostgreSQL/PostGIS: Database backend for the FROST-Server. The chart offers two options:

  • Grafana: Data visualization and dashboards.

  • Node-RED: Wiring together hardware devices, APIs and online services.

  • caddy: Webserver for hosting web content like documentations or landing pages for the deployment.

  • NGINX Ingress Controller: Route traffic to the applications of the stack. Optional dependency, often provided in your cluster.

  • cert-manager: Automatic SSL certificate issuing from e.g. Let's Encrypt. Optional dependency, often provided in your cluster.

โ“ Getting started

To get this up an running in seconds, check out the examples. You will find examples for:

๐Ÿ“ƒ Documentation

The documentation of the chart is located in the chart directory: charts/tum-gis-iot-stack-k8s

The documentation for internal dependencies is located in their folders too:

External dependencies are documented here:

๐Ÿš€ Usage

  1. Get a fully-qualified domain name (FQDN) and configure it to point to the public IP address of the LoadBalancer service of your Nginx ingress controller.

  2. Add and update Helm repo

    helm repo add iot-stack https://tum-gis.github.io/tum-gis-iot-stack-k8s
    helm repo update
  3. Adapt settings according to your needs e.g. in values.yml or create a local values.yml to overwrite settings. Examples e.g. for a local testing deployment are are available in examples. values.yml is documented in charts/tum-gis-iot-stack-k8s.

  4. Install stack

    helm install iot iot-stack/tum-gis-iot-stack-k8s \
      -n iot-stack --create-namespace \
      --atomic --wait \
      --values my-values.yml

๐Ÿ› ๏ธ Contributing

Bug fixes, issue reports and contributions are greatly appreciated.

Repository setup

Build Chart documentation

The documentation of this chart is located in this repository in the charts/tum-gis-iot-stack-k8s folder and consists of Markdown files, that are generated using norwoodj/helm-docs. To keep the documentation in sync with the source files, it is recommended to use pre-commit to automatically update the docs with every commit.

To generate a markdown documentation for this chart using norwoodj/helm-docs run this from the repo root.

docker run --rm --volume "$PWD/charts/tum-gis-iot-stack-k8s:/helm-docs" -u $(id -u) jnorwood/helm-docs:latest

Contributors

๐ŸŽ“ Research

This chart was developed for the course Geo Sensor Networks and the Internet of Things.

Cite this repository

To cite this repository, please use the DOI provided by Zenodo. If you want to reference a specific release version of the software, click the badge and navigate to the desired version on the page.

DOI

๐Ÿ“ License

This Helm chart is distributed under the Apache License 2.0. See LICENSE for more information.

๐Ÿค Thanks

  • Fraunhofer IOSB for their great implementation of the OGC SensorThingsAPI.

tum-gis-iot-stack-k8s's People

Contributors

beneschwab avatar bwibo avatar thomashkolbe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tum-gis-iot-stack-k8s's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.