train-k8s-container-mitre 2.0.1 → 2.0.3

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: af608609f892f66f0f7210823ce896919a01be49eacf9181be6b5ec451ad6e7f
4
- data.tar.gz: 81f951dba94aca48878c00208baaada55af3e2f4b7fc614d48f23c85dc47cd84
3
+ metadata.gz: 6aef3c36a97fd15eb144078a356e94c15711cad2ce7f267fd76a68d2d96043ef
4
+ data.tar.gz: fb7929665b4f7cac1d057f6277ca86defa5f28511a040fac38aff31b4adf762c
5
5
  SHA512:
6
- metadata.gz: 85ca8fb769a50ea96f91276822e171cbfdf2b43cc7debcbf4c2a5699953a6ec024535b50c0d7a9cd94f8511dd167e8168f7262fb23fb3a2f6f4811abfff7b8e5
7
- data.tar.gz: d71d192ea3808b3879d78b44a3e292c516d8e70298ce012c97567605d8e059dbfb64948ee17d1d05da7e30885ac5115ee6d88e8ebdd6b85bed83eef1b80ec976
6
+ metadata.gz: 1625625532721a6da204352a46e4ee65168c21b68a9ef03bb660613fa78a03acded5d370ad1ac6ab63f6fb5faad79d3c6db7fd1cc915715c5e503b16f6b611cb
7
+ data.tar.gz: fea6a3be4230ee420687fd5d116145eba00b8693d9706dfed4581253ee56cb0410b45ee8359090b7c1daba67964155a388999f817425b145ff9db369737e2ddd
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "2.0.1"
2
+ ".": "2.0.3"
3
3
  }
data/CHANGELOG.md CHANGED
@@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.3](https://github.com/mitre/train-k8s-container/compare/v2.0.2...v2.0.3) (2025-12-12)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Remove duplicate tests from release workflow ([dc9080a](https://github.com/mitre/train-k8s-container/commit/dc9080a48be97cc4c2c4526628d1697636fbe879))
14
+ * Use PAT for release-please to trigger CI on PRs ([725a1e3](https://github.com/mitre/train-k8s-container/commit/725a1e359425ca3df6ee2347906935c15fd34de0))
15
+
16
+ ## [2.0.2](https://github.com/mitre/train-k8s-container/compare/v2.0.1...v2.0.2) (2025-12-12)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * Add post-install warning for correct plugin installation ([832e1c3](https://github.com/mitre/train-k8s-container/commit/832e1c36920d59e51ca34fce786fea4749fc4fc4))
22
+ * Configure release-please to use simple v* tags ([aefc7ba](https://github.com/mitre/train-k8s-container/commit/aefc7baa4f86608dcfe91479491b150850989d43))
23
+
24
+
25
+ ### Documentation
26
+
27
+ * Update CHANGELOG for v2.0.1 release ([2237873](https://github.com/mitre/train-k8s-container/commit/2237873cc5142f48ca416242f985be0f41550e4d))
28
+ * Update installation instructions and add post-install warning ([8649575](https://github.com/mitre/train-k8s-container/commit/86495758a6794ae00505e50391f109442487d72a))
29
+ * Update release process documentation for release-please ([a9f4fd3](https://github.com/mitre/train-k8s-container/commit/a9f4fd3ce1da48557aa3442d62ca97ab983b3d21))
30
+
31
+ ## [2.0.1] - 2025-12-05
32
+
33
+ ### Fixed
34
+
35
+ - Add shim file for train-k8s-container-mitre gem name compatibility
36
+ - Reset version tracking for release-please integration
37
+
38
+ ### Miscellaneous Tasks
39
+
40
+ - Add release-please for automated versioning and changelog
41
+ - Bump version to 2.0.1 for first MITRE RubyGems release
42
+
8
43
  ## [2.0.0] - 2025-12-05
9
44
 
10
45
  ### Added
data/CONTRIBUTING.md CHANGED
@@ -137,12 +137,58 @@ open coverage/index.html
137
137
 
138
138
  ## Release Process
139
139
 
140
- Releases are managed by project maintainers:
140
+ Releases are automated using [release-please](https://github.com/googleapis/release-please) and managed by project maintainers.
141
141
 
142
- 1. Version bump in `VERSION` file
143
- 2. Update `CHANGELOG.md`
144
- 3. Create release tag (e.g., `v2.0.0`)
145
- 4. GitHub Actions automatically publishes to RubyGems.org
142
+ ### How It Works
143
+
144
+ 1. **Commit with Conventional Commits**: Use prefixes like `feat:`, `fix:`, `docs:`, `chore:`
145
+ - `feat:` triggers a minor version bump (e.g., 2.0.0 → 2.1.0)
146
+ - `fix:` triggers a patch version bump (e.g., 2.0.0 → 2.0.1)
147
+ - `feat!:` or `BREAKING CHANGE:` triggers a major version bump
148
+
149
+ 2. **Release PR Created Automatically**: When commits are pushed to `main`, release-please creates/updates a Release PR that:
150
+ - Bumps the version in `VERSION` file
151
+ - Updates `CHANGELOG.md` with commit messages
152
+ - Shows the proposed version change
153
+
154
+ 3. **Merge to Release**: When maintainers merge the Release PR:
155
+ - A git tag is created (e.g., `v2.1.0`)
156
+ - GitHub Actions builds and publishes the gem to RubyGems.org
157
+ - A GitHub Release is created with auto-generated notes
158
+
159
+ ### Example Workflow
160
+
161
+ ```bash
162
+ # Make changes with conventional commit messages
163
+ git commit -m "feat: add support for Windows containers"
164
+ git push origin main
165
+
166
+ # release-please automatically creates a PR like:
167
+ # "chore(main): release 2.1.0"
168
+
169
+ # After review, maintainer merges the PR
170
+ # → Tag v2.1.0 is created
171
+ # → Gem is published to RubyGems.org
172
+ ```
173
+
174
+ ### Manual Releases (Emergency Only)
175
+
176
+ For hotfixes that need immediate release without waiting for release-please:
177
+
178
+ ```bash
179
+ # Update VERSION manually
180
+ echo "2.0.2" > VERSION
181
+
182
+ # Update CHANGELOG.md manually
183
+
184
+ # Commit, tag, and push
185
+ git add VERSION CHANGELOG.md
186
+ git commit -m "chore: release v2.0.2"
187
+ git tag v2.0.2
188
+ git push origin main --tags
189
+ ```
190
+
191
+ **Note:** Manual releases should be rare. Prefer the automated release-please flow.
146
192
 
147
193
  ## Getting Help
148
194
 
data/DEVELOPMENT.md CHANGED
@@ -295,21 +295,59 @@ See `.github/workflows/ci.yml` for details.
295
295
 
296
296
  ## Releasing
297
297
 
298
- Releases are automated via GitHub Actions when a tag is pushed:
298
+ Releases are automated using [release-please](https://github.com/googleapis/release-please).
299
+
300
+ ### Automated Release Process (Recommended)
301
+
302
+ 1. **Make commits using Conventional Commits format**:
303
+ ```bash
304
+ git commit -m "feat: add Windows container support"
305
+ git commit -m "fix: handle empty shell response"
306
+ git commit -m "docs: update installation instructions"
307
+ ```
308
+
309
+ 2. **Push to main** - release-please will automatically create a Release PR:
310
+ ```bash
311
+ git push origin main
312
+ # release-please creates PR: "chore(main): release 2.1.0"
313
+ ```
314
+
315
+ 3. **Review and merge the Release PR** - this triggers:
316
+ - Version bump in `VERSION` file
317
+ - `CHANGELOG.md` update
318
+ - Git tag creation (e.g., `v2.1.0`)
319
+ - Gem build and publish to RubyGems.org
320
+ - GitHub Release creation
321
+
322
+ ### Conventional Commits Cheat Sheet
323
+
324
+ | Prefix | Version Bump | Example |
325
+ |--------|-------------|---------|
326
+ | `feat:` | Minor (2.0.0 → 2.1.0) | `feat: add retry logic` |
327
+ | `fix:` | Patch (2.0.0 → 2.0.1) | `fix: handle nil response` |
328
+ | `docs:` | Patch | `docs: update README` |
329
+ | `chore:` | Patch | `chore: update dependencies` |
330
+ | `feat!:` | Major (2.0.0 → 3.0.0) | `feat!: change URI format` |
331
+
332
+ ### Manual Release (Emergency Only)
333
+
334
+ For hotfixes that can't wait for the release-please flow:
299
335
 
300
336
  ```bash
301
337
  # Update VERSION file
302
- echo "2.1.0" > VERSION
338
+ echo "2.0.2" > VERSION
339
+
340
+ # Update CHANGELOG.md manually
303
341
 
304
342
  # Commit and tag
305
343
  git add VERSION CHANGELOG.md
306
- git commit -m "Release v2.1.0"
307
- git tag v2.1.0
344
+ git commit -m "chore: release v2.0.2"
345
+ git tag v2.0.2
308
346
  git push origin main --tags
309
347
  ```
310
348
 
311
- The `release-tag.yml` workflow will:
349
+ The `release-tag.yml` workflow triggers on tag push and will:
312
350
  1. Run tests
313
351
  2. Build gem
314
- 3. Publish to RubyGems.org
352
+ 3. Publish to RubyGems.org (via OIDC trusted publishing)
315
353
  4. Create GitHub release
data/README.md CHANGED
@@ -26,12 +26,14 @@ This plugin allows InSpec/Cinc Auditor to scan containers running in Kubernetes
26
26
 
27
27
  ### From RubyGems (Recommended)
28
28
 
29
+ **Important:** Always install Train plugins using `inspec plugin install` or `cinc-auditor plugin install`. Do NOT use `gem install` directly, as this can cause issues with plugin discovery and management.
30
+
29
31
  ```bash
30
32
  # Using Cinc Auditor (recommended - open source, license-free)
31
- cinc-auditor plugin install train-k8s-container
33
+ cinc-auditor plugin install train-k8s-container-mitre
32
34
 
33
35
  # Or using Chef InSpec
34
- inspec plugin install train-k8s-container
36
+ inspec plugin install train-k8s-container-mitre
35
37
  ```
36
38
 
37
39
  ### From Source
@@ -40,7 +42,7 @@ inspec plugin install train-k8s-container
40
42
  git clone https://github.com/mitre/train-k8s-container.git
41
43
  cd train-k8s-container
42
44
  gem build train-k8s-container.gemspec
43
- cinc-auditor plugin install train-k8s-container-*.gem
45
+ cinc-auditor plugin install train-k8s-container-mitre-*.gem
44
46
  ```
45
47
 
46
48
  ## Prerequisites
@@ -2,6 +2,6 @@
2
2
 
3
3
  module TrainPlugins
4
4
  module K8sContainer
5
- VERSION = File.read(File.expand_path('../../VERSION', __dir__)).strip
5
+ VERSION = '2.0.3'
6
6
  end
7
7
  end
@@ -1,15 +1,13 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3
3
  "release-type": "ruby",
4
+ "include-component-in-tag": false,
4
5
  "packages": {
5
6
  ".": {
6
7
  "package-name": "train-k8s-container-mitre",
7
8
  "changelog-path": "CHANGELOG.md",
8
9
  "bump-minor-pre-major": true,
9
10
  "bump-patch-for-minor-pre-major": true,
10
- "extra-files": [
11
- "VERSION"
12
- ],
13
11
  "version-file": "lib/train-k8s-container/version.rb"
14
12
  }
15
13
  },
@@ -36,6 +36,28 @@ Gem::Specification.new do |spec|
36
36
 
37
37
  spec.require_paths = ['lib']
38
38
 
39
+ spec.post_install_message = <<~MESSAGE
40
+
41
+ ╔════════════════════════════════════════════════════════════════════╗
42
+ ║ train-k8s-container-mitre installed successfully! ║
43
+ ╠════════════════════════════════════════════════════════════════════╣
44
+ ║ ║
45
+ ║ WARNING: If you installed this gem using 'gem install', you ║
46
+ ║ may experience issues with 'inspec plugin list'. ║
47
+ ║ ║
48
+ ║ RECOMMENDED: Install using the InSpec/Cinc plugin system: ║
49
+ ║ ║
50
+ ║ gem uninstall train-k8s-container-mitre ║
51
+ ║ cinc-auditor plugin install train-k8s-container-mitre ║
52
+ ║ ║
53
+ ║ Or for Chef InSpec: ║
54
+ ║ ║
55
+ ║ inspec plugin install train-k8s-container-mitre ║
56
+ ║ ║
57
+ ╚════════════════════════════════════════════════════════════════════╝
58
+
59
+ MESSAGE
60
+
39
61
  # NOTE: Do not list 'train' or 'inspec' as dependencies.
40
62
  # Train plugins are loaded within InSpec's environment, which already provides
41
63
  # train, train-core, and all their dependencies. Declaring train as a dependency
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: train-k8s-container-mitre
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - MITRE SAF Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-05 00:00:00.000000000 Z
11
+ date: 2025-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -59,7 +59,6 @@ files:
59
59
  - README.md
60
60
  - Rakefile
61
61
  - SECURITY.md
62
- - VERSION
63
62
  - docs/README.md
64
63
  - lib/train-k8s-container-mitre.rb
65
64
  - lib/train-k8s-container.rb
@@ -89,7 +88,26 @@ metadata:
89
88
  changelog_uri: https://github.com/mitre/train-k8s-container/blob/main/CHANGELOG.md
90
89
  bug_tracker_uri: https://github.com/mitre/train-k8s-container/issues
91
90
  documentation_uri: https://github.com/mitre/train-k8s-container#readme
92
- post_install_message:
91
+ post_install_message: |2+
92
+
93
+ ╔════════════════════════════════════════════════════════════════════╗
94
+ ║ train-k8s-container-mitre installed successfully! ║
95
+ ╠════════════════════════════════════════════════════════════════════╣
96
+ ║ ║
97
+ ║ WARNING: If you installed this gem using 'gem install', you ║
98
+ ║ may experience issues with 'inspec plugin list'. ║
99
+ ║ ║
100
+ ║ RECOMMENDED: Install using the InSpec/Cinc plugin system: ║
101
+ ║ ║
102
+ ║ gem uninstall train-k8s-container-mitre ║
103
+ ║ cinc-auditor plugin install train-k8s-container-mitre ║
104
+ ║ ║
105
+ ║ Or for Chef InSpec: ║
106
+ ║ ║
107
+ ║ inspec plugin install train-k8s-container-mitre ║
108
+ ║ ║
109
+ ╚════════════════════════════════════════════════════════════════════╝
110
+
93
111
  rdoc_options: []
94
112
  require_paths:
95
113
  - lib
@@ -110,3 +128,4 @@ specification_version: 4
110
128
  summary: Train transport plugin for scanning Kubernetes containers with InSpec/Cinc
111
129
  Auditor.
112
130
  test_files: []
131
+ ...
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.0.1