Open t-lo opened 8 months ago
This sounds great. A few comments: 1) We should produce a library which has all the core functionality and the main application that consumes it so that anyone can just use the whole agent as-is and other agents who are interested only in the functionality can consume the library. 2) We should think about making some of the functionality configurable. As an example: mounting the ISO to retrieve ovf file requires enabling UDF driver in the image, which might not be desirable for some users, especially if he/she does not have a need to provision the VM with password through Azure control plane. By making it configurable, the user can minimally customize the functionality of the agent/binary depending on his/her need
I have been looking into this issue.
For separate structure of a common library and a binary that depends on the lib, one approach would be to introduce workspace.
So we can move all libs (distro, goalstate, imds, etc.) to a subdirectory, keeping only src/main.rs
in the current form, to combine bin and lib in a top-level Cargo.toml
.
ue-rs already has a similar workspace structure.
Created a WIP PR https://github.com/Azure/azure-provisioning-agent/pull/39.
[heart] Thilo Fromm reacted to your message:
From: Dongsu Park @.> Sent: Wednesday, February 21, 2024 4:35:18 PM To: Azure/azure-provisioning-agent @.> Cc: Thilo Fromm @.>; Author @.> Subject: Re: [Azure/azure-provisioning-agent] [RFE] consumable library for integration with other provisioning agents (Issue #33)
Created a WIP PR #39https://github.com/Azure/azure-provisioning-agent/pull/39.
— Reply to this email directly, view it on GitHubhttps://github.com/Azure/azure-provisioning-agent/issues/33#issuecomment-1957225824, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAARRUGGG7D4X6CDUQV23S3YUYO4NAVCNFSM6AAAAABCS63T6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJXGIZDKOBSGQ. You are receiving this because you authored the thread.Message ID: @.***>
Published v0.1.1 of libazureinit and azure-init.
The 2nd one, The library is built and tested in CI, versioned releases are published regularly
is done.
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
Follow-up tasks