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

Agent process unification #7981

Open
Dwordcito opened this issue Mar 23, 2021 · 0 comments
Open

Agent process unification #7981

Dwordcito opened this issue Mar 23, 2021 · 0 comments
Assignees
Labels

Comments

@Dwordcito
Copy link
Member

Dwordcito commented Mar 23, 2021

Branch
dev-agent-process-unified

Description

This epic aims to simplify the visibility of the wazuh architecture, currently there are 5 processes which will be transformed to 2, of those 3 processes that are merged, their logic will be absorbed by wazuh-modulesd.

In an update level, this should not impact resources usage because of the legacy logic should be maintained, as well as the directory structure, therefore the modification will not be visible from the folder tree of the project.

Should only expose and consume the current logic and keep the legacy code in the mainloops of the modules to be moved.

The configuration must continue to be parsed without modifying any attribute or tag, there must be no change in that sense.
It should only be stored in a more organized way as it is in wazuh-modules.

Test Plan

How to test

  • Unit test
  • Integration test
  • API automation test
  • Exploratory sessions

Goals

  • Transform from the current number of processes in the agent to 2 processes, these will be wazuh-modulesd and wazuh-agentd
  • Ensure quality under the current automated tests.

Requirements

Development

  • Use C99 GNU
  • Use the coding style -> Link

Non-functional
Footprint:

Thread usage.
Only the number of threads of the current thing should be increased by 3, if those of the 4 processes that would be unified are added.

Memory usage.
Roughly it should be kept at the current number

Binary size.
The size of the binaries must be kept to what is the current distribution and architecture of the product.

Development tasks

  • Bring the standardization of configuration structures to the one used in wazuh-modulesd.
  • Initialize queues and remote / local communication from the initialization of new modules.
  • Expose and dispatch the main mainloop, from legacy code of pre-existing modules added to modulesd.
  • Perform a graceful shutdown of active modules.
  • Use the standardization of args flags when the process is executed manually.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Development

No branches or pull requests

4 participants