Skip to content

Microservice that provides templates specific to some device model

License

Notifications You must be signed in to change notification settings

FRINXio/blueprints-provider

Repository files navigation

Blueprints Provider

Description

Microservice responsible for providing blueprints that contain templates specific to some device model (e.g. installation paramaters, stream configuration, or device drivers). Templates may contain some variables (e.g. address, port, credentials).

Blueprints can be specified by following paramaters that are used for searching of the specific template:

  • blueprint type (install, stream, ...)
  • connection type (management protocol)
  • device vendor (POSIX regex)
  • device model (POSIX regex)
  • device version (POSIX regex)

Project vision

  1. Storing blueprints on the common place: Currently, blueprints are spread across multiple projects (e.g. device-induction, system-tests, and various customer scripts). Concentration of the blueprints in the single repository simplifies:
    1. updating blueprints
    2. testing changes in both blueprints and other microservices that use these blueprints
    3. integration with CI/CD pipeline
    4. reusability of blueprints among multiple projects
    5. using unified format for templates
  2. Migration from the service-oriented model to configuration-based model: Since blueprints are usually part of the microservice code-base, it is difficult to maintain them and extend them without upgrading of the specific microservice version. Extraction of the blueprints to distinct microservice mitigates this issue and allows integrator to add support for the new device model by just adjusting of the configuration.
  3. Blueprints Providers opens door to data-driven applications: Automatic generation of blueprint templates by combination of existing templates and AI/ML models.

Development

Checkstyle

To ensure code style consistency across the project, we use ktlint, a Kotlin linter and formatter.

Run ktlint to check for code style violations using Gradle:

frinx@dell-laptop:~/blueprints-provider$ ./gradlew ktlintCheck

Run ktlint to format code using Gradle:

frinx@dell-laptop:~/blueprints-provider$ ./gradlew ktlintFormat

About

Microservice that provides templates specific to some device model

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages