Skip to content

Consider using a more "cloud native" environment inside the devcontainer #26

@mark-dropbear

Description

@mark-dropbear

Still exploring what exactly this is going to look like but probably something like Skaffold and minikube to build the local development environment using the exact same primitives that you would use in other environments like staging and production.

At the moment whenever we have to use tools like Envoy we are manually installing the binary inside the devcontainer which already feels like both a lot and completely detached from how you would work with it in every other environment. There is a super high liklihood that as this project matures we are going to end up using other sidecar style functionality with things like Dapr for example and I would rather learn the correct patterns once and use them consistently.

I've already done a small demo of this concept playing around where I was able to launch the server and Envoy using a simple skaffold dev command but it was done is a particularly bad way, I couldn't actually connect to the Envoy proxy using the Flutter app or the native gRPC client in the common/examples/client.dart file so there is still a bunch of debugging left to do which I suspect is going to require at least a bit deeper of a dive into Kubernetes land than I had originally planned on but is probably kind of inevitable on a long enough timeline because my original plan for everything in a single container that I throw to Cloud Run is already starting to feel like kicking the can down the road so I may as well lean into it early on in the process where the rest of the complexity is already fairly low but will only get worse over time.

In the meantime I came across this repository which isn't exactly what I am looking for but does have something similar to what I had in mind that I am sure I can learn from https://github.com/mhamrah/grpc-example

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions