Commit Graph

149 Commits

Author SHA1 Message Date
Aanand Prasad 944e15fa65 Stop `fig run` starting everything when a service has no links
This was thanks to the semantics of project.up(), which starts everything
if you pass it an empty list of service names. (That logic should
probably be moved out to main.py.)

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
2014-07-02 11:51:12 +01:00
Chris Corbyn 3770aac1af Use dockerpty instead for pseudo-tty behaviour.
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-25 15:54:52 +00:00
Ben Firshman 95aa61cfe5 Merge pull request #246 from d11wtq/feature/auto_start
Feature: `fig up` and `fig run` now start linked containers (closes #31).
2014-06-24 14:46:47 +01:00
Chris Corbyn 0fc9cc65d1 Rename '--only' => '--no-deps'
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-21 10:30:36 +00:00
Tobias Bradtke 2bd6e3d0a5 Do not encode chunk, just write as is. 2014-06-18 15:31:45 +01:00
Aanand Prasad d0b5bcf26a Pass byte strings straight through LogPrinter 2014-06-18 14:51:13 +01:00
d11wtq 6e485df084 Rename --no-links to --only
Signed-off-by: d11wtq <chris@w3style.co.uk>
2014-06-11 10:50:45 +00:00
d11wtq 1d1e23611b Rename --keep-old to --no-recreate
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:51 +00:00
d11wtq ac541e208f Remove obsolete method _get_linked_service_names()
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:47 +00:00
d11wtq 3d8ce448b8 Spike: Re-use existing containers for `fig run`
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:47 +00:00
d11wtq 6bfe5e049d Spike: Implement --no-links for `fig up`
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:46 +00:00
d11wtq b672861ffd Spike: Start linked containers on `fig run` by default
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:45 +00:00
d11wtq b081077f2b Remove FIXME, as there's nothing to fix :)
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:45 +00:00
d11wtq edf6b56016 Spike: Add --up option to `fig run`
Signed-off-by: Chris Corbyn <chris@w3style.co.uk>
2014-06-09 01:31:43 +00:00
Jef Mathiot 5878fe3834 Add the ability to configure the project name 2014-05-02 18:00:58 +02:00
Ben Firshman 983337401c Return correct exit code from fig run
Closes #197
2014-05-01 18:17:12 +01:00
Aanand Prasad 3abce4259f Fix regression in handling of build errors 2014-04-30 11:53:23 +01:00
Ben Firshman fff5e51426 Make log messages line up with each other 2014-04-29 09:31:57 +01:00
Ben Firshman a724aa5717 Use name without project for log printing 2014-04-29 09:22:20 +01:00
Aanand Prasad 9e1dfcfb37 Update docker-py APIError imports 2014-04-23 18:20:33 +01:00
Aanand Prasad 80991f1521 Set "VolumesFrom" when starting containers
This is necessary when working with Docker 0.10.0 and up. Fortunately,
we can set it both when creating and starting, and retain compatibility
with 0.8.x and 0.9.x.

recreate_containers() is now responsible for starting containers, as
well as creating them. This greatly simplifies usage of the Service
class.
2014-04-23 15:46:26 +01:00
Ben Firshman d7e01a23f8 Merge pull request #191 from orchardup/fix-one-off-containers-not-linking-to-service
Fix one-off containers not linking to service
2014-04-15 10:40:37 +01:00
Ben Firshman 4e20be9c66 Remove unused imports 2014-04-14 22:39:49 +01:00
Ben Firshman 94e15a9985 Fix one-off containers not linking to service
Closes #185.

Need to test this more thoroughly. We need a docker-py mock.
2014-04-14 22:29:03 +01:00
Shane Jonas d9782b2dd1 fix issue with utf8 encoding in logger stdout 2014-04-11 11:21:20 -07:00
Ben Firshman aecaf665f1 Merge pull request #164 from orchardup/friendlier-build-error
Friendlier build error
2014-03-28 23:05:46 +00:00
Ben Firshman 23a8938809 Merge pull request #165 from orchardup/number-one
Stop 'fig up' when a container exits
2014-03-28 23:03:00 +00:00
sebastianneubauer 352ad7a38c Scaling down removes containers
Squashed version of #162.
Closes #121.
2014-03-26 18:28:10 +00:00
Maurits van Mastrigt 710cd38591 Fix UnicodeEncodeErrors in output of 'build', 'run' and 'up'
Squashed version of #125.
Closes #112.
2014-03-25 13:32:03 +00:00
Aanand Prasad 859d4bb98b Stop 'fig up' when a container exits
Closes #1 ヽ(*・ω・)ノ
2014-03-25 13:19:32 +00:00
Aanand Prasad 168b1909ae Friendlier build error
Hide the backtrace and show a comprehensible message.

Closes #160.
2014-03-25 12:20:05 +00:00
Mark Steve Samson 59cc9c9b68 Add option to remove container in `docker run` (Closes #137) 2014-03-05 09:03:06 +08:00
Ben Firshman 5be8a37b7e Pass through standard remove_container options 2014-03-04 11:00:09 +00:00
Ben Firshman 2ca0e7954a Add --force option to fig rm 2014-03-04 11:00:06 +00:00
Mark Steve Samson 96a92a73f1 Fix KeyError when `-v` is not specified in `fig rm` 2014-03-04 13:13:23 +08:00
Ben Firshman 3e7360c2c6 Improve error when service is not a dict
Fixes #127
2014-03-03 16:21:42 +00:00
Ben Firshman c2cd55e010 Merge pull request #113 from orchardup/alternate-fig-file
Alternate fig file can be specified with -f
2014-03-03 11:12:09 +00:00
Mark Steve Samson 41bacae171 Provide option to remove volumes in `fig rm` 2014-03-03 17:55:00 +08:00
Aanand Prasad 9d1383ba26 Alternate fig file can be specified with -f 2014-03-01 11:29:23 +00:00
Ben Firshman 75c430635b Vendorise six.py
Because pyinstaller adds an old version to the path:

http://www.pyinstaller.org/ticket/773
2014-02-28 19:16:32 +00:00
Aanand Prasad ff1496a6a5 Indent string literals 2014-02-26 16:34:45 +00:00
Aanand Prasad d7c714e1c6 Move "Can't find fig.yml" error into errors.py 2014-02-26 15:44:06 +00:00
Aanand Prasad d7e2a77907 Refactor connection errors
Makes command.py a lot more readable.
2014-02-26 15:31:14 +00:00
Ben Firshman 05e15e27ef Use sys.exit instead of global 2014-02-19 22:42:21 +00:00
Aanand Prasad fbff8983e4 Merge pull request #83 from dustinlacewell/print-logs-during-attach
Tell fig up to print logs before attaching
2014-02-12 11:35:24 -08:00
Dustin Lacewell 511a9beede Tell fig up to print logs before attaching 2014-02-05 17:19:18 -08:00
Ben Firshman d52f73b29a Merge pull request #79 from orchardup/strict-config
Throw an error if you specify an unrecognised option in `fig.yml`
2014-02-04 18:10:42 -08:00
Aanand Prasad edf8f14ac0 Throw an error if you specify an unrecognised option in `fig.yml`
Closes #27.
2014-02-04 17:46:04 -08:00
Aanand Prasad 2b89494405 Fix Ubuntu check - forgot to actually inspect the distro 2014-02-04 15:31:05 -08:00
Aanand Prasad 2bac1c10b0 Show installation instructions if it looks like Docker isn't installed 2014-02-04 15:19:50 -08:00
Aanand Prasad 5126649de4 Friendlier connection error for docker-osx users 2014-02-04 14:42:55 -08:00
Cameron Maske ae7573b9b8 Fix for #48.
Rework of how services are sorted based on dependencies using a topological sort.
Includes error handling to detect circular/self imports (should raise a DependecyError).
Added in logging to the CLI to log out any DependencyErrors.
Removed the compact module as it is no longer used.
2014-01-29 18:38:25 +00:00
Chris Adams 239da2ef69 Add missing return value for filename check
Oh my, how embarrassing.
2014-01-28 09:51:33 +00:00
Chris Adams 1d18d747a5 Support loading in Figfiles with .yaml extension
Add basic boilerplate text - feel free to change
2014-01-28 00:43:23 +00:00
Aanand Prasad e8472be6d5 Fig bug in split_buffer where input was being discarded
Also, write some tests for it.
2014-01-22 17:44:04 +00:00
Aanand Prasad 65071aafb0 Make sure attach() is called as soon as LogPrinter is initialized
Fixes #35.
2014-01-22 13:12:51 +00:00
Aanand Prasad 977ec7c941 Remove unused import 2014-01-20 19:25:28 +00:00
Aanand Prasad 40d04a076c Fix lag when using cursor keys in an interactive 'fig run' 2014-01-20 19:23:50 +00:00
Aanand Prasad 405079f744 Use raw socket in 'fig run', simplify _attach_to_container 2014-01-20 15:52:07 +00:00
Ben Firshman fc1bbb45b1 Add option to disable pseudo-tty on fig run
Also disable tty if stdin is not a tty.
2014-01-19 20:33:06 +00:00
Ben Firshman 56c6efdfce Add scale command
Closes #9
2014-01-16 18:09:46 +00:00
Aanand Prasad 9bd54d7be2 Merge pull request #19 from orchardup/use-docker-host-variable
Use DOCKER_HOST environment variable to find Docker daemon
2014-01-16 09:03:37 -08:00
Aanand Prasad 5c8fac5993 Merge pull request #18 from orchardup/shorten-long-commands-in-ps
Shorten long commands in ps
2014-01-16 08:47:25 -08:00
Aanand Prasad 3e2fd6a2a1 Use DOCKER_HOST environment variable to find Docker daemon
Removed all "smart" connection logic. Fig either uses the DOCKER_HOST
environment variable if it's present, or passes `None` to docker-py,
which does the "right thing" (i.e. falls back to the Unix socket).

This means we no longer know at URL-deciding time whether we can connect
to the Docker daemon, so we wrap `dispatch` in a `try/except` which
catches `requests.exceptions.ConnectionError`.
2014-01-16 16:40:55 +00:00
Aanand Prasad af1b0ed088 Account for length of the ellipsis string when truncating commands 2014-01-16 14:07:17 +00:00
Aanand Prasad feafea2c6d LogPrinter uses regular `attach()`, not websocket
Fixes #7.
2014-01-16 14:04:10 +00:00
Ben Firshman c4f5ed839f Shorten long commands in ps 2014-01-16 14:02:52 +00:00
Ben Firshman b4c905dc83 Merge pull request #14 from orchardup/vendor-docker-py
Vendor docker-py
2014-01-16 05:49:15 -08:00
Aanand Prasad 804e2cdcb1 Merge pull request #16 from orchardup/add-help-command
Add help command
2014-01-16 05:40:48 -08:00
Aanand Prasad 21528f08d4 Vendor docker-py
From 9dc03c5737
2014-01-16 13:30:01 +00:00
Ben Firshman b1e7f548f4 Add help command 2014-01-16 13:26:25 +00:00
Ben Firshman cdcea98290 Copy readme commands docs to CLI docstrings 2014-01-16 13:17:00 +00:00
Aanand Prasad 5db6c9f51b Rework 'fig up' to use recreate_containers() 2014-01-16 12:32:15 +00:00
Aanand Prasad a8e275a432 Implement UserError __unicode__ method 2014-01-16 12:32:04 +00:00
Ben Firshman d4000e07a9 Switch order of connection logic so TCP is tried first 2014-01-16 00:58:46 +00:00
Aanand Prasad b92e998929 'fig logs' shows output for stopped containers 2014-01-14 12:42:30 +00:00
Aanand Prasad 059d240824 Fix line buffering when there's UTF-8 in a container's output 2014-01-09 16:19:22 +00:00
Aanand Prasad 7a4b69edc0 Remove compat texttable module - breaks on Python 2.7 2014-01-09 15:32:59 +00:00
Aanand Prasad 892677a9d3 Very basic CLI smoke test
See #8.
2014-01-09 15:32:24 +00:00
Christopher Grebs 31f0907732 Add unicode_literals to main module 2014-01-06 17:58:50 +00:00
Christopher Grebs f600fa8bf3 More future imports for safety 2014-01-06 17:58:50 +00:00
Christopher Grebs c6e91db32f Add texttable compat module that is py3k compatible 2014-01-06 17:58:50 +00:00
Christopher Grebs b101118d1e Add future import for print function 2014-01-06 17:58:50 +00:00
Christopher Grebs 30ea4508c3 Use print function 2014-01-06 17:58:50 +00:00
Christopher Grebs 3c91315426 Fix exception alias syntax 2014-01-06 17:58:49 +00:00
Christopher Grebs 93b9b6fd9f First version with python3 support.
* Moved requirements*.txt files to proper spec definitions in setup.py
 * Added a new fig.compat module to store some compatibility code
2014-01-06 17:58:49 +00:00
Tom Stuart 490742b892 Emit a friendly error when fig.yml is missing
I keep doing this by accident, so I'd rather not see the stack trace.
2014-01-03 11:59:03 +00:00
Ben Firshman 36002f95ed Try connecting to localdocker:4243
See https://github.com/noplay/docker-osx/pull/22
2014-01-02 20:51:35 +00:00
Ben Firshman 9b289b6f3b Stop "fig up" containers gracefully
With double ctrl-c force.
2014-01-02 19:18:08 +00:00
Ben Firshman 6d0702e607 Send log output to stderr 2014-01-02 18:31:00 +00:00
Ben Firshman a39db86651 Add "fig build" command 2014-01-02 15:28:33 +00:00
Ben Firshman 770e78fdce Make usage alphabetical 2014-01-02 15:00:16 +00:00
Aanand Prasad c0676e3fa3 Add confirmation prompt to 'fig rm' 2013-12-31 13:42:58 +00:00
Aanand Prasad d4f3ed1840 Fix 'fig up' behaviour
- For each service, creates a container if there are none (stopped OR
  started)
- Attaches to all containers (unless -d is passed)
- Starts all containers
- On ^C, kills all containers (unless -d is passed)
2013-12-31 13:02:08 +00:00
Aanand Prasad 9ed6538693 Extract docker URL logic, use it in tests as well 2013-12-31 12:37:17 +00:00
Aanand Prasad ff65a3e1b0 Check default socket and localhost:4243 for Docker daemon 2013-12-31 12:18:27 +00:00
Aanand Prasad ebf9bf387c Remove unused import 2013-12-31 11:51:52 +00:00
Ben Firshman 23d6ae867d Add description to main help text 2013-12-20 21:34:27 +00:00
Aanand Prasad 0cafdc9c6c plum -> fig 2013-12-20 20:28:24 +00:00