mandiant / mandiant/VM-Packages

Share installer code from FLARE-VM and commando-vm in VM-Packages

Open
#687 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

:cyclone: COMMANDO-VM :cyclone: FLARE-VM :gem: enhancement
Dominant language
PowerShell
Stars
246
Forks
98
Avg merge
9h 30m
Merged PRs (30d)
7

Description

The installer of FLARE-VM and commando-vm have a lot similar code. When we improve of fix a bug in one of the projects, this is not shared with the other. Remove this duplication by adding a file in vm-packages that is not a package persay, but a flat .psm1 file that we can download on the fly from both installers. This file will contain function with functionality like the checks before installing or the way we install boxstarter/choco.

Then we get the following logical divide:

- If it needs to be shared across packages, update common.vm
- If it needs to be shared for the installer, update that flat .psm1 file in vm-packages (maybe name it shared_installer.psm1 or something)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the FLARE-VM and commando-vm installers to identify duplicated checks and Boxstarter/Chocolatey installation logic. Add a shared flat .psm1 file in VM-Packages that both installers can download and use, while keeping package-shared changes in common.vm. Done means the installer functionality is shared rather than duplicated across the two projects.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.