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

MVP - AMI - Create provisioner module #158

Open
Enaraque opened this issue Jan 13, 2025 · 0 comments
Open

MVP - AMI - Create provisioner module #158

Enaraque opened this issue Jan 13, 2025 · 0 comments
Labels
level/subtask Subtask issue type/enhancement Enhancement issue

Comments

@Enaraque
Copy link
Member

Enaraque commented Jan 13, 2025

Description

The provisioning module will be responsible for obtaining and installing all Wazuh components, including their dependencies, as well as downloading the cert-tool.sh script required for certificate creation.

Prerequisites for Execution

Credentials

This module assumes that an instance already exists where components and dependencies can be installed. Therefore, one of the main inputs should be the necessary credentials to connect to the instance.

List of URLs

Starting from version 5.0.0, the method of installing components will change. Previously, components were installed through a directory, but now they will be installed via packages.
These packages will be published and should be downloadable through a URL.
Thus, one of the main inputs should include the various URLs required for the installation process.

List of Dependencies

In addition to the URLs for installing each component, a list of all necessary dependencies must also be provided. These dependencies are required to ensure that each Wazuh component functions correctly.

This list of dependencies, along with the component URLs, provides the necessary context to determine what needs to be prepared on the remote machine.

Summary

The key requirements for the module to download components and dependencies are:

  • URLs of the components.
  • Required credentials to connect to the machine.
  • Necessary dependencies for each component.
  • (to be defined if any additional inputs are required)

Tests

Unit Tests

As the module is being developed, unit tests will need to be written continuously. These tests must validate the code to ensure that each method and/or function behaves as expected.

The tests will be written using pytest. To verify that an optimal percentage of the code is being tested, the overall test coverage should be calculated and monitored.

Deployment Tests

These tests must verify that all necessary dependencies and each Wazuh component are correctly installed.

Proposed Provisioner Structure

├── provisioner/
│   ├── __init__.py
│   ├── provisioner.py
|   ├── ...
├── tests/
    ├── unit/
    |   ├── provisioner/
    |       ├── __init__.py
    |       ├── test_provisioner.py
 	| 	    ├── ...
    ├── deployment/
        ├── provisioner/
            ├── __init__.py
            ├── test_provision_deployment.py

Related issue

DRI

@teddytpc1

@Enaraque Enaraque added level/task Task issue type/enhancement Enhancement issue level/subtask Subtask issue and removed level/task Task issue labels Jan 13, 2025
@teddytpc1 teddytpc1 changed the title MVP - Create provisioner module MVP - AMI - Create provisioner module Jan 22, 2025
@wazuhci wazuhci moved this to Backlog in XDR+SIEM/Release 5.0.0 Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
level/subtask Subtask issue type/enhancement Enhancement issue
Projects
Status: Backlog
Development

No branches or pull requests

1 participant