eclipse / kapua

Eclipse Public License 2.0
225 stars 160 forks source link

Deploy Kapua in AKS(Azure Kubernetes cluster) #3778

Open NagaRajeshK opened 1 year ago

NagaRajeshK commented 1 year ago

Hi Team, Could you please help me to clarify on the below questions? Thanks a lot for the help.

  1. Is it possible to deploy Kapua in Azure Kubernetes cluster?
  2. Can we use Kapua without Kura? is it not recommended? we may not be using Kura on device side.
  3. We are planning to use Kapua for device management(device onboarding, provisioning, deprovisioning, device connectivity) capability for our application. Does Kapua support X509 certificate based approach for device identity?
  4. How Kapua is different from Eclipse Hono?
  5. We are hoping Kapua can be used for enterprise application development without making our code as open source. We are planning to use Kapua services without modifying them.

Thanks, Rajesh.

Agnul97 commented 1 year ago

Hi,

  1. I think that the nearest thing to kubernetes deployment should be the one with openshift that is documented here https://download.eclipse.org/kapua/docs/develop/developer-guide/en/running.html#openshift. It could be the case that this deployment is no longer maintained, I don't remember exactly...you should try
  2. it is possible to use kapua without kura because kapua depends solely on the mqtt protocol for the device connectivity and communication. You can have a look on the kura documentation to have an idea on the mqtt topics kapua depends on, for connectivitry and device management https://eclipse.github.io/kura/docs-release-5.2/cloud-api/overview/ but also on this documentation of a private project forked from kura, where mqtt namespaces are broadly discussed https://esf.eurotech.com/docs/mqtt-namespace
  3. I think that right now the certificate-based identification is not supported
  4. I did not know hono before your question, but I've read something and from my understanding hono is "simply" a connectivity layer from devices to back-end cloud services, like Kapua. This means that it allows connecting IoT devices with different communication protocols, so not only MQTT but also HTTP and AMQP, to cloud services. I report this quote "The overall goal of this work is to allow Hono to be used as the connectivity layer in Eclipse Kapua". So, you could use Hono to connect devices which uses protoclos different from MQTT to Kapua and the interesting aspect for you is that Hono supports X.509 client certificates to verify a device’s identity, as stated in the project main page
  5. you can do this, some businesses are legitimately doing exactly this, but unluckily I don't know formally how the process is accomplished, legally speaking and technically

best regards

NagaRajeshK commented 1 year ago

Thanks @Agnul97 for the quick response.

NagaRajeshK commented 1 year ago

@Agnul97 : I am trying to send the data from MQTT client to Kapua. I can see connections are established. But I am not able to see the devices. How to register devices if we are using MQTT clients and not Kura based devices? I have sent few messages using MQTT client, How to access those messages on Kapua console or API?

image image

Agnul97 commented 1 year ago

@NagaRajeshK Kapua expects a so-called birth message in order to register a new device and track his future connection states/allow users to perform device management on it. The birth message, also, has to be encoded with the google protobuf serialization mechanism. Unfortunately, all these aspects are not documented (from what I know, maybe searching in the 2 links I provided to documentations in the other comment you can find something) and probably the usage of kura, installed on your iot devices would be the most easy choice bye