Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider lifting mandatory implementation requirement for ContainerizedWorkload #408

Open
autodidaddict opened this issue Oct 2, 2020 · 2 comments

Comments

@autodidaddict
Copy link

Per the spec:

OAM implementations MUST implement all core workloads as defined in this specification.

And then further down, we see the list of core workloads in the specification:

The following core workloads are defined in the OAM specification.
Containerized Workload

This makes it seem like any OAM implementation (and I'm assuming there might eventually be some kind of list of "certified" or "accepted" OAM runtimes) must support the ability to manage containerized workloads. If OAM is truly open and truly infrastructure agnostic, then I don't believe it should mandate that all implementing runtimes must support a containerized workload.

I can see having the spec for ContainerizedWorkflow be a part of the official OAM spec, as that metadata is broad and universal enough that it should come with the core... but what about mini/micro OAM runtimes that might manage different kinds of workloads--raw processes, or WASI modules or WebAssembly modules or cron jobs or bash scripts or even non-containerized lambdas? Those runtimes shouldn't have to support (or pretend to support) containerized workloads.

@ryanzhang-oss
Copy link
Contributor

The reason that we would like all OAM runtimes to support ContainerizedWorkload is to have a unified way to express an application across different OAM platforms. You are more than welcome to bring this up in our upcoming OAM community meeting next week!

@resouer
Copy link
Member

resouer commented Oct 3, 2020

The ContainerizedWorkload schema assumes OCI image as the way to package artifacts, it has no assumption that the implementation should be Linux container. But I agree it's also a valid point that artifacts could be WebAssembly modules or a simple zip etc. Worth a further discussion indeed, if we could introduce a more generic workload schema, we could downgrade ContainerizedWorkload to standard.oam.dev. Or, we simply make the requirement "if applicable".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants