Orange-Cyberdefense / GOAD

game of active directory
GNU General Public License v3.0
5.44k stars 753 forks source link

Add Cloud.ru provider #261

Open D00Movenok opened 3 months ago

D00Movenok commented 3 months ago

Hi there!

I adapted Azure provider for Cloud.ru. All existing labs supported (including TEMPLATE :)) with all existing goad.sh tasks and installation manual. Architecture is the same as in Azure.

Also some refactoring was done: I have created terraform/ folder with all reusable terraform code converted to modules. The idea is the next:

terraform/
   cloudru/          # reusable terraform code for cloudru deployments (DONE)
   azure/            # reusable terraform code for azure deployments (TBD)
   otherlab/         # reusable terraform code for any other lab deployments (TBD)

This was done because I saw that all terraform deployments reusing the same code in all labs, now cloudru provider just imports terraform/cloudru/ as a module with per-lab-defined variables and does not write the same code in all labs. Hope this will decrease code reuse a lot. However, other terraform labs (Azure, Proxmox) must be adapted separately (for now I have no resources for that, sorry).

Also fixed some issues (without them some labs may be broken):

FYI: Cloud.ru is one of the most popular cloud providers in Russia and CIS.

D00Movenok commented 3 days ago

Ready to help with porting to v3, just ping me