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

Rearchitect Halflife #2

Open
tripleee opened this issue May 23, 2018 · 0 comments
Open

Rearchitect Halflife #2

tripleee opened this issue May 23, 2018 · 0 comments

Comments

@tripleee
Copy link
Member

The internal architecture is rather messy, and should be rearchitected.

Must:

  • Report results when they are established. The current architecture attempts to collect results into a dict and then separately report what's in the dict when everything is done, but this means the analysis and reporting code is always in two different places, usually far away from each other. The original rationale for this design was so that the analysis code would not need to know what it's reporting (for example, a function which queries DNS for information about an IP address doesn't and basically shouldn't know which domain name or Metasmoke post this is related to, but those details are relevant and important when reporting the result).
  • Modularize ActionCable and Metasmoke APIs. There is some brief attempt at encapsulating these, but it's not very intuitive or elegant.

Should:

  • Break out more of the analysis into separate routines or even separate code modules (DNS, URL analysis, etc).
  • Report results as JSON instead of, or in addition to, the current ad-hoc human-readable formatting.
  • Explore async (Chat is very slow #1).
  • Explore breaking out URL fetching into a separate microservice.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant