We should decouple the scripts in bin/ and break them out into their own project.
Motivation
The tools should be their own installation so the library is performing only the functionality it needs when included in other projects. As an example, when cyhy-core is installed on an instance that uses cisagov/cyhy-reports, the scripts that would be installed are unneeded (and possibly unwanted) additions to that instance's environments. This project should be focused on being a library, because that is its primary purpose.
This pare down to essential functionality is I believe important as part of the long term health of this library. In a future move to a serverless setup, having this code not install tools would be preferred. This would also allow us to break apart testing in a saner manner.
Implementation notes
This would require the creation of a new project, cyhy-tools or something similar, and the removal of the the scripts and related installation from this project. This would help toward the work for https://github.com/cisagov/cyhy-system/issues/14.
Acceptance criteria
[ ] The bin/ directory, the scripts, and any installation requirements for them are removed from this project.
[ ] A new project, tentatively cyhy-tools, would have the scripts included here as their own project.
[ ] A new Ansible role to handle installing this new project would need to be created.
[ ] Test that a deployment that would otherwise have only required cisagov/ansible-role-cyhy-core has the same functionality when this new Ansible role is used.
💡 Summary
We should decouple the scripts in
bin/
and break them out into their own project.Motivation
The tools should be their own installation so the library is performing only the functionality it needs when included in other projects. As an example, when
cyhy-core
is installed on an instance that uses cisagov/cyhy-reports, the scripts that would be installed are unneeded (and possibly unwanted) additions to that instance's environments. This project should be focused on being a library, because that is its primary purpose.This pare down to essential functionality is I believe important as part of the long term health of this library. In a future move to a serverless setup, having this code not install tools would be preferred. This would also allow us to break apart testing in a saner manner.
Implementation notes
This would require the creation of a new project,
cyhy-tools
or something similar, and the removal of the the scripts and related installation from this project. This would help toward the work for https://github.com/cisagov/cyhy-system/issues/14.Acceptance criteria
bin/
directory, the scripts, and any installation requirements for them are removed from this project.cyhy-tools
, would have the scripts included here as their own project.