Open
Description
Current situation
The provisioning agent implements all features in a single application.
Impact
Re-using the agent's functionality from other agents like e.g. Afterburn is challenging.
This impacts adoption of the agent by the larger Linux ecosystem and hinders its mission of being a reference implementation for a minimal Azure provisioning guest agent.
Ideal future situation
- The provisioning agent provides a library (rust crate) which is consumable by other projects. (Split common library parts into a separate workspace #39)
- The library is built and tested in CI, versioned releases are published regularly.
Follow-up tasks
- The library is integrated with Afterburn (possibly in a WIP fork).
- Afterburn using the library is integrated with Flatcar to move away from wa-agent supplied guest configuration.
- Extended Afterburn support of Azure using the library is contributed upstream.