margo / specification

Margo Specification
https://specification.margo.org/
Other
23 stars 6 forks source link

Margo Preview Release 1 Scope: Device Requirements - Enable Margo Workloads #44

Open ajcraig opened 1 month ago

ajcraig commented 1 month ago

Purpose

The goal of this Issue is to establish the Margo Preview Release 1 scope. The scope snippet below covers the Device Requirements that enable Margo workloads. The goal of this issue is to gain approval on the proposed Preview Release 1 scope. Additional issues will be released for approval regarding the full scope.

** Updated 10/28/2024 to provide additional details regarding scope.

Device Requirements Scope - Enable Margo Workloads

  1. The ability to build a Margo compliant device that fits one of the described roles. specification link.
    • Supported device roles include:
      1. Standalone Cluster (single-node cluster)
        • Serves both the Kubernetes Cluster Leader and Worker roles
        • Supports Helm deployment profile type described in application package definition.
      2. Standalone device
        • Supports Docker compose deployment type described in application package definition.
  2. The ability to host Margo compliant workloads via OCI container runtime
  3. The ability to host the Margo management interface service(s) that enable workload deployment and maintenance.
    • This feature includes the following items:
      • Interpret deployment specification provided via the workload orchestrator. Subsequently deploy the described workloads on the local container runtime.
      • Provide workload deployment status updates to the workload orchestrator
      • Provide device capabilities information to the workload orchestrator.
  4. The ability to provide Margo compliant workloads an observability interface and collector to consolidate metrics, traces, and logs.
    • OTEL Collector deployed and running on device
    • OTEL Collector configured to collect the required runtime observability data as stated in the specification.
    • Device is able to inject the required environment variables indicated in the specification into the locally hosted workloads.

Decisions:

Review/Approval Options:

@margo/approvers Please respond below and consolidate your company's response to a single reply. If additional information is needed to provide your response, please reach out.

Response Options:

merrill-harriman-se commented 2 weeks ago

These two questions are listed in the "Decisions" sections:

  1. Policy agent and how far we define / require this component within the Device specifications.
  2. Within this release do we support the extended Kubernetes roles that include worker and leader? Or just the Standalone Cluster role

If they are questions, then they are not decisions. Does having them here suggest that the feedback of the prerelease will be used to make the decision? If so, that should be more clear.

effndc commented 2 weeks ago

On behalf of Intel I am submitting an approval.

abbottjd commented 2 weeks ago

For ABB, I approve this proposal for PR1 scope. We are okay with excluding the following items referenced as questions in the decision list:

stormc commented 1 week ago

The vote is: Approval.

To be defined is in what order and priority – given a timeline – things should be integrated. I guess standalone mode is mandatory and top priority. Things like OPA needn't be in the first shot but have to be in mind when building so to be easily integrated later on.

Having said that, basing an example (virtual) device on ISAR CIP Core from the Civil Infrastructure Platform as pitched by me a few weeks ago could help in velocity. @michaeladler has some very capable hands in these topics.

hsinghcg commented 1 week ago

Capgemini Vote:

On the decision points:

pauldbrooks commented 3 days ago

Rockwell Automation approves

merrill-harriman-se commented 3 days ago

Schneider Electric approves with comments -

Specifically - do not include a requirement to support GitOps - there is no way to test conformance.

My assumption about the statement: "Device is able to inject the required environment variables indicated in the specification into the locally hosted workloads."

I concur with Capgemini and ABB comments -

  1. Policy Agent to be excluded from Preview Release 1
  2. Single node Kubernetes for Preview Release 1
  3. Specific OS requirements out of scope - state general support for Linux