On 2017/06/22 13:52, Reyk Floeter wrote:
> Hi,
> 
> we need an "agent" to run VMs in Azure; this is a port of WALinuxAgent.
> 
> Unlike other clouds, it is not enough to run a simple "cloud-init"
> script to provision VMs.  The latest version 2.2.13 of WALinuxAgent
> already supports OpenBSD, they merged my patch, and it would be
> desirable to have it as a package/port in OpenBSD.
> 
> pkg/DESCR:
> The Microsoft Azure Linux Agent (waagent) manages Linux & BSD
> provisioning, and VM interaction with the Azure Fabric Controller.
> 
> Full description:
> The Microsoft Azure Linux Agent (waagent) manages Linux & BSD
> provisioning, and VM interaction with the Azure Fabric Controller. It
> provides the following functionality for Linux and BSD IaaS
> deployments:
> 
>   * Image Provisioning
>     - Creation of a user account
>     - Configuring SSH authentication types
>     - Deployment of SSH public keys and key pairs
>     - Setting the host name
>     - Publishing the host name to the platform DNS
>     - Reporting SSH host key fingerprint to the platform
>     - Resource Disk Management
>     - Formatting and mounting the resource disk
>     - Configuring swap space
> 
> [...skipped Linux-specific features...]
> 
> It includes local patches to _disable_ "extensions" by default
> (see also https://github.com/Azure/WALinuxAgent/pull/782):
> 
>   * VM Extension
>     - Inject component authored by Microsoft and Partners into Linux VM (IaaS)
>       to enable software and configuration automation
>     - VM Extension reference implementation on 
> https://github.com/Azure/azure-linux-extensions
> 
> 
> Notes:
> 
>   * DISCLAIMER: I haven't done a port for years and I seriously lack ports
>     knowsledge with my total 9 ports commits since 2004.
>   * With some port help from jsg@, especially for the GH_* part.
>   * I try to find time to create another, minimal agent without Python...
>     I've already done this for a different platform.
> 
> Reyk

I agree it seems useful to have in packages.

/etc paths coming from ports/packages are meant to be subst'ed
with ${SYSCONFDIR} as technically it is allowed to override this
during build. For this it would affect the path to waagent.conf
but not things like /etc/ssh, /etc/master.passwd, /etc/doas.conf
which are from base.

I think it should be enough to add this to __init in OPENBSDOSUtil ..

        self.agent_conf_file_path = '${SYSCONFDIR}/waagent.conf'

.. and do something like

pre-configure:
        ${SUBST_CMD} ${WRKSRC/azurelinuxagent/common/osutil/openbsd.py

.. and use ${SYSCONFDIR} instead of hardcoded /etc in the @sample line
in PLIST.

Please also add a comment near the OpenSSL RUN_DEPENDS to say
way (IIUC it's because LibreSSL has removed CMS support).

By convention the first commit of a new port (or an updated port)
is done without a REVISION marker, it doesn't really matter though.

Reply via email to