package icon indicating copy to clipboard operation
package copied to clipboard

Centralize applicable logic in k8s rather than in every language library

Open vllry opened this issue 7 years ago • 5 comments

Maintaining many libraries is hell on wheels, especially if they are feature-rich and/or rapidly changing. It would be ideal to only maintain one copy of language-agnostic logic, without forcing the developer to have additional toolchains.

Shared logic can have a single implementation, such as an API server (distinct or extended from k8s) for Metaparticle.

For example, a given library could create the server, then make a single call to create a deployment with specific parameters. The API server could then build and make the Kubernetes API calls, figure out bad/missing parametrs, etc. This leaves the library only responsible for capturing those parameters, making a simple API call, and reporting the result. If Metaparticle winds up adding support for something more complex like a CI/CD pipeline, canary releasing, etc, this would be especially valuable.

vllry avatar Dec 07 '17 23:12 vllry

I think a precursor to a step like this would be better speccing out the desired (current) features across all libraries, and very near term additions.

vllry avatar Dec 07 '17 23:12 vllry

The mp-compiler project (https://github.com/metaparticle-io/metaparticle-io) tries to do a bunch of this, but there's definitely more logic that could be moved into that compiler.

For example the image build/push logic.

Would love contributions there.

brendandburns avatar Dec 08 '17 13:12 brendandburns

@brendandburns that link 404s for me.

willnewby avatar Dec 08 '17 16:12 willnewby

@willnewby I think it's https://github.com/metaparticle-io/metaparticle-ast

vllry avatar Dec 08 '17 18:12 vllry

Oh hey. Thanks @vllry

willnewby avatar Dec 08 '17 20:12 willnewby