-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implements all of the Alloy components #4
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the work on this @joelrebel !
I have a few comments and a more general clarification.
It's my understanding there are two main cases for use alloy
. First case is to use alloy
as part of the deprovisioning process to collect hardware inventory (inband).
The second case is to use alloy
as a standalone tool that collects hardware inventory for the whole fleet (oob).
It seems to me that this code is optimised for the second case due to its concurrency aspects. Is this the correct understanding?
* docs: Add README, development notes * examples: add sample config, image assets * Update Makefile, CI linter, pull request template * internal/model: define Asset, AssetDevice, Config structs * app: App holds attributes to initialize Alloy * internal/asset: Asset getter interface and csv implemention * internal/fixtures: add emapi getter mock implementation * internal/asset/emapi: emapi asset getter implementation * internal/collect: define interface, errors * internal/fixtures: add device mock data, returned by a collector * internal/fixtures: add out of band fixture data for tests * internal/fixtures: add inband fixture data for tests * internal/collect/inband: implement inband inventory collector * internal/collect/inband: implement out of band inventory collector * internal/fixtures: add asset getter mock implementation * internal/publish: define interface and implement stdout publisher * internal/publisher: implement hollow publisher * internal/fixtures: add hollow service mock data * cmd: cli commands and inband cli command * cmd/outofband: implement outofband cli command * purge bin file * docs: a directory for docs and related files * .gitignore: ignore alloy binary * cmd/outofband: follow camelcase convention for struct name * replace all references and variable names from hollow to serverService * clear unused global vars and add proper method comments * go: update to upstream bmclib v2 release; switch to Go 1.18 * CI: update dockerfile for alloy inband build * ci: disable CODEQL scanning until repository is public * ci: build alloy docker image as alloy-inband * README: stick with short flag options in the examples
This PR implements Alloy itself to function as an inventory collector - for both
inband
, andout of band
data collection.To understand how the changes included come together, have a look at
README-development.md
README.md
The changes included basically implements,
inband
,outofband
Asset getter
,Inventory collector
,Inventory publisher
,the components function together to collect and publish hardware inventory.
TODO: