convox_installer 1.0.8 → 3.0.0

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.
@@ -0,0 +1,73 @@
1
+ # AWS provider version is 3.33.0
2
+ # https://registry.terraform.io/providers/hashicorp/aws/3.33.0
3
+
4
+ provider "aws" {
5
+ region = "<%= config[:aws_region] %>"
6
+ }
7
+
8
+ resource "aws_kms_key" "docs_kms_key" {
9
+ description = "This key is used to encrypt objects in the DocSpring S3 bucket"
10
+ deletion_window_in_days = 14
11
+ }
12
+
13
+ # Later versions of aws provider (e.g. 4.8.0) use separate resources for
14
+ # aws_s3_bucket_acl and aws_s3_bucket_cors_configuration.
15
+ # This will need to be updated in the future.
16
+ resource "aws_s3_bucket" "docs_s3_bucket" {
17
+ bucket = "<%= config.fetch(:stack_name) %>-<%= config.fetch(:s3_bucket_name) %>"
18
+ acl = "private"
19
+
20
+ server_side_encryption_configuration {
21
+ rule {
22
+ apply_server_side_encryption_by_default {
23
+ kms_master_key_id = aws_kms_key.docs_kms_key.arn
24
+ sse_algorithm = "aws:kms"
25
+ }
26
+ }
27
+ }
28
+
29
+ <%= config[:s3_bucket_cors_rule] %>
30
+ }
31
+
32
+ resource "aws_iam_user" "docspring_s3_user" {
33
+ name = "<%= config.fetch(:stack_name) %>-<%= config.fetch(:s3_bucket_name) %>"
34
+ }
35
+
36
+ resource "aws_iam_access_key" "docspring_user_access_key" {
37
+ user = aws_iam_user.docspring_s3_user.name
38
+ }
39
+
40
+ resource "aws_iam_user_policy" "docspring_user_s3_policy" {
41
+ name = "docspring_user_s3_policy"
42
+ user = aws_iam_user.docspring_s3_user.name
43
+
44
+ policy = jsonencode({
45
+ "Version": "2012-10-17",
46
+ "Statement": [
47
+ {
48
+ "Effect": "Allow",
49
+ "Action": [
50
+ "s3:PutObject",
51
+ "s3:PutObjectAcl",
52
+ "s3:GetObject",
53
+ "s3:GetObjectAcl",
54
+ "s3:DeleteObject"
55
+ ],
56
+ "Resource": [
57
+ "arn:aws:s3:::<%= config.fetch(:stack_name) %>-<%= config.fetch(:s3_bucket_name) %>/*",
58
+ ]
59
+ },
60
+ {
61
+ "Effect": "Allow",
62
+ "Action": [
63
+ "kms:Encrypt",
64
+ "kms:Decrypt",
65
+ "kms:ReEncrypt*",
66
+ "kms:GenerateDataKey*",
67
+ "kms:DescribeKey"
68
+ ],
69
+ "Resource": "*"
70
+ }
71
+ ]
72
+ })
73
+ }
metadata CHANGED
@@ -1,85 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convox_installer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Form Applications Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-12 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: highline
14
+ name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.7.10
19
+ version: 5.2.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.7.10
26
+ version: 5.2.3
27
27
  - !ruby/object:Gem::Dependency
28
- name: json
28
+ name: highline
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.2.0
33
+ version: 1.7.10
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 2.2.0
40
+ version: 1.7.10
41
41
  - !ruby/object:Gem::Dependency
42
- name: os
42
+ name: httparty
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.1
47
+ version: 0.17.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.1
54
+ version: 0.17.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: httparty
56
+ name: json
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.17.0
61
+ version: 2.2.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 0.17.0
68
+ version: 2.2.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: activesupport
70
+ name: os
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 5.2.3
75
+ version: 1.0.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 5.2.3
82
+ version: 1.0.1
83
83
  description: Build a Convox installation workflow
84
84
  email:
85
85
  - support@formapi.io
@@ -109,10 +109,14 @@ files:
109
109
  - spec/lib/convox_installer/config_spec.rb
110
110
  - spec/lib/convox_installer/requirements_spec.rb
111
111
  - spec/spec_helper.rb
112
+ - terraform/elasticache.tf.erb
113
+ - terraform/rds.tf.erb
114
+ - terraform/s3_bucket.tf.erb
112
115
  homepage: https://github.com/FormAPI/convox_installer
113
116
  licenses:
114
117
  - MIT
115
- metadata: {}
118
+ metadata:
119
+ rubygems_mfa_required: 'true'
116
120
  post_install_message:
117
121
  rdoc_options: []
118
122
  require_paths:
@@ -121,7 +125,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
125
  requirements:
122
126
  - - ">="
123
127
  - !ruby/object:Gem::Version
124
- version: '2.3'
128
+ version: '2.5'
125
129
  required_rubygems_version: !ruby/object:Gem::Requirement
126
130
  requirements:
127
131
  - - ">="