subspace 2.5.10 → 3.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +12 -5
- data/README.md +57 -24
- data/UPGRADING.md +10 -0
- data/ansible/roles/common/defaults/main.yml +0 -1
- data/ansible/roles/common/files/sudoers-service +1 -1
- data/ansible/roles/common/tasks/main.yml +18 -7
- data/ansible/roles/common/tasks/no_swap.yml +26 -0
- data/ansible/roles/common/templates/motd +1 -1
- data/ansible/roles/common/templates/motd2 +1 -1
- data/ansible/roles/delayed_job/tasks/main.yml +1 -1
- data/ansible/roles/memcache/defaults/main.yml +2 -0
- data/ansible/roles/memcache/tasks/main.yml +16 -1
- data/ansible/roles/newrelic-infra/tasks/main.yml +3 -3
- data/ansible/roles/nginx/tasks/main.yml +12 -3
- data/ansible/roles/puma/tasks/main.yml +32 -20
- data/ansible/roles/puma/templates/puma-systemd.service +36 -0
- data/ansible/roles/puma/templates/puma-systemd.socket +14 -0
- data/ansible/roles/puma/templates/puma.rb +4 -2
- data/ansible/roles/rails/defaults/main.yml +0 -7
- data/ansible/roles/redis/tasks/main.yml +7 -0
- data/ansible/roles/resque/tasks/main.yml +11 -12
- data/ansible/roles/resque/templates/resque-systemd.service +10 -3
- data/ansible/roles/ruby-common/README.md +1 -1
- data/ansible/roles/ruby-common/tasks/main.yml +2 -17
- data/ansible/roles/sidekiq/defaults/main.yml +1 -1
- data/ansible/roles/sidekiq/tasks/main.yml +11 -15
- data/ansible/roles/sidekiq/templates/sidekiq-monit-rc +1 -1
- data/ansible/roles/sidekiq/templates/sidekiq-systemd.service +62 -0
- data/ansible/roles/tailscale/defaults/main.yml +2 -0
- data/ansible/roles/tailscale/tasks/main.yml +22 -0
- data/exe/subspace +1 -2
- data/lib/subspace/cli.rb +50 -14
- data/lib/subspace/commands/ansible.rb +11 -2
- data/lib/subspace/commands/base.rb +20 -5
- data/lib/subspace/commands/bootstrap.rb +16 -21
- data/lib/subspace/commands/configure.rb +2 -2
- data/lib/subspace/commands/exec.rb +20 -0
- data/lib/subspace/commands/init.rb +94 -45
- data/lib/subspace/commands/inventory.rb +45 -0
- data/lib/subspace/commands/maintain.rb +1 -1
- data/lib/subspace/commands/provision.rb +1 -3
- data/lib/subspace/commands/{vars.rb → secrets.rb} +6 -5
- data/lib/subspace/commands/ssh.rb +10 -8
- data/lib/subspace/commands/terraform.rb +83 -0
- data/lib/subspace/inventory.rb +144 -0
- data/lib/subspace/version.rb +1 -1
- data/subspace.gemspec +8 -2
- data/template/{provision → subspace}/.gitignore +3 -0
- data/template/{provision → subspace}/ansible.cfg.erb +2 -2
- data/template/subspace/group_vars/all.erb +28 -0
- data/template/subspace/group_vars/template.erb +26 -0
- data/template/subspace/inventory.yml.erb +11 -0
- data/template/{provision → subspace}/playbook.yml.erb +2 -5
- data/template/subspace/templates/authorized_keys.erb +1 -0
- data/template/subspace/terraform/.gitignore +2 -0
- data/template/subspace/terraform/template/main-oxenwagen.tf.erb +116 -0
- data/template/subspace/terraform/template/main-workhorse.tf.erb +41 -0
- data/template/subspace/terraformrc.erb +9 -0
- data/terraform/modules/s3_backend/README +2 -0
- data/terraform/modules/s3_backend/dynamodb.tf +1 -0
- data/terraform/modules/s3_backend/iam_user.tf +38 -0
- data/terraform/modules/s3_backend/main.tf +39 -0
- data/terraform/modules/s3_backend/state_bucket.tf +14 -0
- metadata +42 -53
- data/ansible/roles/monit/files/monit-http.conf +0 -3
- data/ansible/roles/monit/files/sudoers-monit +0 -1
- data/ansible/roles/monit/handlers/main.yml +0 -14
- data/ansible/roles/monit/tasks/main.yml +0 -34
- data/ansible/roles/mtpereira.passenger/.bumpversion.cfg +0 -7
- data/ansible/roles/mtpereira.passenger/.gitignore +0 -2
- data/ansible/roles/mtpereira.passenger/LICENSE +0 -20
- data/ansible/roles/mtpereira.passenger/README.md +0 -31
- data/ansible/roles/mtpereira.passenger/defaults/main.yml +0 -5
- data/ansible/roles/mtpereira.passenger/handlers/main.yml +0 -8
- data/ansible/roles/mtpereira.passenger/meta/.galaxy_install_info +0 -1
- data/ansible/roles/mtpereira.passenger/meta/main.yml +0 -21
- data/ansible/roles/mtpereira.passenger/tasks/apt.yml +0 -13
- data/ansible/roles/mtpereira.passenger/tasks/main.yml +0 -8
- data/ansible/roles/mtpereira.passenger/tasks/pkg.yml +0 -35
- data/ansible/roles/mtpereira.passenger/tasks/service.yml +0 -8
- data/ansible/roles/passenger/files/sudoers-passenger +0 -1
- data/ansible/roles/passenger/meta/main.yml +0 -6
- data/ansible/roles/passenger/tasks/main.yml +0 -5
- data/ansible/roles/postgis/defaults/main.yml +0 -2
- data/ansible/roles/puma/defaults/main.yml +0 -5
- data/ansible/roles/puma/meta/main.yml +0 -5
- data/ansible/roles/sidekiq/meta/main.yml +0 -5
- data/template/provision/group_vars/all.erb +0 -17
- data/template/provision/group_vars/template.erb +0 -11
- data/template/provision/host_vars/template.erb +0 -4
- /data/template/{provision → subspace}/hosts.erb +0 -0
- /data/template/{provision/vars → subspace/secrets}/template.erb +0 -0
- /data/template/{provision → subspace}/templates/application.yml.template +0 -0
@@ -3,19 +3,16 @@
|
|
3
3
|
become: yes
|
4
4
|
|
5
5
|
vars_files:
|
6
|
-
- ./
|
6
|
+
- ./secrets/<%= @env %>.yml
|
7
7
|
|
8
8
|
roles:
|
9
9
|
- common
|
10
|
-
- yarn
|
11
10
|
- nodejs
|
11
|
+
- yarn
|
12
12
|
- ruby-common
|
13
13
|
- rails
|
14
14
|
- puma
|
15
15
|
- letsencrypt
|
16
16
|
- nginx
|
17
17
|
- postgresql
|
18
|
-
- monit
|
19
18
|
- logrotate
|
20
|
-
- collectd
|
21
|
-
- delayed_job
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= `cat $HOME/.ssh/id_rsa.pub` %>
|
@@ -0,0 +1,116 @@
|
|
1
|
+
terraform {
|
2
|
+
# Default backend is just local.
|
3
|
+
|
4
|
+
# Uncomment to use s3
|
5
|
+
# backend "s3" {
|
6
|
+
# bucket = "subspace-backend-<%= project_name %>"
|
7
|
+
# key = "subspace.<%= @env %>.tfstate"
|
8
|
+
# region = "us-west-2"
|
9
|
+
# }
|
10
|
+
|
11
|
+
# Uncomment to use Terraform Cloud
|
12
|
+
# cloud {
|
13
|
+
# organization = "<%= project_name %>"
|
14
|
+
#
|
15
|
+
# workspaces {
|
16
|
+
# name = "<%= @env %>"
|
17
|
+
# }
|
18
|
+
# }
|
19
|
+
|
20
|
+
}
|
21
|
+
|
22
|
+
provider aws {
|
23
|
+
region = "us-west-2"
|
24
|
+
profile = "subspace-<%= project_name %>"
|
25
|
+
default_tags {
|
26
|
+
tags = {
|
27
|
+
Environment = "<%= @env %>"
|
28
|
+
Project = "<%= project_name %>"
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
variable database_password { type = string }
|
34
|
+
|
35
|
+
module oxenwagen {
|
36
|
+
source = "github.com/tenforwardconsulting/terraform-subspace-oxenwagen?ref=v2.1.0"
|
37
|
+
project_name = "<%= project_name %>"
|
38
|
+
project_environment = "<%= @env %>"
|
39
|
+
aws_region = ## "us-west-2"
|
40
|
+
lb_health_check_path = "/"
|
41
|
+
subspace_public_key = file("../../subspace.pem.pub")
|
42
|
+
|
43
|
+
# Ubuntu Server 20.04 LTS (HVM), SSD Volume Type
|
44
|
+
instance_ami = "<%= @latest_ami %>"
|
45
|
+
web_instance_type = "t3.small"
|
46
|
+
web_instance_count = 2
|
47
|
+
worker_instance_type = "t3.medium"
|
48
|
+
worker_instance_count = 1
|
49
|
+
worker_volume_size = 100
|
50
|
+
ssh_cidr_blocks = [] # Put office/local/vpn IP addresses here
|
51
|
+
|
52
|
+
database_engine = "postgres"
|
53
|
+
database_engine_version = ## "14.1"
|
54
|
+
database_instance_class = "db.t3.medium"
|
55
|
+
database_name = "<%= "#{project_name}_#{@env}" %>"
|
56
|
+
database_username = "<%= project_name %>"
|
57
|
+
database_password = var.database_password
|
58
|
+
database_allocated_storage = 100
|
59
|
+
database_max_allocated_storage = 1000
|
60
|
+
database_iops = 1000
|
61
|
+
|
62
|
+
# lb_domain_name = "www.<%= project_name %>.com"
|
63
|
+
# lb_alternate_names = []
|
64
|
+
}
|
65
|
+
|
66
|
+
output "oxenwagen" {
|
67
|
+
value = module.oxenwagen
|
68
|
+
}
|
69
|
+
|
70
|
+
resource "aws_s3_bucket" "bucket" {
|
71
|
+
bucket = "<%= "#{project_name}-#{@env}-assets" %>"
|
72
|
+
acl = "private"
|
73
|
+
}
|
74
|
+
|
75
|
+
resource "aws_s3_bucket_public_access_block" "block_public_acls" {
|
76
|
+
bucket = aws_s3_bucket.bucket.id
|
77
|
+
|
78
|
+
block_public_acls = true
|
79
|
+
block_public_policy = true
|
80
|
+
ignore_public_acls = true
|
81
|
+
restrict_public_buckets = true
|
82
|
+
}
|
83
|
+
|
84
|
+
resource "aws_iam_user" "s3_user" {
|
85
|
+
name = "<%= "#{project_name}-#{@env}-assets" %>-subspace-s3-user"
|
86
|
+
}
|
87
|
+
|
88
|
+
resource "aws_iam_user_policy" "s3-upload" {
|
89
|
+
name = "test"
|
90
|
+
user = aws_iam_user.s3_user.name
|
91
|
+
|
92
|
+
policy = <<EOF
|
93
|
+
{
|
94
|
+
"Version": "2012-10-17",
|
95
|
+
"Statement": [
|
96
|
+
{
|
97
|
+
"Action": [
|
98
|
+
"s3:PutObject",
|
99
|
+
"s3:PutObjectAcl",
|
100
|
+
"s3:GetObject",
|
101
|
+
"s3:GetObjectVersion",
|
102
|
+
"s3:GetBucketAcl",
|
103
|
+
"s3:DeleteObject",
|
104
|
+
"s3:DeleteObjectVersion"
|
105
|
+
],
|
106
|
+
"Effect": "Allow",
|
107
|
+
"Resource": [
|
108
|
+
"arn:aws:s3:::<%= "#{project_name}-#{@env}-assets" %>",
|
109
|
+
"arn:aws:s3:::<%= "#{project_name}-#{@env}-assets" %>/*"
|
110
|
+
]
|
111
|
+
}
|
112
|
+
]
|
113
|
+
}
|
114
|
+
EOF
|
115
|
+
}
|
116
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
terraform {
|
2
|
+
# Default backend is just local.
|
3
|
+
|
4
|
+
# Uncomment to use s3
|
5
|
+
# backend "s3" {
|
6
|
+
# bucket = "subspace-backend-<%= project_name %>"
|
7
|
+
# key = "subspace.<%= @env %>.tfstate"
|
8
|
+
# region = "us-west-2"
|
9
|
+
# }
|
10
|
+
|
11
|
+
# Uncomment to use Terraform Cloud
|
12
|
+
# cloud {
|
13
|
+
# organization = "<%= project_name %>"
|
14
|
+
#
|
15
|
+
# workspaces {
|
16
|
+
# name = "<%= @env %>"
|
17
|
+
# }
|
18
|
+
# }
|
19
|
+
|
20
|
+
}
|
21
|
+
|
22
|
+
module workhorse {
|
23
|
+
source = "github.com/tenforwardconsulting/terraform-subspace-workhorse?ref=v1.0.0"
|
24
|
+
project_name = "<%= project_name %>"
|
25
|
+
project_environment = "<%= @env %>"
|
26
|
+
aws_region = "us-west-2"
|
27
|
+
subspace_public_key = file("../../subspace.pem.pub")
|
28
|
+
# zone_id = "ZOJ6811VRVYBT" # 10fw.net
|
29
|
+
# subdomain = "<%= project_name.gsub("_", "-") %>"
|
30
|
+
|
31
|
+
# Ubuntu Server 20.04 LTS (HVM), SSD Volume Type
|
32
|
+
instance_ami = "ami-0f81e6e71078b75b6"
|
33
|
+
instance_user = "ubuntu"
|
34
|
+
instance_type = "t3.medium"
|
35
|
+
instance_hostname = "${var.project_environment}-app1"
|
36
|
+
instance_volume_size = 20
|
37
|
+
}
|
38
|
+
|
39
|
+
output "workhorse" {
|
40
|
+
value = module.workhorse
|
41
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
# Maybe later
|
@@ -0,0 +1,38 @@
|
|
1
|
+
resource "aws_iam_user" "ss" {
|
2
|
+
name = "subspace"
|
3
|
+
path = "/"
|
4
|
+
|
5
|
+
tags = {
|
6
|
+
Name = "Subspace IAM user"
|
7
|
+
Environment = "Global"
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
11
|
+
resource "aws_iam_access_key" "ss" {
|
12
|
+
user = aws_iam_user.ss.name
|
13
|
+
|
14
|
+
pgp_key = data.local_file.pgp_key.content_base64
|
15
|
+
}
|
16
|
+
|
17
|
+
resource "aws_iam_user_policy" "ss_s3" {
|
18
|
+
name = "ss_s3_user_policy"
|
19
|
+
user = aws_iam_user.ss.name
|
20
|
+
|
21
|
+
policy = <<EOF
|
22
|
+
{
|
23
|
+
"Version": "2012-10-17",
|
24
|
+
"Statement": [
|
25
|
+
{
|
26
|
+
"Effect": "Allow",
|
27
|
+
"Action": "s3:ListBucket",
|
28
|
+
"Resource": "arn:aws:s3:::${local.state_bucket_name}"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"Effect": "Allow",
|
32
|
+
"Action": ["s3:GetObject", "s3:PutObject"],
|
33
|
+
"Resource": "arn:aws:s3:::${local.state_bucket_name}/*"
|
34
|
+
}
|
35
|
+
]
|
36
|
+
}
|
37
|
+
EOF
|
38
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
terraform {
|
2
|
+
required_providers {
|
3
|
+
aws = {
|
4
|
+
source = "hashicorp/aws"
|
5
|
+
version = "~> 3.0"
|
6
|
+
}
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
# Variables
|
11
|
+
variable aws_region {
|
12
|
+
type = string
|
13
|
+
}
|
14
|
+
|
15
|
+
variable project_name {
|
16
|
+
type = string
|
17
|
+
}
|
18
|
+
|
19
|
+
locals {
|
20
|
+
state_bucket_name = "subspace-backend-${var.project_name}"
|
21
|
+
}
|
22
|
+
|
23
|
+
provider "aws" {
|
24
|
+
region = var.aws_region
|
25
|
+
}
|
26
|
+
|
27
|
+
data "local_file" "pgp_key" {
|
28
|
+
filename = "../public-key-binary.gpg"
|
29
|
+
}
|
30
|
+
|
31
|
+
# Outputs
|
32
|
+
|
33
|
+
output "subspace_aws_access_key_id" {
|
34
|
+
value = aws_iam_access_key.ss.id
|
35
|
+
}
|
36
|
+
|
37
|
+
output "subspace_aws_encrypted_secret_access_key" {
|
38
|
+
value = aws_iam_access_key.ss.encrypted_secret
|
39
|
+
}
|
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:
|
4
|
+
version: 3.0.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Samson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,20 +80,6 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: ed25519
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - "~>"
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '1.0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - "~>"
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '1.0'
|
97
83
|
description: WIP -- don't use this :)
|
98
84
|
email:
|
99
85
|
- brian@tenforwardconsulting.com
|
@@ -114,6 +100,7 @@ files:
|
|
114
100
|
- README.md
|
115
101
|
- Rakefile
|
116
102
|
- TODO
|
103
|
+
- UPGRADING.md
|
117
104
|
- ansible/playbooks/local_template.yml
|
118
105
|
- ansible/playbooks/maintenance_mode.yml
|
119
106
|
- ansible/roles/alienvault/tasks/main.yml
|
@@ -143,6 +130,7 @@ files:
|
|
143
130
|
- ansible/roles/common/files/sudoers-service
|
144
131
|
- ansible/roles/common/handlers/main.yml
|
145
132
|
- ansible/roles/common/tasks/main.yml
|
133
|
+
- ansible/roles/common/tasks/no_swap.yml
|
146
134
|
- ansible/roles/common/tasks/swap.yml
|
147
135
|
- ansible/roles/common/templates/motd
|
148
136
|
- ansible/roles/common/templates/motd2
|
@@ -165,23 +153,8 @@ files:
|
|
165
153
|
- ansible/roles/logrotate/meta/main.yml
|
166
154
|
- ansible/roles/logrotate/tasks/main.yml
|
167
155
|
- ansible/roles/logrotate/templates/logrotate.d.j2
|
156
|
+
- ansible/roles/memcache/defaults/main.yml
|
168
157
|
- ansible/roles/memcache/tasks/main.yml
|
169
|
-
- ansible/roles/monit/files/monit-http.conf
|
170
|
-
- ansible/roles/monit/files/sudoers-monit
|
171
|
-
- ansible/roles/monit/handlers/main.yml
|
172
|
-
- ansible/roles/monit/tasks/main.yml
|
173
|
-
- ansible/roles/mtpereira.passenger/.bumpversion.cfg
|
174
|
-
- ansible/roles/mtpereira.passenger/.gitignore
|
175
|
-
- ansible/roles/mtpereira.passenger/LICENSE
|
176
|
-
- ansible/roles/mtpereira.passenger/README.md
|
177
|
-
- ansible/roles/mtpereira.passenger/defaults/main.yml
|
178
|
-
- ansible/roles/mtpereira.passenger/handlers/main.yml
|
179
|
-
- ansible/roles/mtpereira.passenger/meta/.galaxy_install_info
|
180
|
-
- ansible/roles/mtpereira.passenger/meta/main.yml
|
181
|
-
- ansible/roles/mtpereira.passenger/tasks/apt.yml
|
182
|
-
- ansible/roles/mtpereira.passenger/tasks/main.yml
|
183
|
-
- ansible/roles/mtpereira.passenger/tasks/pkg.yml
|
184
|
-
- ansible/roles/mtpereira.passenger/tasks/service.yml
|
185
158
|
- ansible/roles/mysql/meta/main.yml
|
186
159
|
- ansible/roles/mysql/tasks/main.yml
|
187
160
|
- ansible/roles/mysql/templates/mysql_database.yml
|
@@ -209,14 +182,10 @@ files:
|
|
209
182
|
- ansible/roles/nodejs/tasks/main.yml
|
210
183
|
- ansible/roles/papertrail/tasks/main.yml
|
211
184
|
- ansible/roles/papertrail/templates/log_files.yml
|
212
|
-
- ansible/roles/passenger/files/sudoers-passenger
|
213
|
-
- ansible/roles/passenger/meta/main.yml
|
214
|
-
- ansible/roles/passenger/tasks/main.yml
|
215
185
|
- ansible/roles/postgis/.gitignore
|
216
186
|
- ansible/roles/postgis/CHANGELOG.md
|
217
187
|
- ansible/roles/postgis/LICENSE
|
218
188
|
- ansible/roles/postgis/README.md
|
219
|
-
- ansible/roles/postgis/defaults/main.yml
|
220
189
|
- ansible/roles/postgis/meta/main.yml
|
221
190
|
- ansible/roles/postgis/tasks/main.yml
|
222
191
|
- ansible/roles/postgresql-client/tasks/main.yml
|
@@ -227,11 +196,11 @@ files:
|
|
227
196
|
- ansible/roles/postgresql/tasks/backups.yml
|
228
197
|
- ansible/roles/postgresql/tasks/main.yml
|
229
198
|
- ansible/roles/postgresql/templates/backup.sh
|
230
|
-
- ansible/roles/puma/defaults/main.yml
|
231
|
-
- ansible/roles/puma/meta/main.yml
|
232
199
|
- ansible/roles/puma/tasks/main.yml
|
233
200
|
- ansible/roles/puma/templates/etc-puma.conf
|
234
201
|
- ansible/roles/puma/templates/puma-monit-rc
|
202
|
+
- ansible/roles/puma/templates/puma-systemd.service
|
203
|
+
- ansible/roles/puma/templates/puma-systemd.socket
|
235
204
|
- ansible/roles/puma/templates/puma.rb
|
236
205
|
- ansible/roles/rails/defaults/main.yml
|
237
206
|
- ansible/roles/rails/tasks/main.yml
|
@@ -252,9 +221,11 @@ files:
|
|
252
221
|
- ansible/roles/ruby-common/vars/main.yml
|
253
222
|
- ansible/roles/sidekiq/README.md
|
254
223
|
- ansible/roles/sidekiq/defaults/main.yml
|
255
|
-
- ansible/roles/sidekiq/meta/main.yml
|
256
224
|
- ansible/roles/sidekiq/tasks/main.yml
|
257
225
|
- ansible/roles/sidekiq/templates/sidekiq-monit-rc
|
226
|
+
- ansible/roles/sidekiq/templates/sidekiq-systemd.service
|
227
|
+
- ansible/roles/tailscale/defaults/main.yml
|
228
|
+
- ansible/roles/tailscale/tasks/main.yml
|
258
229
|
- ansible/roles/yarn/tasks/main.yml
|
259
230
|
- ansible/roles/zenoamaro.postgresql/.gitignore
|
260
231
|
- ansible/roles/zenoamaro.postgresql/.travis.yml
|
@@ -287,32 +258,50 @@ files:
|
|
287
258
|
- lib/subspace/commands/base.rb
|
288
259
|
- lib/subspace/commands/bootstrap.rb
|
289
260
|
- lib/subspace/commands/configure.rb
|
261
|
+
- lib/subspace/commands/exec.rb
|
290
262
|
- lib/subspace/commands/init.rb
|
263
|
+
- lib/subspace/commands/inventory.rb
|
291
264
|
- lib/subspace/commands/maintain.rb
|
292
265
|
- lib/subspace/commands/maintenance_mode.rb
|
293
266
|
- lib/subspace/commands/override.rb
|
294
267
|
- lib/subspace/commands/provision.rb
|
268
|
+
- lib/subspace/commands/secrets.rb
|
295
269
|
- lib/subspace/commands/ssh.rb
|
296
|
-
- lib/subspace/commands/
|
270
|
+
- lib/subspace/commands/terraform.rb
|
297
271
|
- lib/subspace/configuration.rb
|
272
|
+
- lib/subspace/inventory.rb
|
298
273
|
- lib/subspace/version.rb
|
299
274
|
- subspace.gemspec
|
300
275
|
- template/provision.rb.erb
|
301
|
-
- template/
|
302
|
-
- template/
|
303
|
-
- template/
|
304
|
-
- template/
|
305
|
-
- template/
|
306
|
-
- template/
|
307
|
-
- template/
|
308
|
-
- template/
|
309
|
-
- template/
|
276
|
+
- template/subspace/.gitignore
|
277
|
+
- template/subspace/ansible.cfg.erb
|
278
|
+
- template/subspace/group_vars/all.erb
|
279
|
+
- template/subspace/group_vars/template.erb
|
280
|
+
- template/subspace/hosts.erb
|
281
|
+
- template/subspace/inventory.yml.erb
|
282
|
+
- template/subspace/playbook.yml.erb
|
283
|
+
- template/subspace/secrets/template.erb
|
284
|
+
- template/subspace/templates/application.yml.template
|
285
|
+
- template/subspace/templates/authorized_keys.erb
|
286
|
+
- template/subspace/terraform/.gitignore
|
287
|
+
- template/subspace/terraform/template/main-oxenwagen.tf.erb
|
288
|
+
- template/subspace/terraform/template/main-workhorse.tf.erb
|
289
|
+
- template/subspace/terraformrc.erb
|
290
|
+
- terraform/modules/s3_backend/README
|
291
|
+
- terraform/modules/s3_backend/dynamodb.tf
|
292
|
+
- terraform/modules/s3_backend/iam_user.tf
|
293
|
+
- terraform/modules/s3_backend/main.tf
|
294
|
+
- terraform/modules/s3_backend/state_bucket.tf
|
310
295
|
homepage: https://github.com/tenforwardconsulting/subspace
|
311
296
|
licenses:
|
312
297
|
- MIT
|
313
298
|
metadata:
|
314
299
|
allowed_push_host: https://rubygems.org
|
315
|
-
post_install_message:
|
300
|
+
post_install_message: |
|
301
|
+
*** Subspace 3 has many breaking changes
|
302
|
+
Primarily, the entire configuration directory structure has moved from config/provision to config/subspace.
|
303
|
+
You will need to migrate your old configuration to the new location, or downgrade to Subspace 2 if this was not intentional.
|
304
|
+
Please review the Upgrade guide: https://github.com/tenforwardconsulting/subspace/UPGRADING.md
|
316
305
|
rdoc_options: []
|
317
306
|
require_paths:
|
318
307
|
- lib
|
@@ -323,11 +312,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
323
312
|
version: '0'
|
324
313
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
325
314
|
requirements:
|
326
|
-
- - "
|
315
|
+
- - ">"
|
327
316
|
- !ruby/object:Gem::Version
|
328
|
-
version:
|
317
|
+
version: 1.3.1
|
329
318
|
requirements: []
|
330
|
-
rubygems_version: 3.3.
|
319
|
+
rubygems_version: 3.3.18
|
331
320
|
signing_key:
|
332
321
|
specification_version: 4
|
333
322
|
summary: Ansible-based server provisioning for rails projects
|
@@ -1 +0,0 @@
|
|
1
|
-
deploy ALL=(root) NOPASSWD: /usr/bin/monit
|
@@ -1,34 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- name: Configure monit to install instead of pin
|
3
|
-
dpkg_selections:
|
4
|
-
name: monit
|
5
|
-
selection: install
|
6
|
-
become: true
|
7
|
-
tags:
|
8
|
-
- monit
|
9
|
-
|
10
|
-
- name: install monit
|
11
|
-
apt:
|
12
|
-
name: monit
|
13
|
-
state: present
|
14
|
-
become: true
|
15
|
-
tags:
|
16
|
-
- monit
|
17
|
-
|
18
|
-
- name: Copy sudoers file so that deploy can use monit without entering password.
|
19
|
-
copy:
|
20
|
-
src: sudoers-monit
|
21
|
-
dest: /etc/sudoers.d/monit
|
22
|
-
become: true
|
23
|
-
tags:
|
24
|
-
- monit
|
25
|
-
|
26
|
-
- name: Copy monit config to enable http from localhost
|
27
|
-
copy:
|
28
|
-
src: monit-http.conf
|
29
|
-
dest: /etc/monit/conf.d/monit-http.conf
|
30
|
-
become: true
|
31
|
-
notify:
|
32
|
-
- restart_monit
|
33
|
-
tags:
|
34
|
-
- monit
|
@@ -1,20 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2014 Manuel Tiago Pereira
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
-
this software and associated documentation files (the "Software"), to deal in
|
7
|
-
the Software without restriction, including without limitation the rights to
|
8
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
9
|
-
the Software, and to permit persons to whom the Software is furnished to do so,
|
10
|
-
subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
17
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
18
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Passenger
|
2
|
-
========
|
3
|
-
|
4
|
-
Installs or updates Pushion Passenger.
|
5
|
-
|
6
|
-
It will install apache, nginx or standalone modes, depending on **passenger_webserver** variable value (defaults to standalone).
|
7
|
-
|
8
|
-
In the `tests` folder, there are a set of tests for this role, that will provision a VM using Vagrant and setup a simple hello world app. To use them, `cd` into the `tests/{passenger_webserver}/` and execute `vagrant up`. At the moment, only `apache` tests are done.
|
9
|
-
|
10
|
-
Requirements
|
11
|
-
------------
|
12
|
-
|
13
|
-
Assumes that the host is ansible-ready (check **mtpereira.common** role).
|
14
|
-
|
15
|
-
Role Variables
|
16
|
-
--------------
|
17
|
-
|
18
|
-
* `passenger_webserver`: Specifies the webserver to be used by passenger. Possible values: `apache`, `nginx` and `standalone`. Defaults to `standalone`.
|
19
|
-
* `passenger_pkgs_state`: Specifies if this role will garantee that the packages are installed or installed and updated. Possible values: `installed` and `latest`. Defaults to `installed`.
|
20
|
-
|
21
|
-
License
|
22
|
-
-------
|
23
|
-
|
24
|
-
MIT
|
25
|
-
|
26
|
-
Author Information
|
27
|
-
------------------
|
28
|
-
|
29
|
-
[GitHub project page](https://github.com/mtpereira/ansible-passenger)
|
30
|
-
|
31
|
-
[Manuel Tiago Pereira](http://mtpereira.github.io)
|
@@ -1 +0,0 @@
|
|
1
|
-
{install_date: 'Mon Jan 2 18:15:18 2017', version: 1.0.2}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
---
|
2
|
-
galaxy_info:
|
3
|
-
author: Manuel Tiago Pereira
|
4
|
-
description: Installs Phusion Passenger.
|
5
|
-
license: MIT
|
6
|
-
min_ansible_version: 1.4
|
7
|
-
platforms:
|
8
|
-
- name: Debian
|
9
|
-
versions:
|
10
|
-
- wheezy
|
11
|
-
- jessie
|
12
|
-
- name: Ubuntu
|
13
|
-
versions:
|
14
|
-
- lucid
|
15
|
-
- precise
|
16
|
-
- saucy
|
17
|
-
- trusty
|
18
|
-
categories:
|
19
|
-
- web
|
20
|
-
dependencies: []
|
21
|
-
|
@@ -1,13 +0,0 @@
|
|
1
|
-
---
|
2
|
-
- name: apt - add key for passenger repos
|
3
|
-
apt_key: url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x561F9B9CAC40B2F7 id=AC40B2F7 state=present
|
4
|
-
|
5
|
-
- name: apt - add support for https
|
6
|
-
apt: pkg={{ item }} state={{ passenger_pkgs_state }} update_cache=yes cache_valid_time=3600
|
7
|
-
with_items:
|
8
|
-
- apt-transport-https
|
9
|
-
- ca-certificates
|
10
|
-
|
11
|
-
- name: apt - add passenger repo
|
12
|
-
apt_repository: repo='deb https://oss-binaries.phusionpassenger.com/apt/passenger {{ ansible_lsb.codename }} main' state=present update_cache=yes
|
13
|
-
|