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

Separate ssh from create-ephemeral #117

Open
alyssa-kwan-cloverhealth opened this issue Sep 19, 2015 · 2 comments
Open

Separate ssh from create-ephemeral #117

alyssa-kwan-cloverhealth opened this issue Sep 19, 2015 · 2 comments
Labels

Comments

@alyssa-kwan-cloverhealth

One big use case we have is situations where we want to spin up an ephemeral container where we have long-running jobs. We currently can't screen into that, which means disconnect = abort.

It would be nice to have a separate subcommand aptible create-ephemeral (or a better name). This stands up a container that isn't publicly listed on the dashboard (or listed somewhere else). aptible ssh could be given the generated name string for one of these and ssh into it instead.

The bigger issue is exposing the Aptible internals around cleanup of ephemeral containers. Would we want to pass timeouts into this subcommand?

In any case, I can make a PR. LMK what desired behavior is.

@fancyremarker
Copy link
Member

Hey @alyssa-kwan-cloverhealth , thanks for this feature request! The implementation here would be mostly in the internals of Aptible (in the server that handles aptible ssh connections, which are not straightforward SSH sessions).

Would the following implementation work for your use case?

  • Every aptible ssh session gets a handle (either printed when you connect, displayed in Dashboard, or both).
  • When running aptible ssh, you can optionally pass a handle of an existing session, to connect to it.

@alyssa-kwan-cloverhealth
Copy link
Author

Hi @fancyremarker. 2 for sure. 2 requires handle creation, which implies that part of 1 (and most likely print display as well). Perhaps handles are assigned if-and-only-if you pass in the option for that to begin with? This seems like it would be a way to allow Aptible greater flexibility in destroying ephemeral sessions if they don't need to be "pinned".

Of course, things that are "pinned" aren't that far off from real apps, other than the compliance of never being able to SSH to a real app, and the fact that "pinned" implies management of timeout or something like that so you know when it's safe to garbage collect it.

If this feature is a real "semi-ephemeral" workflow, then Dashboard visibility and control is probably important for Aptible customers as a whole. We at Clover Health would be unlikely to use it though.

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

No branches or pull requests

2 participants