eclipse-iot/ditto

Chart version: 1.5.1
Api version: v1
App version: 1.5.0
Eclipse Ditto™ is a technology in the IoT implementing a softwa...
application
Chart Type
Active
Status
Unknown
License
3230
Downloads
https://www.eclipse.org/packages/charts
Set me up:
helm repo add center https://repo.chartcenter.io
Install Chart:
helm install ditto center/eclipse-iot/ditto
Versions (0)

Eclipse Ditto

Introduction

Eclipse Ditto™ is a technology in the IoT implementing a software pattern called “digital twins”. A digital twin is a virtual, cloud based, representation of his real world counterpart (real world “Things”, e.g. devices like sensors, smart heating, connected cars, smart grids, EV charging stations, …).

This chart uses eclipse/ditto-XXX containers to run Ditto inside Kubernetes.

Prerequisites

  • Has been tested on Kubernetes 1.11+

Installing the Chart

To install the chart with the release name eclipse-ditto, run the following command (tested with Helm v3):

helm repo add eclipse-iot https://eclipse.org/packages/charts
helm repo update
helm install eclipse-ditto eclipse-iot/ditto

Uninstalling the Chart

To uninstall/delete the eclipse-ditto release:

helm delete eclipse-ditto

The command removes all the Kubernetes components associated with the chart and deletes the release.

Tip: To completely remove the release, run helm delete --purge eclipse-ditto

Configuration

Please view the values.yaml for the list of possible configuration values with its documentation.

Specify each parameter using the --set key=value[,key=value] argument to helm install. For example:

helm install eclipse-ditto eclipse-iot/ditto --set swaggerui.enabled=false

Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart.

Configuration Examples

OpenID Connect (OIDC)

To enable OIDC authentiaction adjust following properties:

global:
  jwtOnly: true

gateway:
  enableDummyAuth: false
  systemProps:
    - "-Dditto.gateway.authentication.oauth.openid-connect-issuers.myprovider=openid-connect.onelogin.com/oidc"

Securing Devops Resource

To secure /devops and /status resource adjust configuration to (username will be devops):

gateway:
  enableDummyAuth: false
  devopsSecureStatus: true
  devopsPassword: foo
  statusPassword: bar

Local Setup

In order to install the Helm chart locally (e.g. in order to enhance the chart), follow the instructions in this section.

Requirements

Run Eclipse Ditto

Start KIND Cluster

Prepare a kind configuration file named kind-config.yaml, with following content:

kind: Cluster
apiVersion: kind.sigs.k8s.io/v1alpha3
nodes:
# the control plane node config
- role: control-plane
# Worker reachable from local machine
- role: worker
  extraPortMappings:
  # HTTP
  - containerPort: 32080
    hostPort: 80

Start kind cluster

kind create cluster --image "kindest/node:v1.14.9" --config kind-config.yaml

Install Eclipse Ditto

Note: Following commands requires Helm v3

Install ditto chart with default configuration

helm upgrade eclipse-ditto . --install

Follow the instructions from NOTES.txt (printed when install is finished).

Delete Eclipse Ditto Release

helm delete eclipse-ditto

Destroy KIND Cluster

kind delete cluster

Troubleshooting

If you experience high resource consumption (either CPU or RAM or both), you can limit the resource usage by specifing resource limits. This can be done individually for each single component. Here is an example how to limit CPU to 0.25 Cores and RAM to 512MiB for the connectivity service:

helm upgrade eclipse-ditto . --install --set connectivity.resources.limits.cpu=0.25 --set connectivity.resources.limits.memory=512Mi