Commit Graph

193 Commits

Author SHA1 Message Date
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
Michael Hobbs
2fb48c414b confine arg shifting to between dokku and command. closes #1017 2015-03-06 11:58:35 -08: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
Michael Hobbs
482b680e16 [client unit-test] don't run create/destroy twice. actually clean up from create 2015-02-25 19:47:45 -08: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
Lewis Marshall
6b973a9565 Refactor nginx tests
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2015-02-26 01:24:39 +00:00
Michael Hobbs
fb8f08d280 remove quoting from dockerfile env. closes #1002 2015-02-24 11:56:54 -08:00
Michael Hobbs
f366a37cd1 remove quoting around cleanup and disable lint for those lines. also make cleanup test more robust 2015-02-24 10:41:02 -08:00
Jose Diaz-Gonzalez
0e6c978d62 Merge pull request #967 from alessio/develop
Really clean-up containers and images a-la-Docker
2015-02-19 14:54:00 -05:00
Jose Diaz-Gonzalez
07ae5190c3 Merge pull request #987 from techniq/patch-1
Improve Dockerfile example/test
2015-02-19 13:54:42 -05:00
Sean Lynch
6dfc90d388 Improve Dockerfile example/test
Placing `COPY` (or `ADD`) of the application directory after the `RUN apt-get install ...` statements will allow the layers created from those statements to be retrieved from docker's cache on subsequent runs.
2015-02-19 00:07:12 -05:00
Jose Diaz-Gonzalez
3a6f2eca82 Switch to yabawock's static nginx buildpack
The new herokuish branch of buildstep requires changes to the buildpack, but this buildpack should be compatible with the old buildstep.
2015-02-18 18:31:11 -05:00
Alessio Treglia
d79966af05 Cleanup unit test 2015-02-13 14:18:07 +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
ef583eef66 use consistent bash shebang. closes #959 2015-02-08 22:34:35 -08:00
Michael Hobbs
7357df7c9d first pass at dockerfile support 2015-02-07 17:56:01 -08:00
Michael Hobbs
b10120af12 Merge pull request #955 from progrium/mh-small-style-refactor
quick style refactor
2015-02-07 14:40:04 -08:00
Michael Hobbs
a9c1ed0c6d [ci skip] comment out skipped tests as we pay the cost for setup() and teardown() anyway 2015-02-07 14:37:30 -08:00
Michael Hobbs
e931930faa implement parallel_runner to make ci faster 2015-02-07 14:12:05 -08:00
Michael Hobbs
959c51eb50 refactor function defs to be posix-like. remove usage of force positional argument in tests. support --force like arguments in client" 2015-02-07 11:35:04 -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
Michael Hobbs
30d660335f Merge pull request #941 from progrium/931-mh-source-glabal-env-deploy-run
source global env prior to app env. closes #931
2015-02-04 07:32:12 -08:00
Jose Diaz-Gonzalez
d891e2214a Merge pull request #942 from progrium/mh-clojure-test-app
test clojure app
2015-02-03 20:43:07 -05:00
Michael Hobbs
1c02ef9674 test clojure app 2015-02-03 16:46:04 -08:00
Michael Hobbs
b48464a7e2 Merge pull request #925 from progrium/mh-ps-rebuild
implement rebuild command that reuses git_archive_all
2015-02-03 14:56:44 -08:00
Michael Hobbs
5fb30ab934 source global env prior to app env. closes #931 2015-02-03 13:47:20 -08:00
Michael Hobbs
bf7b44f215 use valid composer json with specified php runtime 2015-02-03 08:57:44 -08:00
Michael Hobbs
9f985077c7 implement rebuild command that reuses git_archive_all 2015-01-27 15:00:00 -08:00
Michael Hobbs
3e100e3002 conditionally set interactive and tty on dokku run.
closes #552
closes #913
2015-01-21 13:49:46 -08:00
Michael Hobbs
2ff2ca55c1 drop support for create/delete in favor of standard apps:create and apps:destroy 2015-01-17 16:24:50 -08:00
Michael Hobbs
666f2d7434 add random app generator in bash. support create and delete verbs. tested on bash 4.3.18 and 3.2.53 2015-01-16 18:46:55 -08:00
Michael Hobbs
161111aab5 lintball client. add tests. add help message 2015-01-16 15:19:14 -08:00
Michael Hobbs
cb39110904 new assertion for a specific exit status 2015-01-16 15:18:24 -08:00
Michael Hobbs
c7bd7119b8 assert on intermediate steps 2015-01-16 14:59:01 -08:00
Jose Diaz-Gonzalez
19871fe81d Merge pull request #900 from progrium/mh-nginx-ssl-san-hostname
support extracting SANs from SSL certificates and adding them to nginx config
2015-01-16 15:22:15 -05:00
Michael Hobbs
40e628778b revive deploy:all with deprecation warning 2015-01-15 15:43:03 -08:00
Michael Hobbs
6cd89fa72a support extracting SANs from SSL certificates and adding them to nginx config 2015-01-15 12:08:27 -08:00
Michael Hobbs
17d78856e0 skip one ps test as circleci does not yet support docker exec 2015-01-14 16:24:09 -08:00
Michael Hobbs
c0028f122b initial pass at a ps plugin 2015-01-14 15:19:58 -08:00
Jose Diaz-Gonzalez
938a16de53 Merge pull request #880 from progrium/879-mh-port-based-fix
disable VHOST deployment if global VHOST file is missing and an app domain has not been added
2015-01-11 18:14:55 -05:00
Michael Hobbs
80d13c0005 allow users to add a domain to an app if there is no global vhost 2015-01-11 14:35:02 -08:00
Michael Hobbs
f5f7b8dd7e test deploy node app without procfile 2015-01-09 21:52:41 -08:00
Michael Hobbs
da465a61dd disable VHOST deployment if global VHOST file is missing 2015-01-08 15:58:08 -08:00
Jose Diaz-Gonzalez
8502881633 Merge pull request #868 from expa/mh-circle-ci
use circleci for automated testing
2015-01-06 23:44:15 -05:00
Jose Diaz-Gonzalez
f95ad79fc4 Merge pull request #873 from progrium/870-mh-bind-ip-on-domains-change
support pre deployment usage of domains plugin. fixes interface binding issue
2015-01-06 16:14:02 -05:00
Michael Hobbs
896ce50c93 support pre deployment usage of domains plugin. fixes interface binding issue 2015-01-06 12:42:21 -08:00
Michael Hobbs
1f73b58340 enable multi buildpack test 2015-01-06 11:20:22 -08:00
Michael Hobbs
9d81dda524 try circle again 2015-01-05 17:03:06 -08:00
Jose Diaz-Gonzalez
566cc15081 Merge pull request #864 from progrium/860-mh-bind-to-internal-ip
bind docker container to internal port if using vhosts
2015-01-05 19:58:18 -05:00
Michael Hobbs
441d212ef2 add ipv6 detection for external port binding 2015-01-05 10:47:20 -08:00