-
Epic
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
Given the number of options available to collect data from VMs, it would be wise for ACS to design a common interface to accept VM data from various data sources. This interface should be accompanied with an adapter pattern for when the source of data cannot be modified outside of ACS-managed code.
Acceptance criteria:
- Stubbed out interface for accepting VM data
- Documentation for the adapter pattern
- Messages for transmitting VM data to Central are defined
Technical details around the interface:
- HTTP endpoint
- Push model, i.e. data sources are expected to "push" their data to the ACS HTTP endpoint
- Protobufs are the modus operandi for ACS, so I don't see why we would stray from that convention here
Open questions:
- Not sure how generic the data about VMs should be. I think "facts" is very generic, but jamming all RPM packages into a single "fact" may not be optimal.
- Should this endpoint be mounted as part of Sensor or be a separate deployment?
- How will VM data sources authenticate against to ACS?