Replies: 4 comments 2 replies
-
🤯 Whoa! I need to digest this and how it would need to be implemented. Very cool idea! |
Beta Was this translation helpful? Give feedback.
-
You brought this up in Slack today and I'd love to chat more about it. I see a lot of potential in having this and had a few thoughts about how someone could go about it: Make an alternate entrypoint into Porter Right now we have cmd/porter (cli) and pkg/porter (library with the Porter struct to automate commands). We could add another package, cmd/porterd and make that long running service that responds to gRPC requests. I think that would fit better into Porter's architecture than a plugin. As you pointed out, it could be used by all sorts of integrations. We could also take advantage of that in the porter operator. The operator would still spawn jobs to execute the invocation image, but could avoid making another job to run the cli and instead send a command to the grpc service. I'd be happy to help review and collaborate on designs, and a POC for this if you are interested in moving forward with it. |
Beta Was this translation helpful? Give feedback.
-
This design is inline with goals I've had to POC a service that allows a web/cli interface for a user to see a catalogue of bundles and install. An SRE would manage some aspect of bundle requirements (like creds) with a subset of parameters exposed to users. I have a k8s service that does this by watching k8s job resources created by the operator. I'm currently working on how to extract bundle outputs and provide a subset of them back to the user. Down the road, I could see an additional BundleDefintion CRD supporting a collection of known/approved bundles with attributes needed for presentation to a user. I can help with POC work as well. Porter supports our separation of responsibility with a design like this. Anyone who want's an item deployed by the service can create a bundle. An SRE running the service can manage where items are deployed and what's exposed back to the users. |
Beta Was this translation helpful? Give feedback.
-
Backgound
As a non-technical user, I want to perform porter operations and have feedback via a web/desktop application interface
Related issues
Suggestions
Examples of GRPC plugin interface:
Install
Upgrade and streaming output
Proposition for interacting and generating (prams and creds)
References
Beta Was this translation helpful? Give feedback.
All reactions