firespring_dev_commands 1.4.3.pre.alpha.2 → 1.4.3.pre.alpha.4

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
  SHA256:
3
- metadata.gz: 6202dfc1befb402bba5013a33cc9fb85181aa1ba704eed0cae6b1fc1a1a14a89
4
- data.tar.gz: 5a83b16623b5f0d0ebb822dcd4bf3bc4a171b349a76c7e53a489c346a50e920e
3
+ metadata.gz: b5a2a68e769de13d686aaeddfd1b056908c24bd0fad7d0f3062b2c1d82596682
4
+ data.tar.gz: affdf4ccd12f20844b85299d9aa83f103c8e899dfede6756d391667f9c09416d
5
5
  SHA512:
6
- metadata.gz: ee53711a91212ce350041b15b338230bd1ca7c314fc165b154ee73e3997329194184dea206b6ebfe222672e2705e1de9a625c3628bc14a2c15ec20a7d9cb24f7
7
- data.tar.gz: 79fe039edb3293f8b5dd4a507d8d4639b34964c1e58614497517c5d37631bc8e0e6a6f6f7af8aa9166f569ca627be54941571e07c621ad45ac2a9f75f0d78f80
6
+ metadata.gz: b545465c7312f6264ddcb7b9216491d533dfe40fae93d9eb0ffa0b7e7fbf6517084a802e0f18ef18e23e67c6ad1e7802dafa0e099a2560e43d6b3398225f8849
7
+ data.tar.gz: e7e74cf01825dc67a40548a193a98e1c9bb1c0db09ec21a3c75d82d3631817da0bd95cb97bd2f84cda8af606401ab66565e0d62bbb9fb1c8863bba1223f81e22
data/README.md CHANGED
@@ -11,7 +11,7 @@ gem 'firespring_dev_commands', '~> 0.0.1'
11
11
  * This is not common
12
12
  * It is mostly used for testing local changes before the gem is released
13
13
  ```
14
- gem 'firespring_dev_commands', path: '/path/to/firespring/dev-commands-ruby'
14
+ gem 'firespring_dev_commands', path: '/path/to/dev_commands'
15
15
  ```
16
16
 
17
17
  * Add the following to your Rakefile
@@ -3,11 +3,8 @@ module Dev
3
3
  # Class containing useful methods for interacting with the Aws account
4
4
  class Account
5
5
  # Config object for setting top level Aws account config options
6
-
7
- # TODO: Can we add a "login_to_account_registry?
8
- # TODO: And then add additional_registries?
9
-
10
- Config = Struct.new(:root, :children, :default, :registry, :registries)
6
+ # TODO: registry is deprecated and should be removed on the next major release
7
+ Config = Struct.new(:root, :children, :default, :registry, :ecr_registry_ids, :login_to_account_ecr_registry)
11
8
 
12
9
  # Instantiates a new top level config object if one hasn't already been created
13
10
  # Yields that config object to any given block
@@ -26,7 +23,8 @@ module Dev
26
23
  # The name of the file containing the Aws settings
27
24
  CONFIG_FILE = "#{Dev::Aws::CONFIG_DIR}/config".freeze
28
25
 
29
- attr_accessor :root, :children, :default, :registry, :registries
26
+ # TODO: registry is deprecated and should be removed on the next major release
27
+ attr_accessor :root, :children, :default, :registry, :ecr_registry_ids
30
28
 
31
29
  # Instantiate an account object
32
30
  # Requires that root account and at least one child account have been configured
@@ -39,7 +37,13 @@ module Dev
39
37
  @root = self.class.config.root
40
38
  @children = self.class.config.children
41
39
  @default = self.class.config.default
42
- @registries = (Array(self.class.config.registries) << self.class.config.registry).compact.uniq
40
+
41
+ # Create the ecr registry list based off several possible configuration values
42
+ @ecr_registry_ids = [self.class.config.registry]
43
+ @ecr_registry_ids << Dev::Aws::Profile.new.current if self.class.config.login_to_account_ecr_registry
44
+ @ecr_registry_ids.concat(Array(self.class.config.ecr_registry_ids))
45
+ @ecr_registry_ids = @ecr_registry_ids.flatten.compact.reject(&:empty?).uniq
46
+ @registry = @ecr_registry_ids.first
43
47
  end
44
48
 
45
49
  # Returns all configured account information objects
@@ -77,7 +81,7 @@ module Dev
77
81
  region_default = defaultini['region'] || ENV['AWS_DEFAULT_REGION'] || Dev::Aws::DEFAULT_REGION
78
82
  defaultini['region'] = Dev::Common.new.ask('Default region name', region_default)
79
83
 
80
- mfa_default = defaultini['mfa_serial'] || ENV['AWS_MFA_ARN'] || "arn:aws:iam::#{root}:mfa/#{ENV.fetch('USERNAME', nil)}"
84
+ mfa_default = defaultini['mfa_serial'] || ENV['AWS_MFA_ARN'] || "arn:aws:iam::#{root.id}:mfa/#{ENV.fetch('USERNAME', nil)}"
81
85
  defaultini['mfa_serial'] = Dev::Common.new.ask('Default mfa arn', mfa_default)
82
86
 
83
87
  session_name_default = defaultini['role_session_name'] || "#{ENV.fetch('USERNAME', nil)}_cli"
@@ -67,7 +67,7 @@ module Dev
67
67
 
68
68
  # Authroizes the docker cli to pull/push images from the Aws container registry (e.g. if docker compose needs to pull an image)
69
69
  # Authroizes the docker ruby library to pull/push images from the Aws container registry
70
- def registry_logins!(registry_ids: Dev::Aws::Account.new.registries, region: Dev::Aws::DEFAULT_REGION)
70
+ def registry_logins!(registry_ids: Dev::Aws::Account.new.ecr_registry_ids, region: Dev::Aws::DEFAULT_REGION)
71
71
  return if registry_ids.empty?
72
72
 
73
73
  puts
@@ -77,7 +77,7 @@ module Dev
77
77
 
78
78
  # Authroizes the docker cli to pull/push images from the Aws container registry (e.g. if docker compose needs to pull an image)
79
79
  # Authroizes the docker ruby library to pull/push images from the Aws container registry
80
- def registry_login!(registry_id: Dev::Aws::Account.new.registries, region: Dev::Aws::DEFAULT_REGION)
80
+ def registry_login!(registry_id: Dev::Aws::Account.new.ecr_registry_ids.first, region: Dev::Aws::DEFAULT_REGION)
81
81
  raise 'registry_id is required' if registry_id.to_s.strip.empty?
82
82
  raise 'region is required' if region.to_s.strip.empty?
83
83
 
@@ -92,7 +92,7 @@ module Dev
92
92
  # Authroizes the docker cli to pull/push images from the Aws container registry
93
93
  # (e.g. if docker compose needs to pull an image)
94
94
  # @deprecated Please use {Dev::Aws::Login#registry_login!} instead
95
- def docker_login!(registry_id: Dev::Aws::Account.new.registry, region: Dev::Aws::DEFAULT_REGION)
95
+ def docker_login!(registry_id: Dev::Aws::Account.new.ecr_registry_ids.first, region: Dev::Aws::DEFAULT_REGION)
96
96
  warn '[DEPRECATION] `Dev::Aws::Login#docker_login!` is deprecated. Please use `Dev::Aws::Login#registry_login!` instead.'
97
97
  docker_cli_login!(registry: "#{registry_id}.dkr.ecr.#{region}.amazonaws.com", region: region)
98
98
  puts
@@ -110,7 +110,7 @@ module Dev
110
110
 
111
111
  # Authroizes the docker ruby library to pull/push images from the Aws container registry
112
112
  # @deprecated Please use {Dev::Aws::Login#registry_login!} instead
113
- def ecr_login!(registry_id: Dev::Aws::Account.new.registry, region: Dev::Aws::DEFAULT_REGION)
113
+ def ecr_login!(registry_id: Dev::Aws::Account.new.ecr_registry_ids.first, region: Dev::Aws::DEFAULT_REGION)
114
114
  warn '[DEPRECATION] `Dev::Aws::Login#ecr_login!` is deprecated. Please use `Dev::Aws::Login#registry_login!` instead.'
115
115
  docker_lib_login!(registry_id: registry_id, region: region)
116
116
  end
@@ -6,6 +6,6 @@ module Dev
6
6
  # Use 'v.v.v.pre.alpha.v' for pre-release vesions
7
7
  # Use 'v.v.v.beta.v for beta versions
8
8
  # Use semantic versioning for any releases (https://semver.org/)
9
- VERSION = '1.4.3.pre.alpha.2'.freeze
9
+ VERSION = '1.4.3.pre.alpha.4'.freeze
10
10
  end
11
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firespring_dev_commands
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.3.pre.alpha.2
4
+ version: 1.4.3.pre.alpha.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Firespring