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

v0.2 #1

Merged
merged 16 commits into from
May 16, 2021
Merged

v0.2 #1

merged 16 commits into from
May 16, 2021

Conversation

manishmeganathan
Copy link
Member

  • Fully rebuilt the entire FyrMesh platform with a new RPC (gRPC) framework and a different language (Golang).
  • Updated the package structure to support a Go development environment.
  • Defined a proto file and added the generated libraries for it.
  • Added a service FyrLINK that interacts with the control node over the serial port (Python).
  • Added a service FyrORCH that orchestrates the mesh while exposing a server to act as the API (Golang).
  • Added a command-line application FyrCLI that allows a user to interact with the mesh. Written in Go with the Cobra framework. Replaces the old Python-Click based application.
  • Added a script to automate the code generation of proto libraries after the file has been modified.
  • Added a script to build and install the FyrMesh components.
  • Updated the README with information about all the new components and updated the installation guide to more detailed.

- Added Golang based exceptions to the .gitignore files.
- Added a go.mod and go.sum file for the project.
- Added a file fyrmesh.proto that defines the message and service definitions for the Protocol Buffer used by gRPC in the /proto directory.
- Added the corresponding gRPC service library files for Python and Golang in the /proto directory.
- Added a python script in the root directory that automates the code generation for the gRPC service library when changes are made to the fyrmesh.proto file.
- Added the interface.py server script for the FyrLINK service and the supporting modules for it in the /fyrlink directory.
- Added a file main.go in the /fyrorch directory that serves as the server file for the FyrORCH service.
- Added a package orchpkg in the /fyrorch directory.

'orchpkg' is a package that handles all orchestrator functionality. Including an implementation of the FyrLINK client, the FyrORCH server and client, tools to read the FyrMesh config file and tools to handle logging IO within the orchestrator.
- Added the FyrCLI tool under the /fyrcli directory. The CLI tool is built with the Cobra framework.

The tool includes a main.go file which acts as an entrypoint and a package 'cmd' that contains the implementation for all the individual commands.
- Update the go.mod and go.sum file to include the new dependancies such as Cobra.
- Delete the legacy fyrmesh python package and its setup file.
- Added the file install.py that installs all the FyrMesh services.
- Modified the MANIFEST file to include the install.py file.
- Updated the README file to reflect the new state of the library.
- Added a newer, more detailed installation guide.
- Moved the logtools.go and configtools.go files to a new package fyrwatch/fyrmesh/tools in the root directory.
- Renamed the orchpkg package to orch.
- Refactored tool lib use within the orch package.
- Refactor FyrORCH and FyrCLI services to use the new refactored orch and tools packages.
- Added a few lines of code in the FyrCLI main function to print its output in orange.
- Added gRPC, usage and starting the mesh sections.
- final update to the README with some link formatting and general polishing.
@manishmeganathan manishmeganathan added the enhancement New feature or request label May 16, 2021
@manishmeganathan manishmeganathan self-assigned this May 16, 2021
@manishmeganathan manishmeganathan merged commit f3b9bac into main May 16, 2021
@manishmeganathan manishmeganathan deleted the dev-rebuild branch May 16, 2021 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant