# Virtualized Execution Environment for Harmony Scripts included in this directory have 3 purposes: - automate initial setup of localhost or VM (nested virtualization) for this example - prototype a solution for an 'OpensenseLocalhostTopology' - prototype This exprimentation aim to find an approach suitable for using harmony on virtualised execution environment such that: - it straights forward for a user with minimal knowledge to start testing harmony - installation and execution have **minimal impact on the user desktop** ## Usage ### Installation 1. download this directory 2. add this directory in your PATH (example `. setup`) ``` # show help page harmony-vee # show active configurations harmony-vee config # show what will be modified at installation harmony-vee install --dry-run # install harmony-vee install # show what will be modified at unistallation harmony-vee uninstall --dry-run ``` ### Create and start a new Virtual Execution Environment ``` # Create a HVEE to test opnsense_score harmony-vee init opnsense_score # List existing HVEE harmony-vee list # Show HVEE information including devices ip and vault type/location harmony-vee show opnsense_score # Start/Stop a HVEE harmony-vee stop opnsense_score # Destroy a HVEE instance harmony-vee destroy opnsense_score ``` ### Variable d'environnement ``` ## directory containing harmony-ve data # HVE_ROOT=~/.harmony-ve ## OPNSENSE SRC # main mirror # HVE_OPNSENSE_URL=https://pkg.opnsense.org/releases # first alternative mirror # HVE_OPENSENSE_URL_ALT1=https://mirror.vraphim.com/opnsense/releases # HVE_OPNSENSE_URL_ALT2=https://mirror.winsub.kr/opnsense/releases ## Network # HVE_NETWORK_LABEL=harmony ``` ## Remarks - A nested VM setup could be safer ## Architecture ### Learning environment directly on host ![localhost case](./doc/automate-opnsense-example-localhost.drawio.png) ### Learning environment nested in a "workspace vm" ![localhost case](./doc/automate-opnsense-example-nested-virtualization.drawio.png)