subspace 2.4.1 → 2.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.ruby-gemset +0 -0
- data/.ruby-version +0 -0
- data/.travis.yml +0 -0
- data/CHANGELOG.md +19 -0
- data/CODE_OF_CONDUCT.md +0 -0
- data/Gemfile +0 -0
- data/LICENSE.txt +0 -0
- data/README.md +15 -2
- data/Rakefile +0 -0
- data/TODO +0 -0
- data/ansible/playbooks/local_template.yml +0 -0
- data/ansible/playbooks/maintenance_mode.yml +0 -0
- data/ansible/roles/alienvault/tasks/main.yml +0 -0
- data/ansible/roles/apache-rails/tasks/main.yml +0 -0
- data/ansible/roles/apache-rails/templates/_canonical_domain.conf +0 -0
- data/ansible/roles/apache-rails/templates/_rails.conf +0 -0
- data/ansible/roles/apache-rails/templates/project-ssl.conf +0 -0
- data/ansible/roles/apache-rails/templates/project.conf +0 -0
- data/ansible/roles/apache/defaults/main.yml +0 -0
- data/ansible/roles/apache/handlers/main.yml +0 -0
- data/ansible/roles/apache/tasks/main.yml +0 -0
- data/ansible/roles/apache/templates/server_status.conf +0 -0
- data/ansible/roles/awscli/tasks/main.yml +0 -0
- data/ansible/roles/collectd/defaults/main.yml +0 -0
- data/ansible/roles/collectd/handlers/main.yml +0 -0
- data/ansible/roles/collectd/tasks/main.yml +0 -0
- data/ansible/roles/collectd/templates/apache2.conf +0 -0
- data/ansible/roles/collectd/templates/delayed_job_postgres.conf +0 -0
- data/ansible/roles/collectd/templates/df.conf +0 -0
- data/ansible/roles/collectd/templates/graphite.conf +0 -0
- data/ansible/roles/collectd/templates/hostname.conf +0 -0
- data/ansible/roles/collectd/templates/nginx.conf +0 -0
- data/ansible/roles/collectd/templates/nodejs-process.conf +0 -0
- data/ansible/roles/collectd/templates/puma-process.conf +0 -0
- data/ansible/roles/collectd/templates/rails_lograge.conf +0 -0
- data/ansible/roles/common/defaults/main.yml +0 -0
- data/ansible/roles/common/files/sudoers-service +0 -0
- data/ansible/roles/common/handlers/main.yml +0 -0
- data/ansible/roles/common/tasks/main.yml +42 -6
- data/ansible/roles/common/tasks/swap.yml +0 -0
- data/ansible/roles/common/templates/motd +1 -1
- data/ansible/roles/common/templates/motd2 +0 -0
- data/ansible/roles/common/templates/terminalcolor +0 -0
- data/ansible/roles/delayed_job/README.md +0 -0
- data/ansible/roles/delayed_job/defaults/main.yml +0 -0
- data/ansible/roles/delayed_job/handlers/main.yml +0 -0
- data/ansible/roles/delayed_job/meta/main.yml +0 -0
- data/ansible/roles/delayed_job/tasks/main.yml +0 -0
- data/ansible/roles/delayed_job/templates/delayed-job-monit-rc +0 -0
- data/ansible/roles/letsencrypt/defaults/main.yml +0 -0
- data/ansible/roles/letsencrypt/tasks/legacy.yml +0 -0
- data/ansible/roles/letsencrypt/tasks/main.yml +1 -1
- data/ansible/roles/letsencrypt/tasks/modern.yml +0 -0
- data/ansible/roles/letsencrypt_dns/defaults/main.yml +0 -0
- data/ansible/roles/letsencrypt_dns/tasks/main.yml +0 -0
- data/ansible/roles/logrotate/LICENSE +0 -0
- data/ansible/roles/logrotate/README.md +0 -0
- data/ansible/roles/logrotate/defaults/main.yml +0 -0
- data/ansible/roles/logrotate/meta/main.yml +0 -0
- data/ansible/roles/logrotate/tasks/main.yml +0 -0
- data/ansible/roles/logrotate/templates/logrotate.d.j2 +0 -0
- data/ansible/roles/memcache/tasks/main.yml +0 -0
- data/ansible/roles/monit/files/monit-http.conf +0 -0
- data/ansible/roles/monit/files/sudoers-monit +0 -0
- data/ansible/roles/monit/handlers/main.yml +0 -0
- data/ansible/roles/monit/tasks/main.yml +0 -0
- data/ansible/roles/mtpereira.passenger/.bumpversion.cfg +0 -0
- data/ansible/roles/mtpereira.passenger/.gitignore +0 -0
- data/ansible/roles/mtpereira.passenger/LICENSE +0 -0
- data/ansible/roles/mtpereira.passenger/README.md +0 -0
- data/ansible/roles/mtpereira.passenger/defaults/main.yml +0 -0
- data/ansible/roles/mtpereira.passenger/handlers/main.yml +0 -0
- data/ansible/roles/mtpereira.passenger/meta/.galaxy_install_info +0 -0
- data/ansible/roles/mtpereira.passenger/meta/main.yml +0 -0
- data/ansible/roles/mtpereira.passenger/tasks/apt.yml +0 -0
- data/ansible/roles/mtpereira.passenger/tasks/main.yml +0 -0
- data/ansible/roles/mtpereira.passenger/tasks/pkg.yml +0 -0
- data/ansible/roles/mtpereira.passenger/tasks/service.yml +0 -0
- data/ansible/roles/mysql/meta/main.yml +0 -0
- data/ansible/roles/mysql/tasks/main.yml +0 -0
- data/ansible/roles/mysql/templates/mysql_database.yml +0 -0
- data/ansible/roles/mysql2_gem/meta/main.yml +0 -0
- data/ansible/roles/mysql2_gem/tasks/main.yml +0 -0
- data/ansible/roles/newrelic-infra/defaults/main.yml +2 -0
- data/ansible/roles/newrelic-infra/handlers/main.yml +5 -0
- data/ansible/roles/newrelic-infra/tasks/main.yml +33 -0
- data/ansible/roles/newrelic-infra/templates/logs.yml.j2 +5 -0
- data/ansible/roles/newrelic/handlers/main.yml +0 -0
- data/ansible/roles/newrelic/tasks/main.yml +4 -0
- data/ansible/roles/nginx-maintenance/tasks/main.yml +0 -0
- data/ansible/roles/nginx-rails/defaults/main.yml +0 -0
- data/ansible/roles/nginx-rails/tasks/main.yml +19 -3
- data/ansible/roles/nginx-rails/templates/_asset_cors.conf +0 -0
- data/ansible/roles/nginx-rails/templates/_rails.conf +0 -0
- data/ansible/roles/nginx-rails/templates/_upstream.conf +0 -0
- data/ansible/roles/nginx-rails/templates/default_server +0 -0
- data/ansible/roles/nginx-rails/templates/nginx-project +0 -0
- data/ansible/roles/nginx-rails/templates/nginx-project-ssl +0 -0
- data/ansible/roles/nginx/defaults/main.yml +0 -0
- data/ansible/roles/nginx/handlers/main.yml +0 -0
- data/ansible/roles/nginx/tasks/main.yml +0 -0
- data/ansible/roles/nginx/templates/status +0 -0
- data/ansible/roles/nodejs/tasks/main.yml +0 -0
- data/ansible/roles/papertrail/tasks/main.yml +0 -0
- data/ansible/roles/papertrail/templates/log_files.yml +0 -0
- data/ansible/roles/passenger/files/sudoers-passenger +0 -0
- data/ansible/roles/passenger/meta/main.yml +0 -0
- data/ansible/roles/passenger/tasks/main.yml +0 -0
- data/ansible/roles/postgresql-client/tasks/main.yml +39 -4
- data/ansible/roles/postgresql/README.md +0 -0
- data/ansible/roles/postgresql/defaults/main.yml +0 -0
- data/ansible/roles/postgresql/handlers/main.yml +0 -0
- data/ansible/roles/postgresql/meta/main.yml +0 -0
- data/ansible/roles/postgresql/tasks/backups.yml +0 -0
- data/ansible/roles/postgresql/tasks/main.yml +0 -0
- data/ansible/roles/puma/defaults/main.yml +0 -0
- data/ansible/roles/puma/meta/main.yml +0 -0
- data/ansible/roles/puma/tasks/main.yml +0 -0
- data/ansible/roles/puma/templates/etc-puma.conf +0 -0
- data/ansible/roles/puma/templates/puma-monit-rc +0 -0
- data/ansible/roles/puma/templates/puma.rb +0 -0
- data/ansible/roles/rails/defaults/main.yml +0 -0
- data/ansible/roles/rails/tasks/main.yml +0 -0
- data/ansible/roles/rails/templates/application.yml +0 -0
- data/ansible/roles/rails/templates/database.yml +0 -0
- data/ansible/roles/redis/defaults/main.yml +0 -0
- data/ansible/roles/redis/tasks/main.yml +0 -0
- data/ansible/roles/ruby-common/README.md +0 -0
- data/ansible/roles/ruby-common/defaults/main.yml +0 -0
- data/ansible/roles/ruby-common/meta/main.yml +0 -0
- data/ansible/roles/ruby-common/tasks/main.yml +1 -6
- data/ansible/roles/ruby-common/templates/install-ruby.j2 +0 -0
- data/ansible/roles/ruby-common/templates/rake-env.j2 +0 -0
- data/ansible/roles/ruby-common/templates/ruby-gc-wrapper.j2 +0 -0
- data/ansible/roles/ruby-common/vars/main.yml +0 -0
- data/ansible/roles/sidekiq/README.md +0 -0
- data/ansible/roles/sidekiq/defaults/main.yml +0 -0
- data/ansible/roles/sidekiq/meta/main.yml +0 -0
- data/ansible/roles/sidekiq/tasks/main.yml +0 -0
- data/ansible/roles/sidekiq/templates/sidekiq-monit-rc +0 -0
- data/ansible/roles/yarn/tasks/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/.gitignore +0 -0
- data/ansible/roles/zenoamaro.postgresql/.travis.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/LICENSE.md +0 -0
- data/ansible/roles/zenoamaro.postgresql/README.md +0 -0
- data/ansible/roles/zenoamaro.postgresql/Vagrantfile +0 -0
- data/ansible/roles/zenoamaro.postgresql/boxed.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/defaults/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/handlers/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/inventory +0 -0
- data/ansible/roles/zenoamaro.postgresql/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/meta/.galaxy_install_info +0 -0
- data/ansible/roles/zenoamaro.postgresql/meta/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/tasks/configure.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/tasks/extensions.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/tasks/install.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/tasks/main.yml +0 -0
- data/ansible/roles/zenoamaro.postgresql/templates/environment +0 -0
- data/ansible/roles/zenoamaro.postgresql/templates/pg_ctl.conf +0 -0
- data/ansible/roles/zenoamaro.postgresql/templates/pg_hba.conf +0 -0
- data/ansible/roles/zenoamaro.postgresql/templates/pg_ident.conf +0 -0
- data/ansible/roles/zenoamaro.postgresql/templates/postgresql.conf +0 -0
- data/ansible/roles/zenoamaro.postgresql/test.yml +0 -0
- data/lib/subspace.rb +0 -0
- data/lib/subspace/cli.rb +5 -0
- data/lib/subspace/commands/ansible.rb +0 -0
- data/lib/subspace/commands/base.rb +4 -0
- data/lib/subspace/commands/bootstrap.rb +0 -0
- data/lib/subspace/commands/configure.rb +0 -0
- data/lib/subspace/commands/init.rb +0 -0
- data/lib/subspace/commands/maintain.rb +1 -0
- data/lib/subspace/commands/maintenance_mode.rb +0 -0
- data/lib/subspace/commands/override.rb +0 -0
- data/lib/subspace/commands/provision.rb +1 -0
- data/lib/subspace/commands/ssh.rb +0 -0
- data/lib/subspace/commands/vars.rb +0 -0
- data/lib/subspace/configuration.rb +0 -0
- data/lib/subspace/version.rb +1 -1
- data/subspace.gemspec +0 -0
- data/template/provision.rb.erb +0 -0
- data/template/provision/.gitignore +0 -0
- data/template/provision/ansible.cfg.erb +0 -0
- data/template/provision/group_vars/all.erb +0 -0
- data/template/provision/group_vars/template.erb +0 -0
- data/template/provision/host_vars/template.erb +0 -0
- data/template/provision/hosts.erb +0 -0
- data/template/provision/playbook.yml.erb +0 -0
- data/template/provision/templates/application.yml.template +0 -0
- data/template/provision/vars/template.erb +0 -0
- metadata +10 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2900b56b3f754ef7860f84bed2a542f1613d670d42de47deeb469ccae80f48ad
|
4
|
+
data.tar.gz: 13f7d5fc40033f6da6b639f4198072632adbcffb4f0c6a0646ea992641a6cbde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e138515cdf107fa30c7668711ea40d26cc316b1ca23366eb63497d92ce96a178d543070c81d8d0617045699bed4250415b429ff709b8e1c2a5caf554f9b95152
|
7
|
+
data.tar.gz: e4420f8d057f1c8ee0376ba9a693a5170e81ab081651657eb9ac45b9bca6662430540d3701ff8ad83bdb6132126c0f3f1f611e276fa17eb5fe24c747ce22d6a2
|
data/.gitignore
CHANGED
File without changes
|
data/.rspec
CHANGED
File without changes
|
data/.ruby-gemset
CHANGED
File without changes
|
data/.ruby-version
CHANGED
File without changes
|
data/.travis.yml
CHANGED
File without changes
|
data/CHANGELOG.md
CHANGED
@@ -10,6 +10,25 @@ This project attempts to follow [semantic versioning](https://semver.org/)
|
|
10
10
|
* Not working on OSX - macs don't read from /etc/profile.d/
|
11
11
|
* Stops showing color if you `sudo su`
|
12
12
|
|
13
|
+
## 2.5.3
|
14
|
+
* Add a friendly error message if ansible is not installed
|
15
|
+
* Add new role to support New Relic One's infrastructure agent
|
16
|
+
|
17
|
+
## 2.5.2
|
18
|
+
* Always specify the letsencrypt cert_name so they are consistent
|
19
|
+
|
20
|
+
## 2.5.1
|
21
|
+
* Fix os upgrades stat collection for ubuntu 20
|
22
|
+
|
23
|
+
## 2.5
|
24
|
+
* Get actual os version number along with kernal name
|
25
|
+
* Update MOTD version automatically!
|
26
|
+
* Get and upload unattended security updates
|
27
|
+
|
28
|
+
## 2.4.2
|
29
|
+
* Update deprecated syntax for ansible
|
30
|
+
* Fix postgresql-client for python 3
|
31
|
+
|
13
32
|
## 2.4.1
|
14
33
|
* Allow extra nginx options via extra_nginx_config eg:
|
15
34
|
```
|
data/CODE_OF_CONDUCT.md
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
@@ -282,6 +282,21 @@ Installs logrotate and lets you configure logs for automatic rotation. Example
|
|
282
282
|
|
283
283
|
## newrelic
|
284
284
|
|
285
|
+
## newrelic-infra
|
286
|
+
This role will install the next-gen "Newrelic One" infrastructure agent which can perform a few different functions for newrelic. The previous "newrelic" role is deprecated.
|
287
|
+
|
288
|
+
Variables:
|
289
|
+
# Required, the newrelic license key you get after signing up.
|
290
|
+
newrelic_license: "longhashthingyougetfromnewrelichere"
|
291
|
+
# Optional - send logs to newrelic one's log aggregator.
|
292
|
+
newrelic_logs:
|
293
|
+
- name: rails-production
|
294
|
+
path: /u/apps/blah/shared/log/production.log
|
295
|
+
- name: nginx-error
|
296
|
+
path: /var/log/nginx/error.log
|
297
|
+
|
298
|
+
|
299
|
+
|
285
300
|
## nginx-rails
|
286
301
|
|
287
302
|
Configures nginx to look at localhost:9292 for the socket/backend connection. If you need to do fancy stuff you should simply override this role
|
@@ -358,8 +373,6 @@ Installs redis on the server.
|
|
358
373
|
# Change to * if you want tthis available everywhere.
|
359
374
|
redis_bind: 127.0.0.1
|
360
375
|
|
361
|
-
|
362
|
-
|
363
376
|
## ruby-common
|
364
377
|
|
365
378
|
Installs ruby on the machine. YOu can set a version by picking off the download url and sha hash from ruby-lang.org
|
data/Rakefile
CHANGED
File without changes
|
data/TODO
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -72,10 +72,6 @@
|
|
72
72
|
tags:
|
73
73
|
- maintenance
|
74
74
|
|
75
|
-
- name: Add ppa:ondrej/nginx apt repository for TLS 1.3
|
76
|
-
apt_repository:
|
77
|
-
repo: ppa:ondrej/nginx
|
78
|
-
|
79
75
|
- name: apt-get update
|
80
76
|
apt: update_cache=yes cache_valid_time=86400
|
81
77
|
become: true
|
@@ -83,6 +79,10 @@
|
|
83
79
|
- upgrade
|
84
80
|
- maintenance
|
85
81
|
|
82
|
+
- name: Add ppa:ondrej/nginx apt repository for TLS 1.3
|
83
|
+
apt_repository:
|
84
|
+
repo: ppa:ondrej/nginx
|
85
|
+
|
86
86
|
- name: /usr/lib/update-notifier/apt-check --human-readable
|
87
87
|
command: /usr/lib/update-notifier/apt-check --human-readable
|
88
88
|
tags:
|
@@ -129,7 +129,7 @@
|
|
129
129
|
shell:
|
130
130
|
cmd: |
|
131
131
|
sed -n "/$(date '+%Y-%m')/,+2p" updates.log | # Groups of lines from the current month
|
132
|
-
grep 'packages' | # Only lines matching 'packages'
|
132
|
+
grep 'packages\|immediately' | # Only lines matching 'packages' or 'immediately'
|
133
133
|
grep -P -o '(^\d+)' | #Extract the numbers at the beginning of the lines
|
134
134
|
awk '{s+=$1} END {print s}' # Sum all the lines
|
135
135
|
args:
|
@@ -158,6 +158,42 @@
|
|
158
158
|
- maintenance
|
159
159
|
- stats
|
160
160
|
|
161
|
+
- name: Get unattended security updates
|
162
|
+
shell:
|
163
|
+
cmd: cat /var/log/unattended-upgrades/unattended-upgrades.log | grep "Packages that will be upgraded:" | grep $(date '+%Y-%m') | cut -d " " -f 9- | wc -w
|
164
|
+
register: out
|
165
|
+
tags:
|
166
|
+
- maintenance
|
167
|
+
- stats
|
168
|
+
|
169
|
+
- name: get current date as month
|
170
|
+
shell:
|
171
|
+
cmd: date '+%Y-%m'
|
172
|
+
register: current_month
|
173
|
+
tags:
|
174
|
+
- maintenance
|
175
|
+
- stats
|
176
|
+
|
177
|
+
- name: Save unattended updates to /opt/subspace/updates.log
|
178
|
+
lineinfile:
|
179
|
+
path: /opt/subspace/updates.log
|
180
|
+
line: "[{{current_month.stdout}}]\n{{ out.stdout }} unattended security updates"
|
181
|
+
insertafter: EOF
|
182
|
+
create: yes
|
183
|
+
become: true
|
184
|
+
tags:
|
185
|
+
- maintenance
|
186
|
+
- stats
|
187
|
+
when: out.stdout != "0"
|
188
|
+
|
189
|
+
- name: Update unattended-upgrades.log
|
190
|
+
shell:
|
191
|
+
cmd: perl -i -pe 's/Packages that will be upgraded:/Packages already upgraded and logged in Subspace:/smg' /var/log/unattended-upgrades/unattended-upgrades.log
|
192
|
+
become: true
|
193
|
+
tags:
|
194
|
+
- maintenance
|
195
|
+
- stats
|
196
|
+
|
161
197
|
- name: Get os_security_upgrades stats
|
162
198
|
shell:
|
163
199
|
cmd: |
|
@@ -253,7 +289,7 @@
|
|
253
289
|
- maintenance
|
254
290
|
|
255
291
|
- name: Grab OS version
|
256
|
-
shell: uname
|
292
|
+
shell: uname -rv
|
257
293
|
register: stats_os_version
|
258
294
|
when: send_stats == true and stats_url is defined and stats_api_key is defined
|
259
295
|
tags:
|
File without changes
|
@@ -4,7 +4,7 @@ This server brought to you by:
|
|
4
4
|
\___ \| | | | '_ \___ \| '_ \ / _` |/ __/ _ \
|
5
5
|
___) | |_| | |_) |__) | |_) | (_| | (_| __/
|
6
6
|
|____/ \__,_|_.__/____/| .__/ \__,_|\___\___|
|
7
|
-
|_|
|
7
|
+
|_| v{{lookup('env', 'SUBSPACE_VERSION')}}
|
8
8
|
~~~ https://github.com/tenforwardconsulting/subspace ~~~
|
9
9
|
|
10
10
|
If you need to make configuration changes to the server, please modify the
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -44,7 +44,7 @@
|
|
44
44
|
- name: Run default
|
45
45
|
when: le_ssl_certs is not defined
|
46
46
|
become: true
|
47
|
-
command: "{{certbot_bin}} certonly --email {{letsencrypt_email}} --domains {{([server_name] + server_aliases) | join(',')}} --standalone --agree-tos --expand --non-interactive"
|
47
|
+
command: "{{certbot_bin}} certonly --email {{letsencrypt_email}} --domains {{([server_name] + server_aliases) | join(',')}} --cert-name {{server_name}} --standalone --agree-tos --expand --non-interactive"
|
48
48
|
|
49
49
|
- name: Generate SSL Certificates
|
50
50
|
become: true
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
- name: Add New Relic apt key
|
3
|
+
apt_key:
|
4
|
+
url: https://download.newrelic.com/infrastructure_agent/gpg/newrelic-infra.gpg
|
5
|
+
state: present
|
6
|
+
become: true
|
7
|
+
|
8
|
+
- name: create license key
|
9
|
+
copy:
|
10
|
+
dest: "/etc/newrelic-infra.yml"
|
11
|
+
content: |
|
12
|
+
license_key: {{newrelic_license}}
|
13
|
+
|
14
|
+
- name: Add New Relic apt repo
|
15
|
+
apt_repository:
|
16
|
+
repo: deb [arch=amd64] https://download.newrelic.com/infrastructure_agent/linux/apt focal main
|
17
|
+
state: present
|
18
|
+
become: true
|
19
|
+
|
20
|
+
- name: Install New Relic server agent
|
21
|
+
apt:
|
22
|
+
pkg: newrelic-infra
|
23
|
+
state: present
|
24
|
+
update_cache: true
|
25
|
+
become: true
|
26
|
+
|
27
|
+
- name: Configure application log forwarding if enabled
|
28
|
+
when: "{{ newrelic_logs|length }}"
|
29
|
+
become: true
|
30
|
+
template:
|
31
|
+
dest: "/etc/newrelic-infra/logging.d/subspace.yml"
|
32
|
+
src: logs.yml.j2
|
33
|
+
notify: Restart newrelic-infra
|
File without changes
|
@@ -1,4 +1,8 @@
|
|
1
1
|
---
|
2
|
+
- name: "Deprecation notice"
|
3
|
+
ansible.builtin.debug:
|
4
|
+
msg: The 'newrelic' role in subspace is deprecated. Please migration to Newrelic One and the 'newrelic-infra' role
|
5
|
+
|
2
6
|
- name: Add New Relic apt repo
|
3
7
|
apt_repository:
|
4
8
|
repo: deb http://apt.newrelic.com/debian/ newrelic non-free
|
File without changes
|
File without changes
|
@@ -5,11 +5,19 @@
|
|
5
5
|
dest: /etc/nginx/sites-available/{{project_name}}
|
6
6
|
become: true
|
7
7
|
|
8
|
-
- name: Enable the app
|
8
|
+
- name: Enable the non-ssl app
|
9
9
|
file:
|
10
10
|
src: /etc/nginx/sites-available/{{project_name}}
|
11
11
|
dest: /etc/nginx/sites-enabled/{{project_name}}
|
12
|
-
state:
|
12
|
+
state: link
|
13
|
+
when: ssl_enabled != true or nginx_ssl_config is not defined
|
14
|
+
become: true
|
15
|
+
|
16
|
+
- name: Disable the non-ssl app
|
17
|
+
file:
|
18
|
+
dest: /etc/nginx/sites-enabled/{{project_name}}
|
19
|
+
state: absent
|
20
|
+
when: (ssl_enabled and nginx_ssl_config is defined)
|
13
21
|
become: true
|
14
22
|
|
15
23
|
- name: create ssl nginx config for rails app
|
@@ -23,7 +31,15 @@
|
|
23
31
|
file:
|
24
32
|
src: /etc/nginx/sites-available/{{project_name}}-ssl
|
25
33
|
dest: /etc/nginx/sites-enabled/{{project_name}}-ssl
|
26
|
-
state:
|
34
|
+
state: link
|
35
|
+
when: (ssl_enabled and nginx_ssl_config is defined)
|
36
|
+
become: true
|
37
|
+
|
38
|
+
- name: Disable SSL configured app
|
39
|
+
file:
|
40
|
+
dest: /etc/nginx/sites-enabled/{{project_name}}-ssl
|
41
|
+
state: absent
|
42
|
+
when: ssl_enabled != true or nginx_ssl_config is not defined
|
27
43
|
become: true
|
28
44
|
|
29
45
|
- name: Enable a default server if one is not defined in the app
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -35,14 +35,49 @@
|
|
35
35
|
- db
|
36
36
|
- deps
|
37
37
|
|
38
|
-
- name: Install
|
38
|
+
- name: Install libpq-dev
|
39
39
|
when: ansible_os_family == 'Debian'
|
40
40
|
become: yes
|
41
41
|
apt:
|
42
|
-
name: "
|
42
|
+
name: "libpq-dev"
|
43
|
+
state: present
|
44
|
+
update_cache: yes
|
45
|
+
cache_valid_time: 3600
|
46
|
+
tags:
|
47
|
+
- postgresql
|
48
|
+
- db
|
49
|
+
- deps
|
50
|
+
|
51
|
+
- name: "Detect python3"
|
52
|
+
shell: "which python3"
|
53
|
+
register: is_python3
|
54
|
+
|
55
|
+
- name: Ensure pip is installed (python3)
|
56
|
+
when: is_python3 is succeeded
|
57
|
+
apt:
|
58
|
+
name: python3-pip
|
59
|
+
state: present
|
60
|
+
update_cache: yes
|
61
|
+
tags:
|
62
|
+
- postgresql
|
63
|
+
- db
|
64
|
+
- deps
|
65
|
+
|
66
|
+
- name: Install psycopg2 (python3)
|
67
|
+
when: is_python3 is succeeded
|
68
|
+
become: yes
|
69
|
+
command: "pip3 install psycopg2"
|
70
|
+
tags:
|
71
|
+
- postgresql
|
72
|
+
- db
|
73
|
+
- deps
|
74
|
+
|
75
|
+
- name: Install psycopg2 (python2)
|
76
|
+
when: is_python3 is failed
|
77
|
+
become: yes
|
78
|
+
apt:
|
79
|
+
name: python-psycopg2
|
43
80
|
state: latest
|
44
|
-
with_items:
|
45
|
-
- python-psycopg2
|
46
81
|
tags:
|
47
82
|
- postgresql
|
48
83
|
- db
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -87,12 +87,7 @@
|
|
87
87
|
ignore_errors: yes
|
88
88
|
|
89
89
|
- name: Install Bundler
|
90
|
-
gem
|
91
|
-
name: bundler
|
92
|
-
version: "{{ bundler_version }}"
|
93
|
-
state: present
|
94
|
-
user_install: no
|
95
|
-
executable: "{{ ruby_location }}/bin/gem"
|
90
|
+
shell: "{{ ruby_location }}/bin/gem install bundler -v {{ bundler_version }}"
|
96
91
|
become: true
|
97
92
|
|
98
93
|
- name: Make Ruby symlinks
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/subspace.rb
CHANGED
File without changes
|
data/lib/subspace/cli.rb
CHANGED
@@ -24,6 +24,11 @@ class Subspace::Cli
|
|
24
24
|
program :version, Subspace::VERSION
|
25
25
|
program :description, 'Ansible-backed server provisioning tool for rails'
|
26
26
|
|
27
|
+
unless system("which ansible > /dev/null")
|
28
|
+
puts "*** Subspace depends on ansible being on your PATH. Please install it: https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html"
|
29
|
+
exit 1
|
30
|
+
end
|
31
|
+
|
27
32
|
command :init do |c|
|
28
33
|
c.syntax = 'subspace init [vars]'
|
29
34
|
c.summary = 'Run without options to initialize subspace.'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/subspace/version.rb
CHANGED
data/subspace.gemspec
CHANGED
File without changes
|
data/template/provision.rb.erb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subspace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Samson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -173,6 +173,10 @@ files:
|
|
173
173
|
- ansible/roles/mysql/templates/mysql_database.yml
|
174
174
|
- ansible/roles/mysql2_gem/meta/main.yml
|
175
175
|
- ansible/roles/mysql2_gem/tasks/main.yml
|
176
|
+
- ansible/roles/newrelic-infra/defaults/main.yml
|
177
|
+
- ansible/roles/newrelic-infra/handlers/main.yml
|
178
|
+
- ansible/roles/newrelic-infra/tasks/main.yml
|
179
|
+
- ansible/roles/newrelic-infra/templates/logs.yml.j2
|
176
180
|
- ansible/roles/newrelic/handlers/main.yml
|
177
181
|
- ansible/roles/newrelic/tasks/main.yml
|
178
182
|
- ansible/roles/nginx-maintenance/tasks/main.yml
|
@@ -291,7 +295,7 @@ licenses:
|
|
291
295
|
- MIT
|
292
296
|
metadata:
|
293
297
|
allowed_push_host: https://rubygems.org
|
294
|
-
post_install_message:
|
298
|
+
post_install_message:
|
295
299
|
rdoc_options: []
|
296
300
|
require_paths:
|
297
301
|
- lib
|
@@ -306,8 +310,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
306
310
|
- !ruby/object:Gem::Version
|
307
311
|
version: '0'
|
308
312
|
requirements: []
|
309
|
-
rubygems_version: 3.0.
|
310
|
-
signing_key:
|
313
|
+
rubygems_version: 3.0.8
|
314
|
+
signing_key:
|
311
315
|
specification_version: 4
|
312
316
|
summary: Ansible-based server provisioning for rails projects
|
313
317
|
test_files: []
|