chef-handler-datadog 0.15.0 → 0.16.0

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: 6c32c1f06c76260e05badf2dedfee051408ae3100d190f8dab77dabd7f296876
4
- data.tar.gz: 80a715b2910eb6ff4aefd6a12c341fd2984ce76890741432b9d78b256649a797
3
+ metadata.gz: b564629a20463c8b47f9680c0aac99cdbf9fa13f1b2fb6bdd266d5b3be55eca4
4
+ data.tar.gz: 23e22b75aa0954ee7a74e55ef8c242aff7a2c8a8bb8ff0a4408ca8b4db827b7a
5
5
  SHA512:
6
- metadata.gz: edc1cae87e010dbd41869d6b81228e25ee8c16a632dcc28ccd94860d98e02f4964a32afda0d25ec4aa89d9fd3a55bf409570811e3509fe57e72cb6425ba2e65d
7
- data.tar.gz: c622db9bbb874330be12384645f319b882011dfcb93c264c000a49a5e3ed260bd7599c27938c591bc71c29c50c5cf28babbe6872fe44de70e482330956dc8037
6
+ metadata.gz: f53a539a2c3645e100ea5726118415e4d87322b38ed6e61799c1cf6f1e8c67b3e6889a1f472130ff1134fdcef00e6fcdc5a4bfe0579e12c0108e13a2990f1f9d
7
+ data.tar.gz: 4dd08458e3406d300d79c4deccd1afb7ec29853761ffca6004bb541ddbaf329b944a79040a5dc0eefd0c4188e3ecc573dbf05fdb51012e9b8186a649a1e3e804
data/.circleci/config.yml CHANGED
@@ -1,158 +1,224 @@
1
- version: 2
1
+ version: 2.1
2
+
3
+ executors:
4
+ ruby-executor:
5
+ docker:
6
+ - image: cimg/ruby:<< parameters.ruby-version >>
7
+ parameters:
8
+ ruby-version:
9
+ type: string
10
+
2
11
  jobs:
3
- ### Chef 12.0
4
- specs-ruby23-chef-120: &specs
5
- machine: true
12
+ test:
13
+ parameters:
14
+ ruby-version:
15
+ type: string
16
+ chef-version:
17
+ type: string
18
+ bundler-version:
19
+ type: string
20
+ default: ""
21
+ executor:
22
+ name: ruby-executor
23
+ ruby-version: << parameters.ruby-version >>
6
24
  environment:
7
25
  API_KEY: somefakeapikey
8
26
  APPLICATION_KEY: somefakeapplicationkey
9
- CHEF_VERSION: '12.0'
10
- RUBY_VERSION: '2.3.8'
27
+ CHEF_VERSION: << parameters.chef-version >>
11
28
  steps:
12
29
  - checkout
13
- - run:
14
- name: Install Ruby versions
15
- command: rvm install $RUBY_VERSION
16
30
  - run:
17
31
  name: Install bundler
18
- command: rvm $RUBY_VERSION --verbose do gem install bundler:1.17.3
32
+ command: |
33
+ if [ -n "<< parameters.bundler-version >>" ]; then
34
+ gem install bundler -v "<< parameters.bundler-version >>"
35
+ else
36
+ gem install bundler
37
+ fi
19
38
  - run:
20
39
  name: Install gem dependencies
21
- command: rm Gemfile.lock && rvm $RUBY_VERSION --verbose do bundle install --path .bundle
40
+ command: bundle install
41
+ - run:
42
+ name: Run RuboCop
43
+ command: bundle exec rake cops || true
22
44
  - run:
23
45
  name: Run tests
24
- command: rvm $RUBY_VERSION --verbose do bundle exec rake
25
-
26
- specs-ruby24-chef-120:
27
- <<: *specs
28
- environment:
29
- API_KEY: somefakeapikey
30
- APPLICATION_KEY: somefakeapplicationkey
31
- CHEF_VERSION: '12.0'
32
- RUBY_VERSION: '2.4.9'
33
-
34
- specs-ruby25-chef-120:
35
- <<: *specs
36
- environment:
37
- API_KEY: somefakeapikey
38
- APPLICATION_KEY: somefakeapplicationkey
39
- CHEF_VERSION: '12.0'
40
- RUBY_VERSION: '2.5.1'
41
-
42
- ### Chef 12.7
43
- specs-ruby23-chef-127:
44
- <<: *specs
45
- environment:
46
- API_KEY: somefakeapikey
47
- APPLICATION_KEY: somefakeapplicationkey
48
- CHEF_VERSION: '12.7.0'
49
- RUBY_VERSION: '2.3.8'
50
-
51
- specs-ruby24-chef-127:
52
- <<: *specs
53
- environment:
54
- API_KEY: somefakeapikey
55
- APPLICATION_KEY: somefakeapplicationkey
56
- CHEF_VERSION: '12.7.0'
57
- RUBY_VERSION: '2.4.9'
58
-
59
- specs-ruby25-chef-127:
60
- <<: *specs
61
- environment:
62
- API_KEY: somefakeapikey
63
- APPLICATION_KEY: somefakeapplicationkey
64
- CHEF_VERSION: '12.7.0'
65
- RUBY_VERSION: '2.5.1'
66
-
67
- ### Chef 13
68
- specs-ruby23-chef-130:
69
- <<: *specs
70
- environment:
71
- API_KEY: somefakeapikey
72
- APPLICATION_KEY: somefakeapplicationkey
73
- CHEF_VERSION: '13.0'
74
- RUBY_VERSION: '2.3.8'
75
-
76
- specs-ruby24-chef-130:
77
- <<: *specs
78
- environment:
79
- API_KEY: somefakeapikey
80
- APPLICATION_KEY: somefakeapplicationkey
81
- CHEF_VERSION: '13.0'
82
- RUBY_VERSION: '2.4.9'
83
-
84
- specs-ruby25-chef-130:
85
- <<: *specs
86
- environment:
87
- API_KEY: somefakeapikey
88
- APPLICATION_KEY: somefakeapplicationkey
89
- CHEF_VERSION: '13.0'
90
- RUBY_VERSION: '2.5.1'
91
-
92
- ### Chef 14
93
- # Chef 14 depends on ruby >= 2.4
94
- #
95
- # specs-ruby23-chef-140:
96
- # <<: *specs
97
- # environment:
98
- # API_KEY: somefakeapikey
99
- # APPLICATION_KEY: somefakeapplicationkey
100
- # CHEF_VERSION: '14.0'
101
- # RUBY_VERSION: '2.3.8'
102
-
103
- specs-ruby24-chef-140:
104
- <<: *specs
105
- environment:
106
- API_KEY: somefakeapikey
107
- APPLICATION_KEY: somefakeapplicationkey
108
- CHEF_VERSION: '14.0'
109
- RUBY_VERSION: '2.4.9'
110
-
111
- specs-ruby25-chef-140:
112
- <<: *specs
113
- environment:
114
- API_KEY: somefakeapikey
115
- APPLICATION_KEY: somefakeapplicationkey
116
- CHEF_VERSION: '14.0'
117
- RUBY_VERSION: '2.5.1'
118
-
119
- verify-gemfile.lock-dependencies:
120
- machine: true
46
+ command: bundle exec rspec
47
+
48
+ test-appraisals:
49
+ parameters:
50
+ chef-version:
51
+ type: string
52
+ ruby-version:
53
+ type: string
54
+ bundler-version:
55
+ type: string
56
+ default: ""
57
+ executor:
58
+ name: ruby-executor
59
+ ruby-version: << parameters.ruby-version >>
121
60
  environment:
122
61
  API_KEY: somefakeapikey
123
62
  APPLICATION_KEY: somefakeapplicationkey
124
- RUBY_VERSION: '2.5.1'
63
+ # Set CHEF_VERSION so the main Gemfile resolves with a compatible Chef version
64
+ # for the initial bundle install. The appraisal gemfiles handle the actual test version.
65
+ CHEF_VERSION: << parameters.chef-version >>.0
125
66
  steps:
126
67
  - checkout
127
- - run:
128
- name: Install Ruby versions
129
- command: rvm install $RUBY_VERSION
130
68
  - run:
131
69
  name: Install bundler
132
- command: rvm $RUBY_VERSION --verbose do gem install bundler:1.17.3
70
+ command: |
71
+ if [ -n "<< parameters.bundler-version >>" ]; then
72
+ gem install bundler -v "<< parameters.bundler-version >>"
73
+ else
74
+ gem install bundler
75
+ fi
133
76
  - run:
134
77
  name: Install gem dependencies
135
- command: rvm $RUBY_VERSION --verbose do bundle install --path .bundle
78
+ command: bundle install
136
79
  - run:
137
- name: Run tests
138
- command: rvm $RUBY_VERSION --verbose do bundle exec rake
80
+ name: Install appraisal dependencies
81
+ command: bundle exec appraisal chef-<< parameters.chef-version >> bundle install
82
+ - run:
83
+ name: Run tests with appraisal
84
+ command: bundle exec appraisal chef-<< parameters.chef-version >> rspec
139
85
 
140
86
  workflows:
141
87
  version: 2
142
88
  build_and_test:
143
89
  jobs:
144
- - specs-ruby23-chef-120
145
- - specs-ruby24-chef-120
146
- - specs-ruby25-chef-120
147
-
148
- - specs-ruby23-chef-127
149
- - specs-ruby24-chef-127
150
- - specs-ruby25-chef-127
151
-
152
- - specs-ruby23-chef-130
153
- - specs-ruby24-chef-130
154
- - specs-ruby25-chef-130
155
-
156
- - specs-ruby24-chef-140
157
- - specs-ruby25-chef-140
158
- - verify-gemfile.lock-dependencies
90
+ # Chef 12 (Ruby 2.1 - 2.3)
91
+ # The oldest available Ruby image in CircleCI is 2.4.
92
+ - test:
93
+ name: test-ruby24-chef12
94
+ ruby-version: "2.4"
95
+ chef-version: "12.0"
96
+ bundler-version: "2.3.27"
97
+
98
+ # Chef 13 (Ruby 2.3 - 2.5)
99
+ - test:
100
+ name: test-ruby24-chef13
101
+ ruby-version: "2.4"
102
+ chef-version: "13.0"
103
+ bundler-version: "2.3.27"
104
+ - test:
105
+ name: test-ruby25-chef13
106
+ ruby-version: "2.5"
107
+ chef-version: "13.0"
108
+ bundler-version: "2.3.27"
109
+
110
+ # Chef 14 (Ruby 2.5 - 2.6)
111
+ - test:
112
+ name: test-ruby25-chef14
113
+ ruby-version: "2.5"
114
+ chef-version: "14.0"
115
+ bundler-version: "2.3.27"
116
+ - test:
117
+ name: test-ruby26-chef14
118
+ ruby-version: "2.6"
119
+ chef-version: "14.0"
120
+ bundler-version: "2.3.27"
121
+
122
+ # Chef 15 (Ruby 2.5 - 2.7)
123
+ - test:
124
+ name: test-ruby25-chef15
125
+ ruby-version: "2.5"
126
+ chef-version: "15.0"
127
+ bundler-version: "2.3.27"
128
+ - test:
129
+ name: test-ruby26-chef15
130
+ ruby-version: "2.6"
131
+ chef-version: "15.0"
132
+ bundler-version: "2.3.27"
133
+ - test:
134
+ name: test-ruby27-chef15
135
+ ruby-version: "2.7"
136
+ chef-version: "15.0"
137
+ bundler-version: "2.3.27"
138
+
139
+ # Chef 16 (Ruby 2.6 - 2.7)
140
+ - test:
141
+ name: test-ruby26-chef16
142
+ ruby-version: "2.6"
143
+ chef-version: "16.0"
144
+ bundler-version: "2.3.27"
145
+ - test:
146
+ name: test-ruby27-chef16
147
+ ruby-version: "2.7"
148
+ chef-version: "16.0"
149
+ bundler-version: "2.3.27"
150
+
151
+ # Chef 17 (Ruby 2.7 - 3.3)
152
+ - test:
153
+ name: test-ruby27-chef17
154
+ ruby-version: "2.7"
155
+ chef-version: "17.0"
156
+ bundler-version: "2.3.27"
157
+ - test:
158
+ name: test-ruby30-chef17
159
+ ruby-version: "3.0"
160
+ chef-version: "17.0"
161
+ bundler-version: "2.3.27"
162
+ - test:
163
+ name: test-ruby31-chef17
164
+ ruby-version: "3.1"
165
+ chef-version: "17.0"
166
+ bundler-version: "2.3.27"
167
+ - test:
168
+ name: test-ruby32-chef17
169
+ ruby-version: "3.2"
170
+ chef-version: "17.0"
171
+ - test:
172
+ name: test-ruby33-chef17
173
+ ruby-version: "3.3"
174
+ chef-version: "17.0"
175
+
176
+ # Chef 18 (Ruby 3.1 - 3.3)
177
+ - test:
178
+ name: test-ruby31-chef18
179
+ ruby-version: "3.1"
180
+ chef-version: "18.0"
181
+ bundler-version: "2.3.27"
182
+ - test:
183
+ name: test-ruby32-chef18
184
+ ruby-version: "3.2"
185
+ chef-version: "18.0"
186
+ - test:
187
+ name: test-ruby33-chef18
188
+ ruby-version: "3.3"
189
+ chef-version: "18.0"
190
+
191
+ # Appraisals tests
192
+ - test-appraisals:
193
+ name: appraisals-chef12
194
+ chef-version: "12"
195
+ ruby-version: "2.4"
196
+ bundler-version: "2.3.27"
197
+ - test-appraisals:
198
+ name: appraisals-chef13
199
+ chef-version: "13"
200
+ ruby-version: "2.5"
201
+ bundler-version: "2.3.27"
202
+ - test-appraisals:
203
+ name: appraisals-chef14
204
+ chef-version: "14"
205
+ ruby-version: "2.6"
206
+ bundler-version: "2.3.27"
207
+ - test-appraisals:
208
+ name: appraisals-chef15
209
+ chef-version: "15"
210
+ ruby-version: "2.7"
211
+ bundler-version: "2.3.27"
212
+ - test-appraisals:
213
+ name: appraisals-chef16
214
+ chef-version: "16"
215
+ ruby-version: "2.7"
216
+ bundler-version: "2.3.27"
217
+ - test-appraisals:
218
+ name: appraisals-chef17
219
+ chef-version: "17"
220
+ ruby-version: "3.2"
221
+ - test-appraisals:
222
+ name: appraisals-chef18
223
+ chef-version: "18"
224
+ ruby-version: "3.2"
@@ -0,0 +1 @@
1
+ * @Datadog/telemetry-onboarding
@@ -0,0 +1,48 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ # The branches below must be a subset of the branches above
8
+ branches: [ master ]
9
+
10
+ permissions: {}
11
+
12
+ jobs:
13
+ analyze:
14
+ name: Analyze
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ actions: read
18
+ contents: read
19
+ security-events: write
20
+
21
+ strategy:
22
+ fail-fast: false
23
+ matrix:
24
+ language: [ 'ruby' ]
25
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
26
+ # Learn more about CodeQL language support at https://git.io/codeql-language-support
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
31
+
32
+ # Initializes the CodeQL tools for scanning.
33
+ - name: Initialize CodeQL
34
+ uses: github/codeql-action/init@45580472a5bb82c4681c4ac726cfdb60060c2ee1 # v3.32.4
35
+ with:
36
+ languages: ${{ matrix.language }}
37
+ # If you wish to specify custom queries, you can do so here or in a config file.
38
+ # By default, queries listed here will override any specified in a config file.
39
+ # Prefix the list here with "+" to use these queries and those in the config file.
40
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
41
+
42
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
43
+ # If this step fails, then you should remove it and run the build manually
44
+ - name: Autobuild
45
+ uses: github/codeql-action/autobuild@45580472a5bb82c4681c4ac726cfdb60060c2ee1 # v3.32.4
46
+
47
+ - name: Perform CodeQL Analysis
48
+ uses: github/codeql-action/analyze@45580472a5bb82c4681c4ac726cfdb60060c2ee1 # v3.32.4
data/.rubocop.yml CHANGED
@@ -1,4 +1,6 @@
1
1
  AllCops:
2
+ NewCops: enable
3
+ SuggestExtensions: false
2
4
  Include:
3
5
  - chef-handler-datadog.gemspec
4
6
  - '**/Appraisals'
@@ -13,9 +15,19 @@ AllCops:
13
15
  Gemspec/RequiredRubyVersion:
14
16
  Enabled: false
15
17
 
18
+ # Disable new opinionated cops that don't fit this project's conventions
19
+ Gemspec/DevelopmentDependencies:
20
+ Enabled: false
21
+
22
+ Gemspec/RequireMFA:
23
+ Enabled: false
24
+
25
+ Gemspec/DeprecatedAttributeAssignment:
26
+ Enabled: false
27
+
16
28
  # 80 characters is a nice goal, but not worth currently changing in existing
17
29
  # code for the sake of changing it to conform to a length set in 1928 (IBM).
18
- Metrics/LineLength:
30
+ Layout/LineLength:
19
31
  Max: 150
20
32
 
21
33
  #####
data/Appraisals CHANGED
@@ -1,8 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Latest release of mainline Chef versions here.
4
- %w[12 12.7 13 14].each do |tv|
4
+ %w[12 13 14 15 16 17 18].each do |tv|
5
5
  appraise "chef-#{tv}" do
6
- gem 'chef', "~> #{tv}"
6
+ # Chef 16: force >= 16.5 because bundler's resolver settles on 16.0.x otherwise,
7
+ # and chef-utils < 16.5 lacks dsl/default_paths needed by mixlib-shellout >= 3.1
8
+ if tv == '16'
9
+ gem 'chef', '>= 16.5', '< 17'
10
+ else
11
+ gem 'chef', "~> #{tv}"
12
+ end
7
13
  end
8
14
  end
data/CHANGELOG.md CHANGED
@@ -1,6 +1,22 @@
1
1
  Changes
2
2
  =======
3
3
 
4
+ # 0.16.0 / 2026-02-18
5
+
6
+ * [MISC] Update dependencies and version compatibility [#148][]
7
+ * [MISC] Remove agent-delivery from CODEOWNERS [#147][]
8
+ * [MISC] Pin GitHub Actions to specific SHA versions for enhanced security [#145][]
9
+ * [MISC] Transfer ownership to container-ecosystems [#144][]
10
+ * [MISC] Reduce workflow token permission [#143][]
11
+ * [MISC] Updates barx to agent-delivery in codeowners [#142][]
12
+ * [MISC] Update CODEOWNERS [#141][]
13
+ * [MISC] Fix CI [#140][]
14
+ * [MISC] Add CODEOWNERS [AP-2367] [#139][]
15
+ * [MISC] Upgrade CodeQL Github Action to v2 [#137][]
16
+ * [MISC] Use https instead of http to download dependencies [#136][]
17
+ * [MISC] Bump rack from 2.2.3 to 2.2.4 [#135][]
18
+ * [MISC] Setting up codescanning for chef-handler-datadog [#134][]
19
+
4
20
  # 0.15.0 / 2020-12-10
5
21
 
6
22
  * [FEATURE] Allow skipping SSL verification [#130][]
@@ -158,6 +174,19 @@ And all other versions were prior to this. See git history for more.
158
174
  [#123]: https://github.com/DataDog/chef-handler-datadog/issues/123
159
175
  [#124]: https://github.com/DataDog/chef-handler-datadog/issues/124
160
176
  [#130]: https://github.com/DataDog/chef-handler-datadog/issues/130
177
+ [#134]: https://github.com/DataDog/chef-handler-datadog/issues/134
178
+ [#135]: https://github.com/DataDog/chef-handler-datadog/issues/135
179
+ [#136]: https://github.com/DataDog/chef-handler-datadog/issues/136
180
+ [#137]: https://github.com/DataDog/chef-handler-datadog/issues/137
181
+ [#139]: https://github.com/DataDog/chef-handler-datadog/issues/139
182
+ [#140]: https://github.com/DataDog/chef-handler-datadog/issues/140
183
+ [#141]: https://github.com/DataDog/chef-handler-datadog/issues/141
184
+ [#142]: https://github.com/DataDog/chef-handler-datadog/issues/142
185
+ [#143]: https://github.com/DataDog/chef-handler-datadog/issues/143
186
+ [#144]: https://github.com/DataDog/chef-handler-datadog/issues/144
187
+ [#145]: https://github.com/DataDog/chef-handler-datadog/issues/145
188
+ [#147]: https://github.com/DataDog/chef-handler-datadog/issues/147
189
+ [#148]: https://github.com/DataDog/chef-handler-datadog/issues/148
161
190
  [@ABrehm264]: https://github.com/ABrehm264
162
191
  [@Azoam]: https://github.com/Azoam
163
192
  [@DanielMuller]: https://github.com/DanielMuller
data/CONTRIBUTING.md CHANGED
@@ -17,6 +17,12 @@ If you'd like to run the test suite, fix a bug or add a feature, please follow t
17
17
  Running the test suite will _not_ make calls to Datadog for existing tests, see `spec/support/cassettes/` for more.
18
18
 
19
19
  * Run `rake` to execute tests, ensure they pass
20
+ * To test with a specific Chef version, use: `CHEF_VERSION=18.0 bundle install && bundle exec rspec`
21
+ * To test with all supported Chef versions using Appraisal:
22
+ * Generate appraisal gemfiles: `bundle exec appraisal generate`
23
+ * Install dependencies: `bundle exec appraisal install`
24
+ * Run tests for all versions: `bundle exec appraisal rspec`
25
+ * Run tests for a specific version: `bundle exec appraisal chef-18 rspec`
20
26
  * Commit and push until you are happy with your contribution
21
27
  * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
22
28
  * Please try not to mess with the `Rakefile`, version, or history.
data/Gemfile CHANGED
@@ -1,15 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'http://rubygems.org'
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in chef-handler-datadog.gemspec
6
6
  gemspec
7
7
 
8
+ # Only include chef directly when not running under Appraisal
9
+ # (Appraisal manages the chef version via generated gemfiles)
10
+ unless ENV['APPRAISAL_INITIALIZED']
11
+ chef_version = ENV.fetch('CHEF_VERSION', '18.0')
12
+
13
+ # Chef 16: force >= 16.5 because bundler's resolver settles on 16.0.x otherwise,
14
+ # and chef-utils < 16.5 lacks dsl/default_paths needed by mixlib-shellout >= 3.1
15
+ if chef_version.start_with?('16')
16
+ gem 'chef', '>= 16.5', '< 17'
17
+ else
18
+ gem 'chef', "~> #{chef_version}"
19
+ end
20
+
21
+ # mixlib-shellout >= 3.1 requires chef-utils/dsl/default_paths which doesn't exist in chef-utils bundled with Chef < 16
22
+ gem 'mixlib-shellout', '< 3.1' if Gem::Version.new(chef_version) < Gem::Version.new('16.0')
23
+ end
24
+
8
25
  group :localdev do
9
- gem 'chef', "~> #{ENV.fetch('CHEF_VERSION', '15.0')}"
10
26
  gem 'guard'
11
27
  gem 'guard-rspec'
12
- gem 'guard-rubocop'
13
28
  gem 'pry'
14
29
  gem 'terminal-notifier-guard'
15
30
  gem 'travis-lint'