Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design modules startup sequence #23

Open
softgitron opened this issue Jun 1, 2021 · 0 comments
Open

Design modules startup sequence #23

softgitron opened this issue Jun 1, 2021 · 0 comments
Assignees
Labels
difficulty: easy A feature that should be doable in about a day by an experienced developer importance: high An issue in backlog with above average priority status: not started Fixing of the issue has not started yet type: documentation Improvements or additions to documentation

Comments

@softgitron
Copy link
Owner

Describe the supposed addition
Module's and core's API calls are unambiguously defined as can be seen in the PR #11. However API specification does not specify how the module's startup sequence is handled. This detail should be designed and startup sequence diagram should be added into the wiki.

My initial proposal for the startup sequence is following, but can be altered if actual implementer of this issue founds better solution.

  1. Core reads modules manifest files (capabilities and OpenAPI specifications)
  2. Core starts module process with following environment variables
  • CORE_TOKEN=ey... *
  • MODULE_TOKEN=ABC123... **
  1. Core sends X-amount of health check requests on Y interval
  2. If the module responds to the health check request, core decides that module has been successfully started
  3. After that core may register port triggers on service if needed
  4. Handshake is now completed

*CORE_TOKEN is supplied by the module, when sending requests for the core
**MODULE_TOKE is supplied by the core, when sending requests for the module
By utilizing this double token logic, no other module should be able to interfere with the communication.

Pitch your addition with a user story
As a developer I can understand startup sequence between core and module, so that I can implement the startup sequence later on.

Name of the files or sections to be added
Add this under architecture section in the Wiki and add mention of this page into module creation instructions (See issue #22).

Additional context
Issue #22

@softgitron softgitron added type: documentation Improvements or additions to documentation importance: high An issue in backlog with above average priority difficulty: easy A feature that should be doable in about a day by an experienced developer status: not started Fixing of the issue has not started yet labels Jun 1, 2021
@softgitron softgitron added this to To do in potku-console MVP (minimum viable product) via automation Jun 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: easy A feature that should be doable in about a day by an experienced developer importance: high An issue in backlog with above average priority status: not started Fixing of the issue has not started yet type: documentation Improvements or additions to documentation
Development

No branches or pull requests

4 participants