Commit Graph

45 Commits

Author SHA1 Message Date
Eric Bloch 96c904a51e Add tcsh support to --shell
Fixes #3404

Signed-off-by: Eric Bloch <eric.bloch@gmail.com>
2016-05-04 20:29:07 -07:00
Andre Caron b85531506a Silences docker-machine env command on Windows.
Signed-off-by: Andre Caron <andre.l.caron@gmail.com>
2016-03-25 09:03:53 -04:00
Nathan LeClaire 5000139c8e Add ability to imply 'default' VM in commands
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-01-15 17:10:08 -08:00
David Gageot fc025e1984 FIX #2746 Improve shell detection in bugsnag reports
Signed-off-by: David Gageot <david@gageot.net>
2016-01-06 16:57:33 +01:00
David Gageot b36fcbce2c FIX #2723 invalid path to docker-machine.exe on Windows/bash
Signed-off-by: David Gageot <david@gageot.net>
2016-01-06 11:01:10 +01:00
David Gageot 5ff7ab91fb Extract shell detection to its own package
Signed-off-by: David Gageot <david@gageot.net>
2016-01-04 15:58:30 +01:00
Stefan Scherer d394cffe49 Auto-detect shell on Windows
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
2016-01-03 03:35:12 +01:00
David Gageot 1744bf4fd7 Fix Powershell env hints
Signed-off-by: David Gageot <david@gageot.net>
2015-12-22 15:18:09 +01:00
David Gageot e7e72c37d6 FIX #2655 Add quotes to the eval cmdline if there are spaces in the path
Signed-off-by: David Gageot <david@gageot.net>
2015-12-22 11:34:33 +01:00
Jean-Laurent de Morlhon c279d0aba2 Default to cmd shell on windows
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-18 11:42:11 +01:00
Jean-Laurent de Morlhon c07067c7e4 Detect fish shell
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-17 16:43:59 +01:00
Jean-Laurent de Morlhon 854219d44a Clearer writer name
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-16 16:51:03 +01:00
Nathan LeClaire 06c97cfb17 Fix STDOUT and STDERR direction based on Log.* calls
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-12-15 18:01:42 -08:00
Doug MacEachern 4e58bb9434 Add emacs support to env command
Signed-off-by: Doug MacEachern <dougm@vmware.com>
2015-12-10 15:29:14 -08:00
Jean-Laurent de Morlhon 4792177b11 Logrus Machine Logger
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 18:36:48 +01:00
Jean-Laurent de Morlhon 2e79f67e93 Cleanup stdout/stderr log initialization
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:33:32 +01:00
Jean-Laurent de Morlhon 109bea4151 Extract interface and Remove log.print
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:33:32 +01:00
David Gageot 0c12b7dbc1 Check machine after create
Signed-off-by: David Gageot <david@gageot.net>
2015-11-27 09:43:34 +01:00
Nathan LeClaire 47da7f8314 Add interfaces for CLI unit testing and env test
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-24 18:09:27 -08:00
Nathan LeClaire 19ce7b79bd Revise CommandLine interface to contain libmachine client and store
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-23 19:29:20 -08:00
Roman Coedo f81870e4f1 Global set for fish env
Using "set -x" only exports the variable in the local scope.
This is a limitation when an user needs to invoke "docker-machine" in a fish script.

Using "set -gx" instead exports the variable globally.

Signed-off-by: Roman Coedo <romancoedo@gmail.com>
2015-11-18 21:35:32 +01:00
David Gageot eb39f098d5 Move code where it's used
Signed-off-by: David Gageot <david@gageot.net>
2015-11-13 16:27:50 +01:00
Jean-Laurent de Morlhon fe37f1fb0d Fix #2204 broken env unset
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-11-12 17:32:27 +01:00
David Gageot 99d6fe134d Introduce CommandLine interface
Signed-off-by: David Gageot <david@gageot.net>
2015-11-05 06:07:57 +01:00
David Gageot 86c52ec3e7 Make commands code easier to test
Signed-off-by: David Gageot <david@gageot.net>
2015-10-29 11:15:17 +01:00
David Gageot 2d1e6d0163 Simpler code for env usage hints.
We can just output the original os.Args in the
eval call.

Signed-off-by: David Gageot <david@gageot.net>
2015-10-26 10:31:18 +01:00
Nathan LeClaire b038ff4020 Fixes https://github.com/docker/machine/issues/2062
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-23 13:58:32 -07:00
Stefan Scherer 1d3268d128 improve cmd shell support
Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>

Signed-off-by: David Gageot <david@gageot.net>
2015-10-22 12:15:33 +02:00
David Gageot bd532747f1 FIX #2019 invalid env hints
Signed-off-by: David Gageot <david@gageot.net>
2015-10-20 17:58:35 +02:00
Nathan LeClaire 17f0a32b79 Ensure log writes only to os.Stderr for env and config command
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-19 17:30:18 -07:00
Nathan LeClaire c8edb33ecd Move towards using external binaries / RPC plugins
- First RPC steps

- Work on some flaws in RPC model

- Remove unused TLS settings from Engine and Swarm options

- Add code to correctly encode data over the network

- Add client driver for RPC

- Rename server driver file

- Start to make marshal make sense

- Fix silly RPC method args and add client

- Fix some issues with RPC calls, and marshaling

- Simplify plugin main.go

- Move towards 100% plugin in CLI

- Ensure that plugin servers are cleaned up properly

- Make flag parsing for driver flags work properly

Includes some work carried from @dmp42 updating the build process and
tests to use the new method.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-16 16:34:56 -07:00
Fabian Ruff d22a4118d0 --no-proxy flag for env command
This optinal flag will add the docker host to the no_proxy environement variable. This is useful for local providers (e.g. virtualbox, fusion) in environments where an http_proxy is set and docker by default tries to connect to the ip via the proxy.

Signed-off-by: Fabian Ruff <fabian@progra.de>
2015-09-23 14:48:01 -07:00
Nathan LeClaire b5927f10c4 Make libmachine usable by outside world
- Clear out some cruft tightly coupling libmachine to filestore

- Comment out drivers other than virtualbox for now

- Change way too many things

- Mostly, break out the code to be more modular.

- Destroy all traces of "provider" in its current form.  It will be
brought back as something more sensible, instead of something which
overlaps in function with both Host and Store.

- Fix mis-managed config passthru

- Remove a few instances of state stored in env vars

- This should be explicitly communicated in Go-land, not through the
shell.

- Rename "store" module to "persist"

- This is done mostly to avoid confusion about the fact that a concrete
instance of a "Store" interface is oftentimes referred to as "store" in
the code.

- Rip out repetitive antipattern for getting store

- This replaces the previous repetive idiom for getting the cert info, and
consequently the store, with a much less repetitive idiom.

- Also, some redundant methods in commands.go for accessing hosts have
either been simplified or removed entirely.

- First steps towards fixing up tests

- Test progress continues

- Replace unit tests with integration tests

- MAKE ALL UNIT TESTS PASS YAY

- Add helper test files

- Don't write to disk in libmachine/host

- Heh.. coverage check strikes again

- Fix remove code

- Move cert code around

- Continued progress: simplify Driver

- Fixups and make creation work with new model

- Move drivers module inside of libmachine

- Move ssh module inside of libmachine

- Move state module to libmachine

- Move utils module to libmachine

- Move version module to libmachine

- Move log module to libmachine

- Modify some constructor methods around

- Change Travis build dep structure

- Boring gofmt fix

- Add version module

- Move NewHost to store

- Update some boring cert path infos to make API easier to use

- Fix up some issues around the new model

- Clean up some cert path stuff

- Don't use shady functions to get store path :D

- Continue artifact work

- Fix silly machines dir bug

- Continue fixing silly path issues

- Change up output of vbm a bit

- Continue work to make example go

- Change output a little more

- Last changes needed to make create finish properly

- Fix config.go to use libmachine

- Cut down code duplication and make both methods work with libmachine

- Add pluggable logging implementation

- Return error when machine already in desired state

- Update example to show log method

- Fix file:// bug

- Fix Swarm defaults

- Remove unused TLS settings from Engine and Swarm options

- Remove spurious error

- Correct bug detecting if migration was performed

- Fix compilation errors from tests

- Fix most of remaining test issues

- Fix final silly bug in tests

- Remove extraneous debug code

- Add -race to test command

- Appease the gofmt

- Appease the generate coverage

- Making executive decision to remove Travis coverage check

In the early days I thought this would be a good idea because it would
encourage people to write tests in case they added a new module.  Well,
in fact it has just turned into a giant nuisance and made refactoring
work like this even more difficult.

- Move Get to Load
- Move HostListItem code to CLI

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-09-23 12:30:15 -07:00
Dave Henderson 7b68762d36 Adding new DOCKER_MACHINE_NAME environment variable
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-14 22:43:39 -04:00
Evan Hazlett 00a2f7781f env: enable easier usage display
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-12 08:43:15 -04:00
Nathan LeClaire 6bb56f91d3 Fix failing env validation
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-05 13:51:22 -07:00
Nathan LeClaire c602e69448 Read active host from DOCKER_HOST instead of from file
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-04 16:29:04 -07:00
Nathan LeClaire 142ffadc2c Refactor logging to focus on simple STDOUT/STDERR
This also lays the foundation for the possibility of log drivers in the
future, if it is decided that is a direction to pursue.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-30 12:04:52 -07:00
Evan Hazlett 9aa861ea55 update usage hint for powershell
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:35 -04:00
Evan Hazlett 6b735677a0 do not hard code machine binary name in env command
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:35 -04:00
Evan Hazlett 33d8058d38 shell selection: fix tests and add powershell test
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:35 -04:00
Evan Hazlett e13e2b61c6 use template for shell config; more powershell and cmd fixes
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:35 -04:00
Evan Hazlett 7585680668 add export and clear env for powershell
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:35 -04:00
Evan Hazlett cba15e843f powershell support
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-29 09:28:34 -04:00
Dave Henderson 53ef9d7477 Refactoring commands.go into new commands package, with separate file for each subcommand
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-04-15 19:04:44 -04:00