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

DTT1 - PoC - Allocation module #4663

Closed
fcaffieri opened this issue Oct 31, 2023 · 5 comments
Closed

DTT1 - PoC - Allocation module #4663

fcaffieri opened this issue Oct 31, 2023 · 5 comments
Assignees

Comments

@fcaffieri
Copy link
Member

fcaffieri commented Oct 31, 2023

Description

This issue aims to design and create a PoC of the allocation module.

This module is responsible for allocating the infrastructure resources (multi-provider).
This module will work as a black box where it will have a clear input and output.

  • Input: A YAML file with all the necessary information about the necessary resources to be allocated.
  • output: A YAML with the information of the resources allocated, with host, port and ssh keys.

The bases of the PoC are defined in the parent issue #4524.

@fcaffieri fcaffieri added level/subtask Subtask issue and removed level/task Task issue labels Oct 31, 2023
@jnasselle jnasselle self-assigned this Nov 16, 2023
@jnasselle
Copy link
Member

Update

Design proposal - Functional aspects

  • Commandline tool
  • Allow allocating, getting current status, and cleaning up allocated resources in infrastructure platforms. Currently local Vagrant and AWS
  • Easy integration for new providers
  • Allow simple descriptions of resource requests and identification
    • Use human-readable identifications for resource OS
    • Use commonly used hashed IDs (UUID) for resource identification after being allocated
  • Resources request file will be an array containing
    • composite-name: a well-defined string that will contain osfamilly-osdistro-osversion-osarch. ie linux-ubuntu-22.04-amd64
    • provider: aws/vagrant
    • role: already defined hardware specs grouped by "role". i.e agent/manager
    • alias: human-readable ID to refer to. Used on Ansible inventory output
  • Allocation output will be an Ansible inventory file

Design proposal - Non-functional aspects

  • Python as the default language
  • YAML file as resource request input format
  • Current tool state will be mixed, with a root working directory (/tmp/wazuh-infra by default )that will contain
    • A database containing already requested resources (needed to get current status and further resource deallocation)
    • A folder named with the UUID that will contain files related to the resource: Keys, Vagrantfiles, ...
  • Basic testing suite is mandatory
  • README with basic stuff

@fcaffieri fcaffieri self-assigned this Nov 29, 2023
@jnasselle
Copy link
Member

jnasselle commented Dec 5, 2023

Update

This issue was on-hold from Nov 29 to Dec 5 due to:

@fcaffieri
Copy link
Member Author

The PoC was finalized and presented to the interested parties, the DTT work will continue from other issues.

@rauldpm
Copy link
Member

rauldpm commented Dec 11, 2023

Review: #4524 (comment)

@fcaffieri fcaffieri linked a pull request Dec 26, 2023 that will close this issue
@fcaffieri
Copy link
Member Author

Reviews answered at #4524 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

3 participants