subspace 2.5.10 → 3.0.0.rc1

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/CHANGELOG.md +12 -5
  4. data/README.md +57 -24
  5. data/UPGRADING.md +10 -0
  6. data/ansible/roles/common/defaults/main.yml +0 -1
  7. data/ansible/roles/common/files/sudoers-service +1 -1
  8. data/ansible/roles/common/tasks/main.yml +18 -7
  9. data/ansible/roles/common/tasks/no_swap.yml +26 -0
  10. data/ansible/roles/common/templates/motd +1 -1
  11. data/ansible/roles/common/templates/motd2 +1 -1
  12. data/ansible/roles/delayed_job/tasks/main.yml +1 -1
  13. data/ansible/roles/memcache/defaults/main.yml +2 -0
  14. data/ansible/roles/memcache/tasks/main.yml +16 -1
  15. data/ansible/roles/newrelic-infra/tasks/main.yml +3 -3
  16. data/ansible/roles/nginx/tasks/main.yml +12 -3
  17. data/ansible/roles/puma/tasks/main.yml +32 -20
  18. data/ansible/roles/puma/templates/puma-systemd.service +36 -0
  19. data/ansible/roles/puma/templates/puma-systemd.socket +14 -0
  20. data/ansible/roles/puma/templates/puma.rb +4 -2
  21. data/ansible/roles/rails/defaults/main.yml +0 -7
  22. data/ansible/roles/redis/tasks/main.yml +7 -0
  23. data/ansible/roles/resque/tasks/main.yml +11 -12
  24. data/ansible/roles/resque/templates/resque-systemd.service +10 -3
  25. data/ansible/roles/ruby-common/README.md +1 -1
  26. data/ansible/roles/ruby-common/tasks/main.yml +2 -17
  27. data/ansible/roles/sidekiq/defaults/main.yml +1 -1
  28. data/ansible/roles/sidekiq/tasks/main.yml +11 -15
  29. data/ansible/roles/sidekiq/templates/sidekiq-monit-rc +1 -1
  30. data/ansible/roles/sidekiq/templates/sidekiq-systemd.service +62 -0
  31. data/ansible/roles/tailscale/defaults/main.yml +2 -0
  32. data/ansible/roles/tailscale/tasks/main.yml +22 -0
  33. data/exe/subspace +1 -2
  34. data/lib/subspace/cli.rb +50 -14
  35. data/lib/subspace/commands/ansible.rb +11 -2
  36. data/lib/subspace/commands/base.rb +20 -5
  37. data/lib/subspace/commands/bootstrap.rb +16 -21
  38. data/lib/subspace/commands/configure.rb +2 -2
  39. data/lib/subspace/commands/exec.rb +20 -0
  40. data/lib/subspace/commands/init.rb +94 -45
  41. data/lib/subspace/commands/inventory.rb +45 -0
  42. data/lib/subspace/commands/maintain.rb +1 -1
  43. data/lib/subspace/commands/provision.rb +1 -3
  44. data/lib/subspace/commands/{vars.rb → secrets.rb} +6 -5
  45. data/lib/subspace/commands/ssh.rb +10 -8
  46. data/lib/subspace/commands/terraform.rb +83 -0
  47. data/lib/subspace/inventory.rb +144 -0
  48. data/lib/subspace/version.rb +1 -1
  49. data/subspace.gemspec +8 -2
  50. data/template/{provision → subspace}/.gitignore +3 -0
  51. data/template/{provision → subspace}/ansible.cfg.erb +2 -2
  52. data/template/subspace/group_vars/all.erb +28 -0
  53. data/template/subspace/group_vars/template.erb +26 -0
  54. data/template/subspace/inventory.yml.erb +11 -0
  55. data/template/{provision → subspace}/playbook.yml.erb +2 -5
  56. data/template/subspace/templates/authorized_keys.erb +1 -0
  57. data/template/subspace/terraform/.gitignore +2 -0
  58. data/template/subspace/terraform/template/main-oxenwagen.tf.erb +116 -0
  59. data/template/subspace/terraform/template/main-workhorse.tf.erb +41 -0
  60. data/template/subspace/terraformrc.erb +9 -0
  61. data/terraform/modules/s3_backend/README +2 -0
  62. data/terraform/modules/s3_backend/dynamodb.tf +1 -0
  63. data/terraform/modules/s3_backend/iam_user.tf +38 -0
  64. data/terraform/modules/s3_backend/main.tf +39 -0
  65. data/terraform/modules/s3_backend/state_bucket.tf +14 -0
  66. metadata +42 -53
  67. data/ansible/roles/monit/files/monit-http.conf +0 -3
  68. data/ansible/roles/monit/files/sudoers-monit +0 -1
  69. data/ansible/roles/monit/handlers/main.yml +0 -14
  70. data/ansible/roles/monit/tasks/main.yml +0 -34
  71. data/ansible/roles/mtpereira.passenger/.bumpversion.cfg +0 -7
  72. data/ansible/roles/mtpereira.passenger/.gitignore +0 -2
  73. data/ansible/roles/mtpereira.passenger/LICENSE +0 -20
  74. data/ansible/roles/mtpereira.passenger/README.md +0 -31
  75. data/ansible/roles/mtpereira.passenger/defaults/main.yml +0 -5
  76. data/ansible/roles/mtpereira.passenger/handlers/main.yml +0 -8
  77. data/ansible/roles/mtpereira.passenger/meta/.galaxy_install_info +0 -1
  78. data/ansible/roles/mtpereira.passenger/meta/main.yml +0 -21
  79. data/ansible/roles/mtpereira.passenger/tasks/apt.yml +0 -13
  80. data/ansible/roles/mtpereira.passenger/tasks/main.yml +0 -8
  81. data/ansible/roles/mtpereira.passenger/tasks/pkg.yml +0 -35
  82. data/ansible/roles/mtpereira.passenger/tasks/service.yml +0 -8
  83. data/ansible/roles/passenger/files/sudoers-passenger +0 -1
  84. data/ansible/roles/passenger/meta/main.yml +0 -6
  85. data/ansible/roles/passenger/tasks/main.yml +0 -5
  86. data/ansible/roles/postgis/defaults/main.yml +0 -2
  87. data/ansible/roles/puma/defaults/main.yml +0 -5
  88. data/ansible/roles/puma/meta/main.yml +0 -5
  89. data/ansible/roles/sidekiq/meta/main.yml +0 -5
  90. data/template/provision/group_vars/all.erb +0 -17
  91. data/template/provision/group_vars/template.erb +0 -11
  92. data/template/provision/host_vars/template.erb +0 -4
  93. /data/template/{provision → subspace}/hosts.erb +0 -0
  94. /data/template/{provision/vars → subspace/secrets}/template.erb +0 -0
  95. /data/template/{provision → subspace}/templates/application.yml.template +0 -0
@@ -1,8 +0,0 @@
1
- ---
2
- - import_tasks: apt.yml
3
- tags: passenger_apt
4
- - import_tasks: pkg.yml
5
- tags: passenger_pkg
6
- - import_tasks: service.yml
7
- tags: passenger_service
8
- when: passenger_webserver != "standalone"
@@ -1,35 +0,0 @@
1
- ---
2
- - name: pkg - install apache passenger packages
3
- apt: pkg={{ item }} state={{ passenger_pkgs_state }}
4
- with_items:
5
- - libapache2-mod-passenger
6
- - apache2
7
- notify: apache restart
8
- when: passenger_webserver == "apache"
9
-
10
- - name: pkg - install nginx passenger packages
11
- apt: pkg={{ item }} state={{ passenger_pkgs_state }}
12
- with_items:
13
- - nginx-extras
14
- - passenger
15
- notify: nginx restart
16
- when: passenger_webserver == "nginx"
17
-
18
- - name: pkg - install standalone passenger packages
19
- apt: pkg={{ item }} state={{ passenger_pkgs_state }}
20
- with_items:
21
- - passenger
22
- when: passenger_webserver == "standalone"
23
-
24
- - name: pkg - fix passenger utils shebang
25
- lineinfile:
26
- dest: "{{ item }}"
27
- regexp: '^#\!/usr/bin/ruby\s*'
28
- line: "#!/usr/bin/env ruby"
29
- backrefs: yes
30
- state: present
31
- with_items:
32
- - /usr/sbin/passenger-memory-stats
33
- - /usr/sbin/passenger-status
34
- when: passenger_pkgs_fix_shebang
35
-
@@ -1,8 +0,0 @@
1
- ---
2
- - name: service - ensure apache is running
3
- service: name=apache2 state=started enabled=yes
4
- when: passenger_webserver == "apache"
5
-
6
- - name: service - ensure nginx is running
7
- service: name=nginx state=started enabled=yes
8
- when: passenger_webserver == "nginx"
@@ -1 +0,0 @@
1
- deploy ALL=(root) NOPASSWD: /usr/sbin/passenger-status
@@ -1,6 +0,0 @@
1
- ---
2
- dependencies:
3
- - {
4
- role: mtpereira.passenger,
5
- become: true
6
- }
@@ -1,5 +0,0 @@
1
- - name: Add sudoers.d file so that deploy can run passenger-status without entering password.
2
- copy:
3
- src: sudoers-passenger
4
- dest: /etc/sudoers.d/passenger
5
- become: true
@@ -1,2 +0,0 @@
1
- ---
2
- postgis_version: "2.3"
@@ -1,5 +0,0 @@
1
- ---
2
- puma_workers: 1
3
- puma_min_threads: 4
4
- puma_max_threads: 16
5
-
@@ -1,5 +0,0 @@
1
- ---
2
- dependencies:
3
- - {
4
- role: monit
5
- }
@@ -1,5 +0,0 @@
1
- ---
2
- dependencies:
3
- - {
4
- role: monit
5
- }
@@ -1,17 +0,0 @@
1
- # Conventions and defaults are defined here
2
- project_name: <%= project_name %>
3
- database_host: localhost
4
- use_sudo: true
5
-
6
- # ruby-common
7
- # pull the checksum/url from https://www.ruby-lang.org/en/downloads/
8
- ruby_version: ruby-2.7.1
9
- ruby_checksum: d418483bdd0000576c1370571121a6eb24582116db0b7bb2005e90e250eae418
10
- ruby_download_location: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.gz
11
- bundler_version: 2.1.4
12
-
13
- # Other stuff
14
- letsencrypt_email:
15
- nodejs_version: 13.x
16
- ssl_enabled: true
17
- postgresql_version: 11.7
@@ -1,11 +0,0 @@
1
- # rails
2
- rails_env: <%= @env %>
3
- # apache
4
- server_name: "{{ansible_ssh_host}}"
5
-
6
- # postgresql
7
- postgresql_authentication:
8
- - type: local
9
- user: "{{database_user}}"
10
- database: 'all'
11
- method: trust
@@ -1,4 +0,0 @@
1
- ---
2
- ansible_ssh_host: change-me
3
- ansible_ssh_user: ubuntu
4
- hostname: <%= @hostname %>
File without changes