eclipse-hara / hara-ddiclient

Hara-ddiclient is a Kotlin library that facilitates and speeds up the development of DDI API clients for devices connecting to hawkBit servers.
https://projects.eclipse.org/projects/iot.hawkbit.hara
Eclipse Public License 2.0
18 stars 13 forks source link

Support for maintenance window #15

Open diegorondini opened 2 years ago

diegorondini commented 2 years ago

hawkBit has support for specifying when an update should be applied and when it should not, a feature named "maintenance window". See the commit message for details on how the feature is implemented in hawkBit: https://github.com/eclipse/hawkbit/commit/f4278c45ef1a34c6e7add4299614c9e8e1abf0a0

The maintenance window feature is supposed to work both on soft and forced updates.

Here's an excerpt of the deployment base JSON with a forced update:

{
  "id": "6",
  "deployment": {
    "download": "forced",
    "update": "forced",
    ...
  }
}

Here's an excerpt of the deployment base JSON with a forced update with a closed maintenance window:

{
  "id": "7",
  "deployment": {
    "download": "forced",
    "update": "skip",
    "maintenanceWindow": "unavailable",
    ...
  }
}

Here's an excerpt of the deployment base JSON with a forced update with an open maintenance window:

{
  "id": "7",
  "deployment": {
    "download": "forced",
    "update": "forced",
    "maintenanceWindow": "available",
    ...
  }
}
GetRohitansh commented 1 year ago

Can I work on this ?

diegorondini commented 1 year ago

@GetRohitansh Sure, contributions are of course very welcome.

Keep in mind this is a complex project and the task is not straightforward, so I recommend to start by:

  1. getting familiar with the project
  2. getting an understanding of what needs to be done
  3. describing your proposed changes to implement the feature, in order to get suggestions and early feedback
  4. keeping in touch with the development team about your progress and the challenges that you face

Regards