Giter Site home page Giter Site logo

Comments (7)

pascalbreuninger avatar pascalbreuninger commented on June 25, 2024

@solesensei thank for opening the issue. What behaviour would you expect after terminating the pod? Connection failure?

from devpod.

solesensei avatar solesensei commented on June 25, 2024

@pascalbreuninger
Yes, if you have stopped the pod, then any SSH connection should fail.

Till you explicitly start the workspace again

from devpod.

solesensei avatar solesensei commented on June 25, 2024

Any updates?

from devpod.

solesensei avatar solesensei commented on June 25, 2024

@pascalbreuninger I think the option would be nice at least --do-not-start-on-connection

from devpod.

pascalbreuninger avatar pascalbreuninger commented on June 25, 2024

I was thinking about this proposal and to me it comes down to the foundational question of whether DevPod is expected to just create a workspace or as a tool to create and manage machines (infrastructure) and containers.
I am leaning towards on the former side, personally. This also bears the implication that DevPod always attempts to recreate the infrastructure needed to run a workspace.

We could implement the flag for sure, question is if it fits the projects "philosophy" 🤷‍♂️
What do you think?

from devpod.

solesensei avatar solesensei commented on June 25, 2024

DevPod is expected to just create a workspace or as a tool to create and manage machines (infrastructure) and containers. I am leaning towards on the former side, personally.

@pascalbreuninger thanks for your answer

DevPod is already part of handling infrastructure tasks. It can make virtual machines and Kubernetes pods, and you can stop them either on your own or by setting an inactive timeout. I also don't think the tool has to solve really complex infrastructure issues.

In my opinion, the key thing DevPod should tackle is making it easier to create a consistent development environment with the resources you need. Sure, you can make your own virtual machine, connect through SSH, install Docker, and then use the devcontainer command line to start your container. But DevPod can do all of that in one go.

Talking about "recreating the infrastructure needed for a workspace," I'm fine with that. The issue is that it's surprising when connecting to your Kubernetes pod without explicitly using any devpod command.

When you run the ssh my-host command, it's basically triggering a behind-the-scenes DevPod setup. What's worse is you might not expect this, especially when working in your IDE, which might use the same command just to check the connection. Creating a workspace on Kubernetes can take 10-20 minutes, especially with heavy configurations. An engineer might not notice it, shut down their workspace, close the IDE, and unintentionally leave a running workspace for days, leading to unnecessary costs. #741

But I can understand the reasons behind the current behaviour. It's convenient to just do devpod up my-workspace and have your workspace up and running. However, for connecting via SSH, a better option could be having ProxyCommand /usr/local/bin/devpod ssh --do-not-start in my ~/.ssh/config.

from devpod.

pascalbreuninger avatar pascalbreuninger commented on June 25, 2024

When you run the ssh my-host command, it's basically triggering a behind-the-scenes DevPod setup. What's worse is you might not expect this, especially when working in your IDE, which might use the same command just to check the connection. Creating a workspace on Kubernetes can take 10-20 minutes, especially with heavy configurations. An engineer might not notice it, shut down their workspace, close the IDE, and unintentionally leave a running workspace for days, leading to unnecessary costs. #741

Thanks for the explanation, I do understand your problem way better now!

from devpod.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.