Skip to content

Define whether all or a limited set of Helm v3/4 features are supported for application deployment #148

@ajcraig

Description

@ajcraig

Feature description

Goal: Define if Margo apps and devices support all or a limited amount of helm v3 features. Additionally, this feature should investigate the newly released Helm v4 and which of those features are supported.

Category

  • Host and Run Margo apps

Provide adequate technical acceptance criteria(s) associated with this feature below:

  • Fully defined set of Helm features expected to be supported for app suppliers and device suppliers
  • Investigation and improvement to specification for support of Helm v4
  • Details / strategies associated with whether the WFM supports

Although not required, it is highly encouraged to provide feature use-cases below:

  • Expanded functionality for deployment towards kubernetes enabled edge devices.
  • Clear rules for application developers on what is supported within the Margo app management workflows.

Additional information

Related to issue #103

  • If we don't explicitly state what must be supported, device vendors are free to take any approach they want to install the Helm charts. So, if they choose an approach that does not do server-side template rendering (meaning it communicates with the Kubernetes API to resolve lookups and run hooks), then applications with Helm charts using features like hooks and lookups will not work, and it will not be immediately clear why it is failing
  • If we take the other approach and indicate that all Helm V3 features must be supported when installing the Helm chart on the device, it means proposals like Red Hats, where the template rendering is done by the WFM, would not be possible becaue the WFM is not going to be able to communicate with the device's Kubernetes API to do the side-side template rendering.
  • There are also some security concerns over allowing features lookup and hooks to be usable, which can make it difficult for device vendors to be able to manage what is attempting to be installed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions