smps 0.5.4 → 1.0.1

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
  SHA256:
3
- metadata.gz: d28b459006110169081af4ffa0bbf3602cd87ec18bec0c3090f61a83031e4118
4
- data.tar.gz: 516d0b9783c8ea2a5c4685be3240cf0526d69e9a88b79bb8121c59786e1319d6
3
+ metadata.gz: 1f96c8e9ae3647f188be9954b4329d83225dc9f304d210db4ee814054b7ad637
4
+ data.tar.gz: b950c5a34727aa05eb1fafa79b84ebf75ecac4c85f607186238fc851667bcfa6
5
5
  SHA512:
6
- metadata.gz: ac4b56d53277286c7ee4e5662bbc21f58ada8330263acfa9fdd574c443b37fb6825d662e4daa6c3d3e8dfdd2e2b4757aab16a91f233cc366a07687ccd41fe16c
7
- data.tar.gz: 679c488a2b926beea73ffb4c6e58c76eff6ca36f14b4994a879f66f66e69ceb0385fd6e221eccba7f354cf93a7a3da3068bb676108d7828dac87f507f342e661
6
+ metadata.gz: 5de9fd79a6fb9aa583b279c4022093f9cba3e3a75862f3b473ca6a423221b608d88fa1e385780f651b849b5d18acb7d20956b24268b07e89ec8e0b8db53550d5
7
+ data.tar.gz: 461c7551bb6ad0ee04befd9867ef3a233e42578d878addd63ca42c79b43206556bfcf1a369500bd3e910ae3247e855fd87572d7598f57d9d5f940b3dbc5f888c
data/README.md CHANGED
@@ -4,7 +4,9 @@ A command line tool and library to interact with the Amazon System Manager Param
4
4
 
5
5
  ## Installation
6
6
 
7
- $ gem install smps
7
+ ```bash
8
+ gem install smps
9
+ ```
8
10
 
9
11
  ## Usage
10
12
 
@@ -18,20 +20,19 @@ gem 'smps'
18
20
 
19
21
  And then execute:
20
22
 
21
- $ bundle
23
+ ```bash
24
+ bundle
25
+ ```
22
26
 
23
27
  ### CLI
24
28
 
25
- After installation, 2 executable scripts will be installed: `smps` & `smps-cli`:
26
-
27
- - smps: the simple version of this utility.
28
- - smps-cli: The thor cli executable offers a different interface.
29
+ After installation the `smps` executable will be available.
29
30
 
30
31
  #### smps
31
32
 
32
33
  Run the command with `--help` for more information.
33
34
 
34
- ```
35
+ ```text
35
36
  smps [OPTION]
36
37
 
37
38
  -h, --help:
@@ -61,83 +62,58 @@ smps [OPTION]
61
62
  Debug level.
62
63
  ```
63
64
 
64
- #### smps-cli
65
+ ## Development
65
66
 
66
- The smps-cli command is a new cli with more straightforward actions.
67
+ After checking out the repo, install dependencies.
67
68
 
68
- Run the command with `help` for more information: `smps-cli help`. For each individual action,
69
- you can also use `smps-cli help <action>`
69
+ ```bash
70
+ ./bin/setup
71
+ ```
70
72
 
71
- ##### help
73
+ Then run the tests.
72
74
 
73
- ```
74
- Commands:
75
- smps-cli get NAME # Get path or path indicated by the name
76
- smps-cli help [COMMAND] # Describe available commands or one s...
77
- smps-cli set NAME VALUE --type=TYPE # Set the parameter to this value
78
-
79
- Options:
80
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
81
- [--region=REGION] # Override the aws region
82
- [--debug=N] # AwsSession debug level.
83
- # Default: 0
84
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
75
+ ```bash
76
+ bundle exec rake spec
85
77
  ```
86
78
 
87
- ##### get NAME
79
+ To install this gem onto your local machine.
88
80
 
89
- ```
90
- Usage:
91
- smps-cli get NAME
92
-
93
- Options:
94
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
95
- [--region=REGION] # Override the aws region
96
- [--debug=N] # AwsSession debug level.
97
- # Default: 0
98
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
99
-
100
- Description:
101
- Gets a value from the parameter store.
81
+ ```bash
82
+ bundle exec rake install
102
83
  ```
103
84
 
104
- ##### set NAME VALUE
85
+ To create a package that can be installed on a different machine.
105
86
 
106
- ```
107
- Usage:
108
- smps-cli set NAME VALUE --type=TYPE
109
-
110
- Options:
111
- --type=TYPE
112
- # Default: String
113
- [--key=ARN] # KMS key for SecureString encryption/decryption
114
- [--role=PROFILE] # IAM profile/role to use. From ~/.aws/config
115
- [--region=REGION] # Override the aws region
116
- [--debug=N] # AwsSession debug level.
117
- # Default: 0
118
- [--user-data], [--no-user-data] # Retrieve the name or path, and the key values from the userdata
119
-
120
- Set the parameter to this value
87
+ ```bash
88
+ bundle exec rake build
121
89
  ```
122
90
 
123
- ## Development
91
+ This will create a `.gem` file in the `pkg` directory.
124
92
 
125
- After checking out the repo, run `./bin/setup` to install dependencies. Then, run `bundle exec rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
93
+ To release a new version, update the version number in `version.rb` and then run
126
94
 
127
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
95
+ ```bash
96
+ bundle exec rake release
97
+ ```
128
98
 
129
- To test the `smps` utility on your local machine, run `bundle exec smps --help` to see command-line options.
99
+ This will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
100
+
101
+ To test the `smps` utility on your local machine, run the command below to see command-line options.
102
+
103
+ ```bash
104
+ bundle exec smps --help
105
+ ```
130
106
 
131
107
  ## Contributing
132
108
 
133
109
  We use git flow in this project. To create your pull request, you can either use the git-flow helper or
134
110
  manually create a new feature branch and pull request.
135
111
 
136
- 1. Fork it ( https://github.com/vrtdev/smps/fork )
112
+ 1. Fork it ( <https://github.com/vrtdev/smps/fork> )
137
113
  2. Clone your forked repository.
138
114
  3. Create your feature branch (`git checkout -b feature/my-new-feature`)
139
115
  4. Commit your changes (`git commit -am 'Add some feature'`)
140
116
  5. Push to the branch (`git push origin feature/my-new-feature`)
141
117
  6. Create a new Pull Request. Remember to make the pull request against the `develop` branch.
142
118
 
143
- Bug reports and pull requests are welcome on GitHub at https://github.com/vrtdev/smps.
119
+ Bug reports and pull requests are welcome on GitHub at <https://github.com/vrtdev/smps>.
data/changelog.md CHANGED
@@ -5,6 +5,24 @@ Version format based on http://semver.org/
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.0.1] - 2024-12-17
9
+
10
+ ### Changed
11
+
12
+ - Update dependencies.
13
+
14
+ ## [1.0.0] - 2024-12-16
15
+
16
+ ### Removed
17
+
18
+ - Removed Thor CLI version.
19
+
20
+ ## [0.5.5] - 2024-12-16
21
+
22
+ ### Changed
23
+
24
+ - Added automatic discovery of instance type. EC2 Vs ECS.
25
+
8
26
  ## [0.5.4] - 2021-09-17
9
27
 
10
28
  ### Changed
data/lib/smps/aws.rb CHANGED
@@ -9,15 +9,24 @@ module SmPs
9
9
  # Some helpers to setup and interact with various aws services.
10
10
  module AwsHelpers
11
11
  SSM_PARAMETER_TYPES = %w[String StringList SecureString].freeze
12
- DEFAULT_USERDATA_URI = 'http://169.254.169.254/latest/user-data'
13
12
 
14
- def aws_region
15
- @aws_region ||= initialize_aws_region
13
+ def instance_type
14
+ @instance_type ||= initialize_instance_type
16
15
  end
17
16
 
18
- def retrieve_from_userdata(key, userdata_type = :auto, source = DEFAULT_USERDATA_URI)
19
- userdata = user_data(source, userdata_type)
20
- userdata[key]
17
+ def initialize_instance_type
18
+ i_type = nil
19
+ if ENV['ECS_CONTAINER_METADATA_URI_V4']
20
+ i_type = 'ecs'
21
+ else
22
+ get_resource('http://169.254.169.254/latest')
23
+ i_type = 'ec2'
24
+ end
25
+ i_type
26
+ end
27
+
28
+ def aws_region
29
+ @aws_region ||= initialize_aws_region
21
30
  end
22
31
 
23
32
  def user_data(source, type = :auto)
@@ -83,6 +92,20 @@ module SmPs
83
92
  end
84
93
 
85
94
  def initialize_aws_region
95
+ if instance_type == 'ecs'
96
+ return initialize_ecs_aws_region
97
+ elsif instance_type == 'ec2'
98
+ return initialize_ec2_aws_region
99
+ end
100
+ end
101
+
102
+ def initialize_ecs_aws_region
103
+ url = ENV['ECS_CONTAINER_METADATA_URI_V4']
104
+ c_arn = JSON.parse(get_resource(url))['ContainerARN']
105
+ c_arn.split(':')[3]
106
+ end
107
+
108
+ def initialize_ec2_aws_region
86
109
  url = 'http://169.254.169.254/latest/dynamic/instance-identity/document'
87
110
  JSON.parse(get_resource(url))['region']
88
111
  end
data/lib/smps/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SmPs
4
4
  # Current version.
5
- VERSION = '0.5.4'
5
+ VERSION = '1.0.1'
6
6
  end
metadata CHANGED
@@ -1,19 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan - Zipkid - Goethals
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-03 00:00:00.000000000 Z
11
+ date: 2024-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
17
20
  - - ">"
18
21
  - !ruby/object:Gem::Version
19
22
  version: '3.0'
@@ -21,6 +24,9 @@ dependencies:
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
24
30
  - - ">"
25
31
  - !ruby/object:Gem::Version
26
32
  version: '3.0'
@@ -28,6 +34,9 @@ dependencies:
28
34
  name: aws-sdk-ssm
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.0'
31
40
  - - ">"
32
41
  - !ruby/object:Gem::Version
33
42
  version: '1.0'
@@ -35,6 +44,9 @@ dependencies:
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.0'
38
50
  - - ">"
39
51
  - !ruby/object:Gem::Version
40
52
  version: '1.0'
@@ -75,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
87
  - !ruby/object:Gem::Version
76
88
  version: '0'
77
89
  requirements: []
78
- rubygems_version: 3.1.6
90
+ rubygems_version: 3.4.21
79
91
  signing_key:
80
92
  specification_version: 4
81
93
  summary: SMPS - Systems Manager Parameter Store