Commit Graph

85 Commits

Author SHA1 Message Date
aegypius
d208e53649 Suppress git advice related to detached HEAD 2014-01-07 14:30:29 +01:00
Jazz
7f0591fa1e Submodules support 2013-12-28 16:10:13 +01:00
Michael Huynh
d9ed1e07eb Fix edge case: app directory is created before first app push
When an app directory (i.e. `/home/dokku/myapp`) is created before the
app is pushed for the first time (which may occur if config files such
as `ENV` are added before the initial push), then the app directory will
not be initialized to a bare git repo nor will the pre-receive hook be
installed because `plugins/git/commands` assumes that if `$APP_PATH`
exists, then the directory must also be git initialized too. This fix
checks for `$APP_PATH/refs` instead.
2013-12-23 21:50:49 -05:00
rhy-jot
3ee694d3ea Merge pull request #383 from colnpanic/features/notify-non-master-push
notify user when pushing to non-master branch
2013-12-22 14:09:08 -08:00
jay becker
7eae3b063c notify user when pushing to non-master branch 2013-12-22 14:30:51 -06:00
Michael Huynh
28de3ecaa3 For #313: Do not specify both $APP and $IMAGE for base commands.
As discussed in #313, dokku base commands such as build, release, and
deploy require specifying both `$APP` and `$IMAGE` as arguments where
`IMAGE="app/$APP"`. Thus, the `$IMAGE` parameter is currently redudant.

This patch removes the need to specify `$IMAGE` for these base commands
and is backwards compatible. If, in the future, the base commands expect
and `$IMAGE` different than `app/$APP`, then the `$IMAGE` parameter will
be re-added for those specific commands.
2013-12-18 17:01:56 -05:00
jay becker
1050f350c0 do not exit when docker fails 2013-12-16 16:55:16 -06:00
rhy-jot
6718094237 Merge pull request #361 from plietar/backup-check
Backup check
2013-12-02 15:34:55 -08:00
Dyson Simmons
1e76aba0af Pipe no op into docker-args plugin-hooks to avoid problems when running over ssh w/o a pty. 2013-12-01 00:14:01 +11:00
Paul Lietar
5c58a5e8e7 Add a backup-check to avoid reimporting apps. 2013-11-30 02:46:42 +00:00
Paul Lietar
a4451e82ac Merge ssh keys rather than overwriting them. 2013-11-30 02:45:58 +00:00
Paul Lietar
4e737e739f Add a backup-check used to validate the archive.
This allows plugins to refuse a backup, before the import process starts.
Users can force the import using -f.
2013-11-30 02:45:32 +00:00
Dyson Simmons
aaa4f0fade Add $DOCKER_ARGS and docker-args pluginhook to dokku deploy and command run. 2013-11-29 15:52:26 +11:00
rhy-jot
c317dca558 Merge pull request #342 from plietar/no-container
Don't fail if CONTAINER is inexistant.
2013-11-27 13:18:31 -08:00
rhy-jot
9eff936676 Remove outdated sed. Fixes #346
Starting apps on daemon start has been handed by the upstart 'dokku-redeploy' script for a while. (Also, the format of /etc/init/docker.conf changed and rendered the sed useless.)
2013-11-27 12:50:22 -08:00
Lukas Schauer
95c9656fc8 nginx vhost ipv6 compatibility
IPv6 Compatibility (Nginx Default Site is IPv6 compatible, resulting in not-working vhosts when AAAA DNS entry is set)
2013-11-27 12:03:38 -08:00
Paul Lietar
10a8c75224 Add an empty help message to the nginx-vhosts plugin.
Not doing anything just destroys the help message coming from previous
plugins. Run cat to forward stdin into stdout.
2013-11-23 00:10:30 +00:00
Paul Lietar
8a9182c859 Don't fail if CONTAINER is inexistant. 2013-11-22 22:58:02 +00:00
Paul Lietar
7ed57b285c Close stdin before running the backup-export hooks.
This avoids hanging when we're not in a pty.
2013-11-22 22:46:54 +00:00
Paul Lietar
e126da0db2 Don't explicitly specify streams to docker run.
Now that "docker run" always has an stdin, we don't need to explicitly
specify stdout and stderr.
2013-11-22 21:42:48 +00:00
Paul Lietar
455be29249 Fix commands, the easy way.
Don't use pluginhook to run the commands hook, just run all the scripts
in a loop.
2013-11-22 21:42:39 +00:00
rhy-jot
f4018db310 Use $DOKKU_ROOT instead of $HOME 2013-11-21 10:48:55 -08:00
Ryan Seys
ad9fe82bc7 Fix capitalization for consistency 2013-11-20 20:59:00 -05:00
Paul Lietar
252b1ed8b6 Add a version command.
The git tag/revision is saved when running "make install", and can be
displayed using "dokku version".
2013-11-21 00:02:02 +00:00
rhy-jot
e8037da726 Use globs, set nullglob, and remove stdout redirection for import 2013-11-20 15:40:50 -08:00
Paul Lietar
557d555858 Delete the /cache directory's contents from inside the container.
Fixes #322.
Buildpacks write into /cache as root, which made the delete command unable
to delete it.
Its contents are now deleted using "docker run", and thus as root.
2013-11-20 20:42:15 +00:00
rhy-jot
ab978fab4e Provide more feedback for backup import 2013-11-19 21:16:01 -08:00
rhy-jot
6d64edc16a Update headers 2013-11-19 21:15:29 -08:00
rhy-jot
dae4e55f25 Merge pull request #265 from asm89/backup
Introduce `backup` plugin to export/import settings
2013-11-19 21:07:20 -08:00
Paul Lietar
f92e7a59d9 Force connection of stdin and stderr in the run command.
If stdin is closed, which is the case when pluginhook is called from an
interactive session, "docker run" does not connect stdin and stderr by default.
Fixes #323
2013-11-20 00:45:41 +00:00
Paul Lietar
83ce81fc51 Enable tracing in hooks when DOKKU_TRACE is set.
This makes it much easier to debug plugins.
Also source the 'dokkurc' file when starting dokku. This makes it easy
to define DOKKU_TRACE over ssh.
2013-11-18 20:59:48 +00:00
rhy-jot
805c5a27c6 Don't overwrite $DOKKU_ROOT/{HOSTNAME,VHOST} 2013-11-18 11:50:28 -08:00
Paul Lietar
a06d27ab45 Use the FQDN to setup the HOSTNAME and VHOST files.
The HOSTNAME environment var only contains the first part of the domain
name. Use the fqdn to have it entirely.
2013-11-15 03:07:51 +00:00
Alexander
2219044114 Introduce DOKKU_ROOT and import now in git plugin 2013-11-14 23:51:35 +01:00
Alexander
682229baae Specify current backup version at the top of the script 2013-11-14 21:52:49 +01:00
Alexander
8981b9e613 Introduce backup plugin to export/import settings 2013-11-14 21:52:49 +01:00
Paul Lietar
28c78300db Improve the logs command.
Check for application's existence, and add an optional -t option, to
make it behave like "tail -f" or "heroku logs -t"
2013-10-31 10:50:58 +00:00
rhy-jot
3c1666076e Silence nginx reloading 2013-10-30 17:17:53 -07:00
Jeff Lindsay
df7507d1be normalizing shebang and bash options. also added long-term fix for bootstrap instructions 2013-10-29 17:13:02 -05:00
Paul Lietar
bca5a99b1d Don't allow the push if building failed. 2013-10-28 21:15:17 +00:00
Paul Lietar
b5c8dd7436 Use DOKKU_ROOT instead of HOME.
HOME is not consistent if dokku is ran e.g. as root (for setup).
The DOKKU_ROOT variable will also make it possible to have the repositories stored in an arbitrary location (works-ish right now)
2013-10-28 21:15:17 +00:00
Paul Lietar
e04f271d8e Remove "remote:" in the git hook output 2013-10-28 21:15:17 +00:00
Paul Lietar
27d4bc8c3c Replace gitreceive by a git plugin.
This removes the need for two distinct users.
Git pushes and dokku commands are sent using the same user.
2013-10-28 21:15:17 +00:00
Jose Diaz-Gonzalez
01d57ef0dc New command: dokku delete <app>
Two new hooks are implemented:

- pre-delete $APP
- post-delete $APP

The following are implemented in the `post-delete` hook:

- `$APP` directory deletion (00_dokku-standard)
- nginx reload (nginx-vhosts)

The following command can be executed by either the `dokku` or `git` user as `sudo`:

    sudo /etc/init.d/nginx reload

Refs #124
Closes #186
2013-10-27 17:49:11 -04:00
Jose Diaz-Gonzalez
bcfaefa896 Enable 'nginx reload' support for git and dokku user. Refs #124. Refs #186 2013-10-25 02:42:49 -04:00
Alexander
85f14baad5 Introduce URL for app. Plugins can override this.
fixes #242
2013-10-24 13:44:05 +02:00
Michael Huynh
7e201e9eb0 Made commands in config plugin executable to use with pluginhook. 2013-10-22 18:25:21 -04:00
Jose Diaz-Gonzalez
a308ff6546 heroku-like configuration handling for dokku
refs #55
superscedes #188
2013-10-17 17:47:19 -04:00
Rajiv Makhijani
4f8604777a resolves #236, adding support for dokku run commands to be interactive 2013-10-08 20:48:22 -05:00
Jason Staten
ba1f1bc30d Add X-Forwarded-Port and X-Request-Start
Adding additional proxy headers to match what Heroku provides. Also,
X-Request-Start is compatible with NewRelic's latest agent[1].

[1]: http://blog.newrelic.com/2013/02/21/using-new-relic-on-heroku-read-how-our-new-ruby-agent-measures-queue-time/
2013-09-09 15:46:19 -06:00