Skip to content
This repository has been archived by the owner on Mar 18, 2018. It is now read-only.

ssh-pool v2.0.0 #27

Closed
13 of 15 tasks
gregberge opened this issue Aug 14, 2017 · 3 comments
Closed
13 of 15 tasks

ssh-pool v2.0.0 #27

gregberge opened this issue Aug 14, 2017 · 3 comments

Comments

@gregberge
Copy link
Member

gregberge commented Aug 14, 2017

Hello,

SSH pool is the core of Shipit, the new Shipit v4 will use ssh-pool v2 under the hood.

The goal of this issue is to list and follow the progression of ssh-pool v2.

I would be happy to have some review from you guys @timkelty, @sgtlambda, @stfoo, @gmaliar.

Features

Bugs

Deprecation for v3

  • Deprecate automatic "sudo" removing when using "asUser"
  • Deprecate "copy" method in favor of "copyToRemote", "copyFromRemote",
    "scpCopyToRemote" and "scpCopyFromRemote"
  • Deprecate using "deploy" as default user
  • Deprecate automatic "tty" when detecting "sudo" Problems with interactive SSH shipit#56

Breaking changes

Refactoring & Chores

  • Rewrite project in ES2017 targeting Node.js v6+
  • Use Jest for testing
  • Add Codecov

Documentation

  • Update readme with new documentation
@gmaliar
Copy link
Contributor

gmaliar commented Aug 14, 2017

@neoziro I can whip up an escaping special values pr quite quick if you'd like but I think that by transitioning from double quotes to single quotes for shell commands we'd have much less problems over time.
Glueing is easier with single quotes and works quite well. I could get that to work as well I think quite quick, let me know which path you'd like me to take and I'll write it up.

Have a look here - http://mywiki.wooledge.org/BashGuide/SpecialCharacters

@gregberge
Copy link
Member Author

@gmaliar thank you! The main goal is that user can write commands that actually works. We should start from example and expect a result:

Actually:

run('echo $USER') // "localuser"
run('echo \\$USER') // "remoteuser"
run("echo '$boom'") // ""
run("echo '\\$boom'") // "$boom"

I think we should escape "$" and avoid local environment variable replacement because we can do it using process.env.

Result should be:

run('echo $USER') // "remoteuser"
run("echo '$boom'") // "$boom"

We should also document it.

I don't think the problem comes from single quotes or double quotes, but maybe. The goal is simple if you run a command in your shell, typing it in a "run" command should have the same behaviour.

@gregberge
Copy link
Member Author

Moving to a lerna project shipitjs/shipit#156

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

No branches or pull requests

2 participants