elastic_beans 0.10.0.alpha8 → 0.10.0.alpha9

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: 843741dfe28731c105f2cff03af109344d6a9f73
4
- data.tar.gz: 71f309179d84ab04bc50b1bf8eee1dd04d0dd349
3
+ metadata.gz: 6bf87e14e7101b7ffb8f974a6ba2fd64b36304ae
4
+ data.tar.gz: db065ea1e6727b6fa2203947afa3f8a29d32ec2e
5
5
  SHA512:
6
- metadata.gz: 850f886ad6834f9af32a6145e9806ee3d8abb422b500b017d59d31cb799265934851cf0d59ee29764ae410a835a30665d338047633155ca738db04240f441d14
7
- data.tar.gz: 120afffc8bcab1a865cb5cb50eec609aed620c6acd21b144839d2b93ecb6fe52a58f6fc0e67dc60bdb00ca5d9115f3f482ad3a9a04b6cbac2a2a5e41c31a74ac
6
+ metadata.gz: 414cbf0c9e97668e9b3dc15b444e14610fe1e95c26f916d2a856dfb74afb1318e62be9d849cd76ffc9b213fbee3dd340fd0c940feeb5bde6aa1f895a4135b44f
7
+ data.tar.gz: 83b295ffc45704d6c8e1af5ed0c8318156f076a01b2d990c179b5106978ae5ad44c59725143a7c6e7b7b83612912faa177bc76fc5ce0ec4deeea024a8a71829f
@@ -19,6 +19,7 @@ class ElasticBeans::CLI < Thor
19
19
  option :database_url, aliases: %w(-d), desc: "The DATABASE_URL for the Rails application"
20
20
  option :image_id, aliases: %w(-i), desc: "A custom AMI to use instead of the default Ruby Elastic Beanstalk AMI"
21
21
  option :instance_type, aliases: %w(-t), desc: "A default instance type to use for all environments instead of c4.large"
22
+ option :internal, type: :boolean, desc: "Configure the webserver to only be available for internal VPC access"
22
23
  option :keypair, aliases: %w(-k), desc: "Required on first run. The EC2 keypair to use for Elastic Beanstalk instances"
23
24
  option :public_key, aliases: %w(-p), desc: "For end-to-end encryption. The public key of the SSL certificate the ELB will verify to communicate with your Rails app"
24
25
  option :secret_key_base, aliases: %w(-b), desc: "The SECRET_KEY_BASE for the Rails application"
@@ -29,6 +30,7 @@ class ElasticBeans::CLI < Thor
29
30
  database_url: options[:database_url],
30
31
  image_id: options[:image_id],
31
32
  instance_type: options[:instance_type],
33
+ internal: options[:internal],
32
34
  keypair: options[:keypair],
33
35
  public_key: options[:public_key],
34
36
  secret_key_base: options[:secret_key_base],
@@ -19,6 +19,7 @@ Requires AWS credentials to be set in the environment, i.e. AWS_ACCESS_KEY_ID an
19
19
  database_url:,
20
20
  image_id:,
21
21
  instance_type:,
22
+ internal:,
22
23
  keypair:,
23
24
  public_key:,
24
25
  secret_key_base:,
@@ -32,6 +33,7 @@ Requires AWS credentials to be set in the environment, i.e. AWS_ACCESS_KEY_ID an
32
33
  @database_url = database_url
33
34
  @image_id = image_id
34
35
  @instance_type = instance_type
36
+ @internal = internal
35
37
  @keypair = keypair
36
38
  @public_key = public_key
37
39
  @secret_key_base = secret_key_base
@@ -82,6 +84,7 @@ Requires AWS credentials to be set in the environment, i.e. AWS_ACCESS_KEY_ID an
82
84
  secret_key_base: secret_key_base,
83
85
  image_id: image_id,
84
86
  instance_type: instance_type,
87
+ internal: internal,
85
88
  keypair: keypair,
86
89
  iam: iam,
87
90
  public_key: public_key,
@@ -178,6 +181,7 @@ Requires AWS credentials to be set in the environment, i.e. AWS_ACCESS_KEY_ID an
178
181
  :database_url,
179
182
  :image_id,
180
183
  :instance_type,
184
+ :internal,
181
185
  :keypair,
182
186
  :network,
183
187
  :public_key,
@@ -13,7 +13,7 @@ module ElasticBeans
13
13
 
14
14
  # Constructs the configuration for the webserver environment.
15
15
  # All arguments are required on first run.
16
- def build_option_settings(network: nil, public_key: nil, ssl_certificate_arn: nil, **_)
16
+ def build_option_settings(network: nil, public_key: nil, ssl_certificate_arn: nil, internal: nil, **_)
17
17
  public_key_policy_names_setting = template_option_setting(namespace: "aws:elb:policies:backendencryption", option_name: "PublicKeyPolicyNames", default: "backendkey")
18
18
  public_key_setting = template_option_setting(namespace: "aws:elb:policies:#{public_key_policy_names_setting[:value]}", option_name: "PublicKey", override: public_key)
19
19
  ssl_certificate_setting = template_option_setting(namespace: "aws:elb:listener:443", option_name: "SSLCertificateId", override: ssl_certificate_arn)
@@ -21,7 +21,7 @@ module ElasticBeans
21
21
  raise NoEncryptionSettingsError
22
22
  end
23
23
 
24
- super + [
24
+ option_settings = [
25
25
  template_option_setting(namespace: "aws:elasticbeanstalk:application", option_name: "Application Healthcheck URL", default: "HTTPS:443/", allow_blank: false),
26
26
  template_option_setting(namespace: "aws:elasticbeanstalk:application:environment", option_name: "RAILS_SKIP_ASSET_COMPILATION", default: "false"),
27
27
  template_option_setting(namespace: "aws:elasticbeanstalk:application:environment", option_name: "RAILS_SKIP_MIGRATIONS", default: "false"),
@@ -36,6 +36,12 @@ module ElasticBeans
36
36
  public_key_setting,
37
37
  ssl_certificate_setting,
38
38
  ]
39
+ if internal
40
+ internal_setting = template_option_setting(namespace: "aws:ec2:vpc", option_name: "ELBScheme", override: "internal")
41
+ option_settings << internal_setting
42
+ end
43
+
44
+ super + option_settings
39
45
  end
40
46
 
41
47
  def elb_security_groups(network)
@@ -1,3 +1,3 @@
1
1
  module ElasticBeans
2
- VERSION = "0.10.0.alpha8"
2
+ VERSION = "0.10.0.alpha9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elastic_beans
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.alpha8
4
+ version: 0.10.0.alpha9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Stegman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-27 00:00:00.000000000 Z
11
+ date: 2017-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk