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

Fix regression and allow multiple apps on osx #571

Merged
merged 2 commits into from
Sep 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ sudo: required

language: go

# ~1 hour is too long to wait for an osx container, plus docker/dependencies
dist: trusty

go:
Expand Down
22 changes: 15 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,28 @@

Once code is built and tested locally, Nanobox provisions and deploys an identical infrastructure on a production platform.


## How It Works

Nanobox uses [Virtual Box](http://virtualbox.org) and [Docker](https://www.docker.com/) to create virtual development environments on your local machine. App configuration is handled in the [boxfile.yml](https://docs.nanobox.io/boxfile/), a small yaml config file used to provision and configure your apps' environments both locally and in production.


## Why Nanobox?

Nanobox allows you to stop configuring environments and just code. It guarantees that any project you start will work the same for anyone else collaborating on the project. When it's time to launch the project, you'll know that your production app will work, because it already works locally.


### Installation

By using the [Nanobox installer](https://nanobox.io/download). *(Recommended)* .The installer includes all required dependencies (Virtual Box & Docker).


### Usage

```
Usage:
[flags]
[command]
nanobox [flags]
nanobox [command]

Available Commands:
configure Configure Nanobox.
Expand All @@ -47,30 +51,34 @@ Available Commands:
update-images Updates docker images.
evar Manage environment variables.
dns Manage dns aliases for local applications.
log View and streams application logs.
log Streams application logs.
version Show the current Nanobox version.
server Start a dedicated nanobox server

Flags:
--debug In the event of a failure, drop into debug context
-h, --help help for
-h, --help help for nanobox
-t, --trace Increases display output and sets level to trace
-v, --verbose Increases display output and sets level to debug

Use " [command] --help" for more information about a command.
Use "nanobox [command] --help" for more information about a command.
```


### Documentation

- Nanobox documentation is available at [docs.nanobox.io](https://docs.nanobox.io/).
- Guides for popular languages, frameworks and services are avaialble at [guides.nanobox.io](http://guides.nanobox.io).


## Contributing

Contributing to Nanobox is easy. Just follow these [contribution guidelines](https://docs.nanobox.io/contributing/).
Nanobox uses [govendor](https://github.com/kardianos/govendor#the-vendor-tool-for-go) to vendor dependencies. Use `govendor sync` to restore dependencies.


### Contact

For help using Nanobox or if you have any questions/suggestions, please reach out to help@nanobox.io or find us on IRC at #nanobox (freenode). You can also [create a new issue on this project](https://github.com/nanobox-io/nanobox/issues/new).
For help using Nanobox or if you have any questions/suggestions, please reach out to help@nanobox.io or find us on [slack](https://slack.nanoapp.io/). You can also [create a new issue on this project](https://github.com/nanobox-io/nanobox/issues/new).

[![nanobox logo](http://nano-assets.gopagoda.io/open-src/nanobox-open-src.png)](http://nanobox.io/open-source)
[![nanobox logo](http://nano-assets.gopagoda.io/open-src/nanobox-open-src.png)](https://nanobox.io/open-source/)
1 change: 1 addition & 0 deletions util/provider/dockermachine_mount.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ func (machine DockerMachine) AddMount(local, host string) error {
}

if machine.staleMount(host) {
lumber.Debug("Removing stale mount: %s", host)
if err := machine.removeNativeMount(local, host); err != nil {
return fmt.Errorf("failed to clean up stale mount: %s", err)
}
Expand Down
5 changes: 4 additions & 1 deletion util/provider/share/share_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,10 @@ func cleanLine(line, lineCheck string) string {
// split on spaces and remove mount options. also cleanup stray quotes
paths := strings.Split(strings.Replace(line, lineCheck, "", 1), "\" \"")
paths[0] = strings.Replace(paths[0], "\"", "", 1)
paths[len(paths)-1] = strings.Replace(paths[len(paths)-1], "\"", "", 1)
// the space in this `"\" "` is important. Prepending a space to lineCheck
// after it gets passed in might work too, assuming it doesn't have one
// already when getting passed in.
paths[len(paths)-1] = strings.Replace(paths[len(paths)-1], "\" ", "", 1)

goodPaths := []string{}
for _, path := range paths {
Expand Down
10 changes: 5 additions & 5 deletions vendor/vendor.json
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@
"revisionTime": "2016-09-12T15:03:35Z"
},
{
"checksumSHA1": "JMZI3mXrZwsQ+yE6DdC5Q7X+nI8=",
"checksumSHA1": "wTAYmbl1nt5HdkjblpnInPKhwp0=",
"path": "github.com/nanobox-io/nanobox-boxfile",
"revision": "213ff24b93f4b7de0a8067841612278c1995d393",
"revisionTime": "2017-08-03T21:20:06Z"
Expand All @@ -365,14 +365,14 @@
{
"checksumSHA1": "5rOBGrnVJoymxI+FQn5tyHgbgcA=",
"path": "github.com/nanopack/logvac/config",
"revision": "c84455c64d89c6a86c007edf436cd4301736293a",
"revisionTime": "2017-08-23T22:19:47Z"
"revision": "655f2ff0ed087cf7103f2bfdde0324019fabaf4c",
"revisionTime": "2017-09-07T18:11:09Z"
},
{
"checksumSHA1": "RI5cATdVXt1L8NoI0+8op9butCg=",
"path": "github.com/nanopack/logvac/core",
"revision": "c84455c64d89c6a86c007edf436cd4301736293a",
"revisionTime": "2017-08-23T22:19:47Z"
"revision": "655f2ff0ed087cf7103f2bfdde0324019fabaf4c",
"revisionTime": "2017-09-07T18:11:09Z"
},
{
"checksumSHA1": "TTEICNRFfe8Q66Z1WqZt+J9X49g=",
Expand Down