paramsync 0.1.0 → 0.1.2
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 +4 -4
- data/lib/paramsync/config.rb +11 -7
- data/lib/paramsync/sync_target.rb +6 -6
- data/lib/paramsync/version.rb +1 -1
- data/paramsync.gemspec +1 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e302b4ce8c6007e344adda3f2eb9d0d71558d01ee396153a7578e78932f6030a
|
4
|
+
data.tar.gz: b235fe18bc2cb3ea794c139d01083d6eda2890358a0dc5d663732a5069762249
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0ccc62329e46b3706534a5f984009b9148ed7f04db61bf712a6d22634aacea9fe053608ffd37d231dd1e67e9118dffbdbf6f99552ab567ca814599c6e9db770
|
7
|
+
data.tar.gz: ef910d3f01a66276886f9155acf9e0e91b66eb44f52447def65691d05b5ca324f462d93ec836ec7a37ad763a57fc612165b4408195843c5c6f64fda703f79d51
|
data/lib/paramsync/config.rb
CHANGED
@@ -131,14 +131,16 @@ class Paramsync
|
|
131
131
|
end
|
132
132
|
|
133
133
|
if raw['ssm'].has_key?('kms')
|
134
|
-
self.kms_client = Aws::KMS::Client.new(
|
134
|
+
self.kms_client = Aws::KMS::Client.new(**{
|
135
135
|
region: raw['ssm']['kms']['region'],
|
136
|
-
credentials: Aws::AssumeRoleCredentials.new(
|
136
|
+
credentials: raw['ssm']['kms']['role'] ? Aws::AssumeRoleCredentials.new(
|
137
137
|
client: Aws::STS::Client.new(region: raw['ssm']['kms']['region']),
|
138
138
|
role_arn: raw['ssm']['kms']['role'],
|
139
139
|
role_session_name: "paramsync"
|
140
|
+
) : (
|
141
|
+
raw['ssm']['kms']['profile'] ? Aws.shared_config.sso_credentials_from_config(profile: raw['ssm']['kms']['profile']) : nil
|
140
142
|
),
|
141
|
-
|
143
|
+
}.compact)
|
142
144
|
self.kms_key = raw['ssm']['kms']['arn']
|
143
145
|
end
|
144
146
|
|
@@ -151,9 +153,11 @@ class Paramsync
|
|
151
153
|
if target['delete'].nil?
|
152
154
|
target['delete'] = self.delete?
|
153
155
|
end
|
154
|
-
|
155
|
-
|
156
|
-
|
156
|
+
if target['account']
|
157
|
+
account = self.ssm_accounts[target['account']]
|
158
|
+
if account.nil?
|
159
|
+
raise Paramsync::ConfigFileInvalid.new("Account '#{target['account']}' is not defined")
|
160
|
+
end
|
157
161
|
end
|
158
162
|
end
|
159
163
|
|
@@ -165,7 +169,7 @@ class Paramsync
|
|
165
169
|
next if not self.target_allowlist.include?(target['name'])
|
166
170
|
end
|
167
171
|
|
168
|
-
self.sync_targets << Paramsync::SyncTarget.new(config: target, account
|
172
|
+
self.sync_targets << Paramsync::SyncTarget.new(config: target, account:, base_dir: self.base_dir)
|
169
173
|
end
|
170
174
|
end
|
171
175
|
end
|
@@ -5,7 +5,7 @@ class Paramsync
|
|
5
5
|
VALID_CONFIG_KEYS = %w( name type region prefix path exclude chomp delete erb_enabled account )
|
6
6
|
attr_accessor :name, :type, :region, :prefix, :path, :exclude, :erb_enabled, :account, :ssm
|
7
7
|
|
8
|
-
REQUIRED_CONFIG_KEYS = %w( prefix region
|
8
|
+
REQUIRED_CONFIG_KEYS = %w( prefix region )
|
9
9
|
VALID_TYPES = [ :dir, :file ]
|
10
10
|
DEFAULT_TYPE = :dir
|
11
11
|
|
@@ -47,14 +47,14 @@ class Paramsync
|
|
47
47
|
@do_delete = false
|
48
48
|
end
|
49
49
|
|
50
|
-
self.ssm = Aws::SSM::Client.new(
|
50
|
+
self.ssm = Aws::SSM::Client.new(**{
|
51
51
|
region: region,
|
52
|
-
credentials: Aws::AssumeRoleCredentials.new(
|
52
|
+
credentials: account['role'] ? Aws::AssumeRoleCredentials.new(
|
53
53
|
client: Aws::STS::Client.new(region: region),
|
54
|
-
role_arn: account,
|
54
|
+
role_arn: account['role'],
|
55
55
|
role_session_name: "paramsync"
|
56
|
-
),
|
57
|
-
)
|
56
|
+
) : (account['profile'] ? Aws.shared_config.sso_credentials_from_config(profile: account['profile']) : nil),
|
57
|
+
}.compact)
|
58
58
|
self.erb_enabled = config['erb_enabled']
|
59
59
|
end
|
60
60
|
|
data/lib/paramsync/version.rb
CHANGED
data/paramsync.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paramsync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Adams
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2025-09-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk-ssm
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: 1.37.0
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: diffy
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '3.2'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '3.2'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: rspec
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
110
|
- !ruby/object:Gem::Version
|
97
111
|
version: '0'
|
98
112
|
requirements: []
|
99
|
-
rubygems_version: 3.
|
113
|
+
rubygems_version: 3.3.27
|
100
114
|
signing_key:
|
101
115
|
specification_version: 4
|
102
116
|
summary: Simple filesystem-to-aws parameter store synchronization
|