taperole 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82c0a82eb80be81e11f2b2db205d80fdd40d6200
4
- data.tar.gz: 5c2d11343fdf6c22a69b6e463cffcf21506e091a
3
+ metadata.gz: 83b21a958fbe42d78a79e6b657a19cf12102a481
4
+ data.tar.gz: c058812fc04a8c08572e145d115bf2e1809eb246
5
5
  SHA512:
6
- metadata.gz: 68efdeb3ead8f15b062ec668913a914eb542273d9bc0718cf841f145f2808b147d73cf6659f482ed2fc9b49fa9bb133f2df5136f8bf754e78491ac78c7c60577
7
- data.tar.gz: 07eb11f3f75dafd885402ca764134cc2e074e54c2a4372fee4d56246a8b0565b9185ab157b4dbf0ff181445931964c898c3ef5d4e7d0467140d7b6825e1b4781
6
+ metadata.gz: 91c4f02dc834d98cdf7a495abc30d4ddffaf6ae1f976048259ae78a4dcaef56bad97cd1ccc0801c3df20a9e936958aced72c332ff2643b4cc41d999681345dce
7
+ data.tar.gz: 15c9cd1a743eeac4b9a2433d1f448f75bccd6c10fe3045d560042981def4ab895ddab458c3334702f8e0efc8d8beb487aaccff0c5322eca12942ffbf293444d7
data/CHANGELOG.md CHANGED
@@ -4,6 +4,7 @@
4
4
  * Supports Rails 5
5
5
  * Use letsencrypt for HTTPS configuration
6
6
  * `tape ansible everything` is now `tape ansible deploy`
7
+ * Configure NGINX to use GZip
7
8
 
8
9
  ### 1.8.2 (also 1.8.1)
9
10
  * Updates ANXS PG Galaxy role
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- taperole (1.8.2)
4
+ taperole (2.0.0)
5
5
  colorize (~> 0.8.1)
6
6
  slack-notifier (~> 1.5)
7
7
  thor (~> 0.19.1)
data/README.md CHANGED
@@ -44,7 +44,7 @@ tape installer install
44
44
  All default configurations found in `vars/defaults.yml` can be overridden in your local `taperole/tape_vars.yml` file
45
45
 
46
46
  **Default Node Version**: 4.2.x
47
- **Default Ruby Version** 2.3.0
47
+ **Default Ruby Version** 2.4.0
48
48
 
49
49
  ### Backups
50
50
  Backups are handled via [duply](http://duply.net/) and are configured via the [Stouts.backup](https://github.com/Stouts/Stouts.backup) ansible galaxy role. Bacups occur every night at 4am under the root user. You can configure your backup schedule and target where you want your backups stored at within your `taperole/tape_vars.yml` file.
@@ -100,6 +100,27 @@ Then use the `-l` option to specify the stage/environment
100
100
  tape ansible deploy -l staging
101
101
  ```
102
102
 
103
+ ### Configure LetsEncrypt
104
+ As of 2.0, Tape can automatically configure HTTPS with LetsEncrypt
105
+ You will need to set the following configs:
106
+
107
+ In your `hosts` file add a hostname variable
108
+ ```
109
+ [production]
110
+ 0.0.0.0 be_app_env=production be_app_branch=SOME_BRANCH hostname=project-production.example.com
111
+
112
+ [staging]
113
+ 0.0.0.0 be_app_env=staging be_app_branch=SOME_BRANCH hostname=project-staging.example.com
114
+ ```
115
+
116
+ In your `tape_vars.yml`
117
+ ```
118
+ letsencrypt:
119
+ enabled: true
120
+ hostname: "{{hostname}}"
121
+ email: some_email@example.com
122
+ ```
123
+
103
124
  ## Testing
104
125
  ### With vagrant
105
126
 
@@ -1,3 +1,3 @@
1
1
  module Taperole
2
- VERSION = '2.0.0'.freeze
2
+ VERSION = '2.0.1'.freeze
3
3
  end
@@ -1,9 +1,11 @@
1
1
  - name: Install letsencrypt
2
- apt: name=letsencrypt state=present
2
+ command: bash -lc "git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt"
3
+ args:
4
+ creates: /opt/letsencrypt
3
5
  when: letsencrypt.enabled == true
4
6
 
5
7
  - name: Get letsencrypt cert
6
- command: bash -lc "letsencrypt certonly --standalone --rsa-key-size 4096 --force-renew --agree-tos --email {{ letsencrypt.email }} --text --non-interactive -d {{ letsencrypt.hostname }}"
8
+ command: bash -lc "/opt/letsencrypt/letsencrypt-auto certonly --standalone --rsa-key-size 4096 --force-renew --agree-tos --email {{ letsencrypt.email }} --text --non-interactive -d {{ letsencrypt.hostname }}"
7
9
  args:
8
10
  creates: "/etc/letsencrypt/live/{{ letsencrypt.hostname }}/privkey.pem"
9
11
  when: letsencrypt.enabled == true
@@ -14,6 +16,6 @@
14
16
  weekday: 1
15
17
  hour: 2
16
18
  minute: 30
17
- job: /usr/bin/letsencrypt renew --rsa-key-size 4096 >> /var/log/le-renew.log
19
+ job: /opt/letsencrypt/letsencrypt-auto renew --rsa-key-size 4096 --renew-hook "/usr/bin/monit restart nginx" >> /var/log/le-renew.log
18
20
  user: root
19
21
  when: letsencrypt.enabled == true
@@ -81,6 +81,7 @@ server {
81
81
  try_files $uri/index.html $uri @puma;
82
82
  location @puma {
83
83
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
84
+ proxy_set_header X-Forwarded-Proto $scheme;
84
85
  proxy_set_header Host $http_host;
85
86
  proxy_redirect off;
86
87
  proxy_pass http://puma;
@@ -2,8 +2,8 @@
2
2
  file: path={{be_app_path}}/log state=directory owner=deployer
3
3
 
4
4
  - name: Install Puma config
5
- template: src=puma.rb.j2
6
- dest={{be_app_path}}/config/puma.rb
5
+ template: src=puma.production.rb.j2
6
+ dest={{be_app_path}}/config/puma.production.rb
7
7
 
8
8
  - name: Set up Puma pids dir
9
9
  file:
@@ -6,7 +6,7 @@
6
6
  RAILS_ENV={{ be_app_env }}
7
7
  USER={{ deployer_user.name }}
8
8
  APP_DIR={{ be_app_path }}
9
- PUMA_CONFIG_FILE=$APP_DIR/config/puma.rb
9
+ PUMA_CONFIG_FILE=$APP_DIR/config/puma.production.rb
10
10
  PUMA_PID_FILE={{ puma_pidfile }}
11
11
  PUMA_SOCKET={{ puma_sockfile }}
12
12
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taperole
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Forrest
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-03-17 00:00:00.000000000 Z
13
+ date: 2017-04-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: slack-notifier
@@ -173,7 +173,7 @@ files:
173
173
  - roles/postgres/meta/main.yml
174
174
  - roles/puma_activate/tasks/main.yml
175
175
  - roles/puma_install/tasks/main.yml
176
- - roles/puma_install/templates/puma.rb.j2
176
+ - roles/puma_install/templates/puma.production.rb.j2
177
177
  - roles/puma_install/templates/puma_init.j2
178
178
  - roles/puma_install/templates/puma_monit.j2
179
179
  - roles/redis/meta/main.yml
@@ -364,7 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
364
364
  version: '0'
365
365
  requirements: []
366
366
  rubyforge_project:
367
- rubygems_version: 2.6.2
367
+ rubygems_version: 2.6.4
368
368
  signing_key:
369
369
  specification_version: 4
370
370
  summary: A tool for provisioning and deploying boxes for hosting Rails apps