Commit Graph

181 Commits

Author SHA1 Message Date
Michael Hobbs
a983456030 remove magic additions to VHOST based on SSL cert. fixes #1368 2015-09-03 22:35:00 -04:00
Jose Diaz-Gonzalez
7b5ea80ea4 Move get and set actions into functions 2015-09-01 00:52:40 -04:00
Jose Diaz-Gonzalez
e7c035e207 Use config_export function instead of calling dokku as a subcommand 2015-08-30 01:55:14 -04:00
Jose Diaz-Gonzalez
60c0f56724 Fix lint errors 2015-08-30 01:23:56 -04:00
Jose Diaz-Gonzalez
afe65a86fb eval the output of "dokku config --export" to get env config
This should theoretically be safe, as "--export" forces the `dokku config` command to return 0 in all cases, and it should only output lines that are "valid" environment variables
2015-08-30 01:23:56 -04:00
Jim Myhrberg
d5df6a4190 Use $PLUGIN_PATH instead of $(dirname $0)/..
As briefly discussed in #1425, source the `common/functions` file via an
absolute path, rather than determining the relative path by using
`dirname`. 3rd-party plugins should follow suit and use the new
`$PLUGIN_PATH` convention too.
2015-08-28 14:14:28 +01:00
Jose Diaz-Gonzalez
bd0803cf29 Merge pull request #1344 from AdamVig/master
Add better error checking on nginx:import-ssl
2015-08-26 00:26:07 -04:00
Michael Hobbs
11e10fceef only run domains and nginx config if we have a port and ip. fixes #1355 2015-07-30 14:29:36 -07:00
Adam Vigneaux
c1a0e0ce68 Improve file searching and variable usage
- Count files using find and grep instead of ls and wc
- Use the same variable to find files and move files, allowing files to
be in a subdirectory
2015-07-28 18:48:31 -04:00
Michael Hobbs
b30db17def use column to format help output 2015-07-28 09:31:56 -07:00
Adam Vigneaux
dc5f34534b Improve formatting 2015-07-26 22:37:56 -04:00
Adam Vigneaux
14e72ea337 Add better error checking on nginx:import-ssl 2015-07-26 22:21:32 -04:00
alexkruegger
9910fb03da fix bug in nginx.conf.template getting from /app directory 2015-07-20 14:02:44 +03:00
Michael Hobbs
c7cb014580 convenience functions for app container state 2015-07-13 09:27:42 -07:00
Jose Diaz-Gonzalez
ca1b17ea8d Use nginx.conf.template as the template name 2015-07-12 20:06:21 -04:00
Jose Diaz-Gonzalez
007946f52a Use simplified method for retrieving a container id 2015-07-12 20:02:29 -04:00
Jose Diaz-Gonzalez
6895dd9936 Use get_container_ids method to retrieve container for nginx conf 2015-07-11 16:29:25 -04:00
Assaf Arkin
71b79da262 CHANGED extract nginx.conf.template from project 2015-07-11 15:05:06 -04:00
Michael Hobbs
4629a9909b Merge pull request #1291 from progrium/1261_mh-config-args-refactor
initial pass at config plugin arguments refactor
2015-07-10 07:55:18 -07:00
Michael Hobbs
033a267573 fix urls command when NO_VHOST=1 + tests. fixes #1294 2015-07-09 12:12:58 -07:00
Michael Hobbs
a84397895a initial pass at config plugin arguments refactor 2015-07-06 19:41:17 -07:00
Jose Diaz-Gonzalez
2d6054605e Remove non-standard redirects 2015-07-03 16:41:17 -04:00
krishna rokhale
62d1d41bc5 removing new lines. 2015-07-03 16:40:23 -04:00
krishna rokhale
adfa13235d added two more cases to SSL template and gzip as default in templates. 2015-07-03 16:40:23 -04:00
Jose Diaz-Gonzalez
e2e36a5045 Add logging to :80 stanza 2015-06-27 12:24:27 -04:00
Jose Diaz-Gonzalez
6bb513f12c Split nginx ssl logs by $APP
Refs #1158
2015-06-26 11:03:29 -04:00
Kirushanth Sakthivetpillai
db6e71b7d6 Update nginx.ssl.conf.template
use nginx $host variable intead of $ssl_server_nam (which may be *.example.com) which does bogus redirects
2015-06-05 15:01:22 -04:00
Andy Chambers
eedb05d656 [Fixes #1158] Split nginx logs by $APP
* nginx access logs to /var/log/nginx/${APP}-access.log
 * nginx error logs to /var/log/nginx/${APP}-error.log
2015-05-24 23:59:17 -07:00
Michael Hobbs
af38e4f25a filter out literal wildcard when deploying an unrelated domain. closes #1185 2015-05-19 17:58:02 -07:00
Michael Hobbs
0d2e5f1a14 Merge branch 'master' into mh-ps-scale 2015-05-17 17:45:01 -07:00
Michael Hobbs
c5337cf6a2 include output when overriding nginx template 2015-05-11 12:00:44 -07:00
Michael Hobbs
b836c1f65a use regex when filtering nonssl vhosts. process custom templates in the same manner as default templates. closes #1169 2015-05-06 16:49:37 -07:00
Michael Hobbs
290745d324 only validate and restart nginx if we're deployed. use REGEX when handling SSL and NON-SSL hosts 2015-04-24 11:31:27 -07:00
Michael Hobbs
636e139e4a only balance web containers 2015-04-21 14:33:28 -07:00
Michael Hobbs
e27d0e6fa5 wrap container id checks and reading into common function that attempts new and old style container id files
aggregate log streams
2015-04-21 14:32:30 -07:00
Michael Hobbs
33f872183e initial pass at container-level scaling 2015-04-21 14:27:23 -07:00
Michael Hobbs
661b6706de fix verify_app_name to bomb on null app. use it in nginx:build-config 2015-04-21 10:58:11 -07:00
Jose Diaz-Gonzalez
b299f66c28 Validate nginx configuration before reloading nginx. Closes #999 2015-04-21 02:07:27 -04:00
Jose Diaz-Gonzalez
b5495ed0c3 use helper functions instead of echo command 2015-04-21 01:14:10 -04:00
Jose Diaz-Gonzalez
50f7b4236b Add .template suffix to nginx configuration templates. Refs #1054 2015-03-26 14:33:27 -04:00
Michael Hobbs
c83fbad205 xip.io style vhosts with tests. closes #1005 2015-03-19 11:23:00 -07:00
Michael Hobbs
42ee978549 Merge pull request #1013 from lmars/fix-urls
Fix URL schemes in `dokku urls` output
2015-03-09 12:05:25 -07:00
Lewis Marshall
9202f110ab Fix wildcard TLS domain detection
As per RFC 2818 [0], a CN of *.dokku.me will only match direct
subdomains of dokku.me, not sub-subdomains like www.test.dokku.me, but
Dokku currently enables TLS for subdomains of all levels.

I have changed the regex from .*\.dokku\.me to [^.]*\.dokku\.me so TLS
is only enabled for direct subdomains.

[0] - http://tools.ietf.org/html/rfc2818#section-3.1

Signed-off-by: Lewis Marshall <lewis@lmars.net>
2015-03-08 21:32:31 +00:00
Lewis Marshall
3a7e1bfa16 Fix URL schemes in dokku urls output
Previously, the presence of TLS certificates would cause `dokku urls` to
output all https URLs, even for domains which were not configured to use
TLS.

This change introduces a URLS file in the app's directory which contains
the URLs with schemes based on whether they have been configured to use
TLS in the nginx config.

Signed-off-by: Lewis Marshall <lewis@lmars.net>
2015-03-01 01:29:38 +00:00
Lewis Marshall
a4d79e2de9 Support multiple domains using a wildcard TLS certificate
Previous to this change, each TLS domain would be written to nginx.conf
using the nginx.ssl.conf template (lines 69-73) but with an empty
"server_name" directive (because NOSSL_SERVER_NAME was not set).

This would then become irrelevant because nginx.conf would get truncated
on line 88, and a single parsing of the template would then be written to
nginx.conf on line 89, meaning only the last TLS domain would be set up to
actually use TLS.

This patch changes this behaviour so that all TLS domains get added to
nginx.conf using the nginx.ssl.conf template (which includes redirecting
HTTP -> HTTPS), and all non-TLS domains get added using the nginx.conf
template, so do not get redirected to a TLS domain.

Signed-off-by: Lewis Marshall <lewis@lmars.net>
2015-02-26 01:58:17 +00:00
Michael Hobbs
12777d9bf0 simplify SSL hostname handling and avoid overwriting variables. refs #971 2015-02-12 13:27:47 -08:00
Michael Hobbs
043b055558 don't use set to guard against pipefail 2015-02-11 17:48:55 -08:00
Michael Hobbs
ef583eef66 use consistent bash shebang. closes #959 2015-02-08 22:34:35 -08:00
Michael Hobbs
9164740117 rename log functions with dokku_log_ prefix 2015-02-06 08:28:14 -08:00
Michael Hobbs
6ad65dd9b4 first stab at a common functions library. include argument parsing and a few definitions wired up. closes #932. closes #945 2015-02-05 11:32:46 -08:00