Commit graph

59 commits

Author SHA1 Message Date
Jason Lunz
ae3aacb964
fix errcheck linter warning 2021-12-20 13:57:52 -07:00
Jason Lunz
6b34fa2a27
oh look, struct definitions can be scoped! 2021-12-20 13:57:52 -07:00
Jason Lunz
f22be4a03d
use a more robust method to get the executable path
cmdutil.Factory.Executable() accounts for things like package managers
and symlinks to the actual executable.

An alternative to passing the *cmdutil.Factory down the stack would be
stashing the executable string in the codespace.App, which works (and
the diff is smaller), but it produced some odd non-local test failures.
This way seems less mysterious and more like other uses of Factory in
the codebase.
2021-12-20 13:57:52 -07:00
Jason Lunz
7b432de5c2
use heredoc helper for config template 2021-12-17 17:09:06 -07:00
Jason Lunz
b2598d64f9
start codespace to fetch config if it's explicitly requested
When running `gh cs ssh config` without a `-c` option, we skip
codespaces that aren't available. This change suppresses that behavior
when a single codespace is explicitly requested, starting the codespace
if it's not running.
2021-12-17 17:08:58 -07:00
Jason Lunz
61823997c2
always verify authorized keys in parallel with other work, and at most once 2021-12-17 16:46:53 -07:00
Jason Lunz
0af268da4e
properly indent ssh config example 2021-12-17 16:11:55 -07:00
Jason Lunz
06eb5ad47f
fetch remote ssh usernames in parallel 2021-12-17 16:10:44 -07:00
Jason Lunz
2ee88da647
close session on error 2021-12-17 14:42:54 -07:00
Jason Lunz
a05541f4ed
drop redundant API call 2021-12-17 11:39:14 -07:00
Jason Lunz
0670a7758b
use generic io interfaces 2021-12-17 11:18:59 -07:00
Jason Lunz
811d6505d2
tighten up ssh config help wording 2021-12-17 11:03:11 -07:00
Jason Lunz
206b6379c3
return non-zero if ssh config skips any codespaces 2021-12-17 10:47:22 -07:00
Jason Lunz
a9d02a746b
push fetching codespace details into openSSHSession callers 2021-12-16 17:19:34 -07:00
Jason Lunz
ac685611b1
openssh -> OpenSSH 2021-12-16 17:00:40 -07:00
Jason Lunz
71c9fa11f0
add more ssh config --help documentation 2021-12-16 17:00:40 -07:00
Jason Lunz
369ea534b6
explain why failure to connect to a codespace doesn't fail the entire command 2021-12-16 17:00:39 -07:00
Jason Lunz
4a6887f99e
add a comment explaining why we build an sshUsers map 2021-12-16 17:00:38 -07:00
Jason Lunz
6f8635a17e
listOpensshConfig -> printOpenSSHConfig 2021-12-16 17:00:37 -07:00
Jason Lunz
b7cd2bbc72
no need to separately declare vars here 2021-12-16 17:00:37 -07:00
Jason Lunz
3cb3cf7ca5
make ListOpensshConfig private 2021-12-16 17:00:36 -07:00
Jason Lunz
96a2e125e6
document the codespaceSSHConfig struct 2021-12-16 17:00:36 -07:00
Jason Lunz
ca3b59dd35
use struct embedding to express this less verbosely 2021-12-16 16:09:33 -07:00
Jason Lunz
ac3b0c50e3
Ssh -> SSH 2021-12-16 16:09:32 -07:00
Jason Lunz
92609bd1ec
Revert "use go-multierror to combine read/write close errors"
This reverts commit 456f4381e02aa843ddb3cc1b9628cb81487ba895.
2021-12-16 16:09:32 -07:00
Jason Lunz
3ca5cbab84
hide the gh cs ssh --stdio option in the --help message 2021-12-16 16:09:31 -07:00
Jason Lunz
8687fcb2a0
clean up gh cs ssh option parsing/validation 2021-12-16 16:09:30 -07:00
Jason Lunz
c9d0085e57
move gh cs ssh --config into a separate gh cs ssh config command
We could also move this to a toplevel command, but I don't want to
pollute that namespace too much. Open to suggestions.
2021-12-16 16:09:30 -07:00
Jason Lunz
0e6abda73b
allow generating ssh config for a single codespace 2021-12-16 15:42:39 -07:00
Jason Lunz
92403f3a2f
check for incompatible command line options 2021-12-16 15:42:38 -07:00
Jason Lunz
7765000601
add gh cs ssh openssh config file generator 2021-12-16 15:42:38 -07:00
Jason Lunz
4306762f8b
factor out openSshSession() helper function 2021-12-16 15:42:37 -07:00
Jason Lunz
c5e553e400
implement gh cs ssh --stdio 2021-12-16 15:42:37 -07:00
Jason Lunz
81b658ea75
use go-multierror to combine read/write close errors 2021-12-16 15:42:33 -07:00
Jason Lunz
9416056da1
allow combining os.Stdin and os.Stdout as an io.ReadWriteCloser 2021-12-16 15:41:54 -07:00
Alan Donovan
5fea604f78
gh cs cp --help: fix typo 2021-12-02 17:09:20 -05:00
Mislav Marohnić
dae77fd398
Merge pull request #4675 from cli/docs-web-formatting
Overhaul manual pages for the web
2021-11-09 21:00:51 +01:00
Jose Garcia
8296904c26
Rename errors from Live Share to generic codespace 2021-11-08 13:35:48 +00:00
Mislav Marohnić
2c180a6338 Clean up codespace cp docs
- Examples block now moved to its own section
- Refer to flags by their full names
- Use backticks for delimiting command-line expressions
- Use double quotes for literal values
2021-11-03 15:44:09 +01:00
Mislav Marohnić
9b7d53501f Make sure URLs in man pages render as hyperlinks on the web 2021-11-03 15:39:10 +01:00
Mislav Marohnić
31ba2ea4d5
Publish codespace commands (#4606) 2021-10-25 17:38:00 +00:00
Alan Donovan
2f7f224c9e
Merge pull request #4584 from cli/FlagErrorf
Add FlagErrorf; encapsulate FlagError.error
2021-10-21 14:14:05 -04:00
Jose Garcia
bbea5ac95e
codespace: progress indication, logging (#4555)
* Rework logging, showing progress, and printing from `codespace` commands
* Change rendering of the general progress indicator so that it's visible on both dark and light backgrounds
* The progress indicator now "spins" faster

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-10-21 18:04:04 +02:00
Alan Donovan
f4491c7a80 Add FlagErrorf; encapsulate FlagError.error 2021-10-21 11:40:20 -04:00
Alan Donovan
7215522123 use FlagError 2021-10-21 10:06:11 -04:00
Alan Donovan
8fb5e5e1d5 Report error if no filename is remote 2021-10-20 14:21:22 -04:00
Alan Donovan
f683d6cb4c Disable remote shell expansion unless -e 2021-10-19 10:11:31 -04:00
Alan Donovan
48ada6d5f2 Use correct destination string, not root@localhost 2021-10-18 13:59:41 -04:00
Alan Donovan
e31b2567b8 gh cs cp: copy files between local/remote file systems 2021-10-18 12:39:09 -04:00
Jose Garcia
0748e658cc Switches port binding to 127.0.0.1 where possible 2021-10-14 11:07:25 -04:00