broadside 3.0.4 → 3.0.5

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: 6d889d2cb5a3c7d2600fcb7cf3b678e2e5bd8856
4
- data.tar.gz: 4bd0afa8288e64a363e033a3d8e82818481333e2
3
+ metadata.gz: a3e0d92c4b8e8a5079c5a3008c16c2986fe00862
4
+ data.tar.gz: 70c9df295003bc04c67ac64ed9acd1809aee14cd
5
5
  SHA512:
6
- metadata.gz: df142f92284556a150dfa89f121a6b350f7450077e663f7112afa7727a97cd5a05ff5d5ff12d26d5b6c65d7ca8cf941fd695899e6dcf16ab59097ff32baf43d7
7
- data.tar.gz: b726f0bc5e645e6fad7af0d1eee95dbbc257eb91ebb608cc181f6938011322b4d6ec35dc0639d2456d1e69bebd036649d93f7e27bd0d19e57e35c78f7587d265
6
+ metadata.gz: 46d9466884ee07ffd715ff753e04aefb1361bf807dbd0d31a1f6aa7ae96d8deb1cc65066c6f1394ee1384b4fa456cf4ca8f18965564505d5f75626292f9f0507
7
+ data.tar.gz: 5414a05c469f5c7014f834406658fe3ff7a53400cf9d0b01d2b3f14af43513c732769f95adce490cf37095069cf1d9ca7adc321e329774f440435986ec42ee5a
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A [GLI](https://github.com/davetron5000/gli) based command-line tool for deploying applications on [AWS EC2 Container Service (ECS)](https://aws.amazon.com/ecs/)
4
4
 
5
+ ### [The wiki](https://github.com/lumoslabs/broadside/wiki) has all kinds of useful information on it so don't just rely on this README.
6
+
5
7
  ## Overview
6
8
  Amazon ECS presents a low barrier to entry for production-level docker applications. Combined with ECS's built-in blue-green deployment, Elastic Load Balancers, Autoscale Groups, and CloudWatch, one can theoretically set up a robust cluster that can scale to serve any number of applications in a short amount of time. The ECS GUI, CLI, overall architecture are not the easiest to work with, however, so Broadside seeks to leverage the [ECS ruby API](http://docs.aws.amazon.com/sdkforruby/api/Aws/ECS.html) to dramatically simplify and improve the configuration and deployment process for developers, offering a simple command line interface and configuration format that should meet most needs.
7
9
 
@@ -102,4 +104,15 @@ For full application setup, see the [detailed instructions in the wiki](https://
102
104
  Use the `--debug` switch to enable stacktraces and debug output.
103
105
 
104
106
  ## Contributing
105
- Pull requests, bug reports, and feature suggestions are welcome! Before starting on a contribution, we recommend opening an issue or replying to an existing one to give others some initial context on the work needing to be done.
107
+ Pull requests, bug reports, and feature suggestions are welcome!
108
+
109
+ Before starting on a contribution, we recommend opening an issue or replying to an existing one to give others some initial context on the work needing to be done.
110
+
111
+ **Specs must pass on pull requests for them to be considered.**
112
+
113
+ ### Running Specs
114
+ Broadside has a lot of tests for most of its behaviors - just run
115
+ ```
116
+ bundle exec rspec
117
+ ```
118
+ in the broadside directory. Don't open pull requests without passing specs.
@@ -152,7 +152,7 @@ module Broadside
152
152
  desired_count: scale,
153
153
  service: family,
154
154
  task_definition: task_definition_arn
155
- }.deep_merge(@target.service_config || {}))
155
+ }.deep_merge(@target.service_config_for_update || {}))
156
156
 
157
157
  unless update_service_response.successful?
158
158
  raise EcsError, "Failed to update service:\n#{update_service_response.pretty_inspect}"
@@ -44,6 +44,14 @@ module Broadside
44
44
  record.errors.add(attr, 'is not an array of strings') unless val.is_a?(Array) && val.all? { |v| v.is_a?(String) }
45
45
  end
46
46
 
47
+ CREATE_ONLY_SERVICE_ATTRIBUTES = %i(
48
+ client_token
49
+ load_balancers
50
+ placement_constraints
51
+ placement_strategy
52
+ role
53
+ ).freeze
54
+
47
55
  def initialize(name, options = {})
48
56
  @name = name
49
57
 
@@ -93,5 +101,9 @@ module Broadside
93
101
  Cluster: @cluster
94
102
  }
95
103
  end
104
+
105
+ def service_config_for_update
106
+ service_config.try(:except, *CREATE_ONLY_SERVICE_ATTRIBUTES)
107
+ end
96
108
  end
97
109
  end
@@ -1,3 +1,3 @@
1
1
  module Broadside
2
- VERSION = '3.0.4'.freeze
2
+ VERSION = '3.0.5'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: broadside
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.4
4
+ version: 3.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Leung
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-02-26 00:00:00.000000000 Z
12
+ date: 2017-03-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport