elastic_beans 0.10.0.alpha8 → 0.10.0.alpha9

Sign up to get free protection for your applications and to get access to all the features.
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