cisagov / cyhy-system

Cyber Hygiene system and overall documentation/issue tracking
Creative Commons Zero v1.0 Universal
6 stars 0 forks source link

Use an EFS share for orchestration with the cyhy-commander #117

Open mcdonnnj opened 6 months ago

mcdonnnj commented 6 months ago

💡 Summary

Background

Currently the cyhy-commander uses the Paramiko library to distribute and retrieve work to the scanner instances over SSH. This design sees its origins in the operation of this system pre-AWS migration from an on-premise deployment.

Motivation and context

Although robust, this design limits the ways we can explore alternative, cloud-native products and solutions to improve the system. Instead of using SSH to communicate with scanner instances we can instead use Amazon EFS (Elastic File System) and mount it to the instance running the cyhy-commander as well as each scanner instance.

Implementation notes

The cyhy-commander will be updated to interact with the local filesystem (where the EFS share is mounted) instead of using SSH. The cyhy-runner on each scanner instance will pick up jobs and write the results to the same location, but instead of mounting Amazon EBS (Elastic Block Storage) at that filesystem path it will be the EFS share. When mounting the EFS share on scanner instances we should look at using an EFS access point for each instance to both enforce uid/gid as well as limit the scope of access on the share to only work for that particular instance.

[!NOTE] We will need to watch during testing to ensure that the throughput to the EFS share is acceptable for this new mode of operation.

Acceptance criteria

How do we know when this work is done?

TODO

Create issues in respective repositories to reflect the specific work to be done.