train-k8s-container-mitre 2.0.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3fb5eed626b5b0237f0b191baf0a6d9044c41c768a1fcf144e28163bb53e489
4
- data.tar.gz: 33208b23e20238d127a60db0e7165a6a4aa405a31b59ed66a80472d467755647
3
+ metadata.gz: 011c11460782897e0ec2e1a3eb0e1e010ed46a3f87ebd53a695af49b81b40147
4
+ data.tar.gz: 2db778c2cb5c06e4409a100ab98a4c0d3522bc712de613b4c6128d13cb587933
5
5
  SHA512:
6
- metadata.gz: b5bd3221b2ca510b600c75994a777fa37eccec5fc4b208f0f1f03bac2f6f849a3bfcef4bef4d4c5fdc9d8abc35927430772cea1b64f20d848fc81f90944251be
7
- data.tar.gz: 9b1c7f1b4b4f96f87ab6eeeaad58f5f22a70476c3c659b5dae02f4b6b6e210ed67cef01809674c91d4b76c8e81593b66bdd2cd6607eba5015aec8ae4645dcb57
6
+ metadata.gz: 11e3dd39351a35f2c8c0c872bfb05bfaa9c2500ec6fe7deeadf25028c9f4ceb375b6d15f800cbc09a75a22d1baef18a23f037002d88c2ed0afa0a58b167d3da0
7
+ data.tar.gz: 67eaa24b6d076b134138e7a50b41deb73c00443b032cc05e5e1184c568f367b67aa38ff0b131be367fb819ddfff48c60162c3ee61569d013cac4a4890cab820f
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "2.0.2"
3
+ }
data/CHANGELOG.md CHANGED
@@ -5,154 +5,169 @@ 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
- ## [Unreleased]
8
+ ## [2.0.2](https://github.com/mitre/train-k8s-container/compare/v2.0.1...v2.0.2) (2025-12-12)
9
9
 
10
- ### Added
11
10
 
12
- - **ci**: Real STIG profile execution (canonical-ubuntu-22.04-lts-stig-baseline)
13
- - **ci**: Same-pod container-to-container scanning test
14
- - **ci**: Pod-to-pod scanning with cinc-scanner Docker image
11
+ ### Bug Fixes
12
+
13
+ * Add post-install warning for correct plugin installation ([832e1c3](https://github.com/mitre/train-k8s-container/commit/832e1c36920d59e51ca34fce786fea4749fc4fc4))
14
+ * Configure release-please to use simple v* tags ([aefc7ba](https://github.com/mitre/train-k8s-container/commit/aefc7baa4f86608dcfe91479491b150850989d43))
15
+
15
16
 
16
17
  ### Documentation
17
18
 
18
- - MITRE standards documentation (LICENSE.md, NOTICE.md, CODE_OF_CONDUCT.md)
19
- - CONTRIBUTING.md with development workflow
20
- - DEVELOPMENT.md with local testing guide (kind cluster setup)
21
- - README.md rewrite with MITRE branding and comprehensive usage docs
22
- - SECURITY.md with MITRE SAF contact info
19
+ * Update CHANGELOG for v2.0.1 release ([2237873](https://github.com/mitre/train-k8s-container/commit/2237873cc5142f48ca416242f985be0f41550e4d))
20
+ * Update installation instructions and add post-install warning ([8649575](https://github.com/mitre/train-k8s-container/commit/86495758a6794ae00505e50391f109442487d72a))
21
+ * Update release process documentation for release-please ([a9f4fd3](https://github.com/mitre/train-k8s-container/commit/a9f4fd3ce1da48557aa3442d62ca97ab983b3d21))
22
+
23
+ ## [2.0.1] - 2025-12-05
23
24
 
24
25
  ### Fixed
25
26
 
26
- - **ci**: Use pre-built cinc-scanner:local image for same-pod testing
27
- - **platform**: Detect+Context pattern for accurate OS detection
27
+ - Add shim file for train-k8s-container-mitre gem name compatibility
28
+ - Reset version tracking for release-please integration
28
29
 
29
30
  ### Miscellaneous Tasks
30
31
 
31
- - Switch from InSpec to Cinc Auditor (open source, license-free)
32
- - Add git-cliff configuration for automated changelog generation
33
- - Add release-tag.yml workflow for RubyGems publication
32
+ - Add release-please for automated versioning and changelog
33
+ - Bump version to 2.0.1 for first MITRE RubyGems release
34
34
 
35
- ## [2.0.0] - 2025-10-04
35
+ ## [2.0.0] - 2025-12-05
36
36
 
37
- ### Breaking Changes
37
+ ### Added
38
38
 
39
- - **BREAKING**: Namespace changed from `Train::K8s::Container` to `TrainPlugins::K8sContainer` (Train v2 standard)
40
- - **BREAKING**: File structure changed from `lib/train/k8s/container/*` to `lib/train-k8s-container/*`
41
- - Ruby requirement: >= 3.1
39
+ - Migrate to Train plugin v2 with multi-platform support and security improvements ([#1](https://github.com/mitre/train-k8s-container/issues/1))
40
+ - Migrate to Train plugin v2 with multi-platform support and security improvements
41
+ - Fix platform detection using Detect + Context pattern
42
+ - **ci**: Add real STIG profile and same-pod container-to-container tests
42
43
 
43
- ### Added
44
+ ### Documentation
44
45
 
45
- - **Platform Detection**: Detect+Context pattern using `Train::Platforms::Detect.scan(self)`
46
- - Returns actual OS (ubuntu, alpine, centos) so InSpec resources work correctly
47
- - Adds `kubernetes` and `container` families for transport awareness
48
- - Fallback platform for distroless/minimal containers
49
- - **Shell Detection**: Tiered detection with automatic fallback
50
- - Unix: bash → sh → ash → zsh
51
- - Windows: cmd.exe → powershell.exe → pwsh.exe (scaffolded, not tested)
52
- - Linux family detection from /etc/os-release
53
- - **Security Hardening**:
54
- - ANSI escape sequence sanitization (CVE-2021-25743 mitigation)
55
- - Command injection prevention with Shellwords.escape
56
- - RFC 1123 validation for pod/container names
57
- - **Error Handling**:
58
- - Custom error classes (ConnectionError, CommandError, ValidationError)
59
- - Retry logic with exponential backoff for transient failures
60
- - **CI/CD Pipeline**:
61
- - GitHub Actions with kind cluster integration tests
62
- - Multi-version Ruby (3.1, 3.2, 3.3) and Kubernetes (1.29, 1.30, 1.31) matrix
63
- - Security scanning (TruffleHog, bundler-audit, SBOM generation)
64
- - Pod-to-pod testing with InSpec running inside cluster
65
- - **Code Quality**:
66
- - Cookstyle linting (replaced deprecated chefstyle)
67
- - 95%+ test coverage with SimpleCov
68
- - Unit tests (mocked) and integration tests (real kubectl)
69
-
70
- ### Changed
71
-
72
- - Transport: Proper Train v2 plugin API implementation
73
- - Connection: Lazy initialization of kubectl client
74
- - Platform: Uses Train's built-in detection instead of force_platform!
46
+ - Add MITRE standards documentation and release workflow
47
+ - Update CHANGELOG.md with git-cliff format
48
+ - Rewrite CHANGELOG with accurate v2.0.0 content
75
49
 
76
50
  ### Fixed
77
51
 
78
- - Shell detection command escaping
79
- - Platform detection accuracy (returns real OS, not generic k8s-container)
80
- - Thread safety in session management
52
+ - **ci**: Fix distroless test, Dockerfile, and shellcheck warnings
53
+ - **ci**: Fix kubectl cp glob pattern for same-pod test
54
+ - **ci**: Use pre-built cinc-scanner:local for same-pod testing
55
+ - Remove gemspec warnings for RubyGems publishing
56
+
57
+ ### Miscellaneous Tasks
58
+
59
+ - Switch from InSpec to Cinc Auditor (license-free)
60
+ - Add git-cliff configuration for changelog generation
61
+ - Add git-cliff to release workflow for automated changelog
62
+ - Use official git-cliff-action for changelog generation
63
+ - Rename gem to train-k8s-container-mitre for RubyGems publishing
81
64
 
82
- ### Security
65
+ ### Refactor
83
66
 
84
- - ANSI injection prevention (sanitizes terminal escape sequences)
85
- - Command escaping with Shellwords
86
- - Input validation for Kubernetes resource names
67
+ - DRY improvements, CI enhancements, and distroless support
87
68
 
88
- ### Components
69
+ ### Testing
89
70
 
90
- | File | Purpose |
91
- |------|---------|
92
- | `transport.rb` | Train v2 plugin registration |
93
- | `connection.rb` | URI parsing, connection management |
94
- | `kubectl_exec_client.rb` | kubectl command execution |
95
- | `platform.rb` | Detect+Context platform detection |
96
- | `shell_detector.rb` | Shell availability detection |
97
- | `ansi_sanitizer.rb` | CVE-2021-25743 mitigation |
98
- | `kubernetes_name_validator.rb` | RFC 1123 validation |
99
- | `retry_handler.rb` | Exponential backoff retry logic |
71
+ - **integration**: Update platform tests for Detect+Context pattern
100
72
 
101
73
  ## [1.3.1] - 2024-03-05
102
74
 
103
75
  ### Fixed
104
76
 
105
- - Fix run command to use Bourne shell for OS resource commands ([#21](https://github.com/inspec/train-k8s-container/pull/21))
77
+ - Fix run command to be run with Bourne shell to execute commands
78
+
79
+ This is to make sure we are able to run all OS resource commands
80
+
81
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
106
82
 
107
83
  ## [1.3.0] - 2024-01-31
108
84
 
109
- ### Added
85
+ ### Testing
110
86
 
111
- - Add support for file connections ([#19](https://github.com/inspec/train-k8s-container/pull/19))
87
+ - Test file connections
88
+
89
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
112
90
 
113
91
  ## [1.2.1] - 2024-01-18
114
92
 
115
- ### Fixed
93
+ ## [1.2.0] - 2024-01-16
116
94
 
117
- - Fix for undefined method presence ([#17](https://github.com/inspec/train-k8s-container/pull/17))
95
+ ## [1.1.2] - 2024-01-16
118
96
 
119
- ## [1.2.0] - 2024-01-16
97
+ ### Fixed
120
98
 
121
- ### Changed
99
+ - Fix connection spec
122
100
 
123
- - Update README and InSpec compatibility ([#15](https://github.com/inspec/train-k8s-container/pull/15))
101
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
102
+ - Fix specs to use mocks over real connections
124
103
 
125
- ## [1.1.2] - 2024-01-16
104
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
105
+
106
+ ## [1.1.1] - 2024-01-15
126
107
 
127
108
  ### Fixed
128
109
 
129
- - Connection to container improvements ([#14](https://github.com/inspec/train-k8s-container/pull/14))
110
+ - Fix typo with spec
130
111
 
131
- ## [1.1.1] - 2024-01-15
112
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
132
113
 
133
114
  ### Testing
134
115
 
135
- - Specs for transporter ([#13](https://github.com/inspec/train-k8s-container/pull/13))
116
+ - Test connection
117
+
118
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
136
119
 
137
120
  ## [1.1.0] - 2024-01-11
138
121
 
139
- ### Added
122
+ ### Testing
123
+
124
+ - Test kubectl exec client
140
125
 
141
- - kubectl exec client implementation ([#10](https://github.com/inspec/train-k8s-container/pull/10))
126
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
127
+ - Test connection and platform
128
+
129
+ Signed-off-by: Sathish Babu <sbabu@progress.com>
142
130
 
143
131
  ## [1.0.0] - 2024-01-11
144
132
 
145
- ### Added
133
+ ## [0.0.7] - 2024-01-11
134
+
135
+ ## [0.0.6] - 2024-01-09
136
+
137
+ ## [0.0.5] - 2024-01-02
138
+
139
+ ## [0.0.4] - 2023-11-20
140
+
141
+ ## [0.0.3] - 2023-11-15
142
+
143
+ ### DELETE
144
+
145
+ - Remove files not required for the library
146
+
147
+ ### ENHANCE
148
+
149
+ - Minor improvement with gemspec and rakefile
150
+
151
+ ### GEM
152
+
153
+ - Initialize repo with bundle gem train-k8s-container
154
+
155
+ ### Miscellaneous Tasks
156
+
157
+ - Add doc dir with a sample readme
158
+
159
+ ## [0.0.2] - 2023-11-15
160
+
161
+ ### CONFIG
146
162
 
147
- - Initial transporter for k8s container ([#9](https://github.com/inspec/train-k8s-container/pull/9))
163
+ - Add basic expeditor config
164
+ - Add basic verify pipeline
165
+ - Add subscriptions to expeditor config
166
+ - Add basic coverage pipeline template
167
+ - Add configurations for sonarscanner in verify and update coverage pipeline
148
168
 
149
- ## Pre-1.0 Releases
169
+ ### DOC
150
170
 
151
- - **0.0.7** - Pipeline updates
152
- - **0.0.6** - Version bumper
153
- - **0.0.5** - Apache v2.0 license
154
- - **0.0.4** - SonarQube integration
155
- - **0.0.3** - Initial repo setup
156
- - **0.0.2** - Expeditor configuration
171
+ - Add empty changelog required for expeditor
157
172
 
158
173
  <!-- generated by git-cliff -->
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.2'
6
6
  end
7
7
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Shim file for gem name compatibility
4
+ # The gem is named 'train-k8s-container-mitre' for RubyGems publishing,
5
+ # but the internal library structure uses 'train-k8s-container'.
6
+ # This allows `require 'train-k8s-container-mitre'` to work when
7
+ # InSpec/Cinc loads the plugin by gem name.
8
+
9
+ require_relative 'train-k8s-container'
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3
+ "release-type": "ruby",
4
+ "include-component-in-tag": false,
5
+ "packages": {
6
+ ".": {
7
+ "package-name": "train-k8s-container-mitre",
8
+ "changelog-path": "CHANGELOG.md",
9
+ "bump-minor-pre-major": true,
10
+ "bump-patch-for-minor-pre-major": true,
11
+ "version-file": "lib/train-k8s-container/version.rb"
12
+ }
13
+ },
14
+ "changelog-sections": [
15
+ {"type": "feat", "section": "Features"},
16
+ {"type": "fix", "section": "Bug Fixes"},
17
+ {"type": "perf", "section": "Performance Improvements"},
18
+ {"type": "revert", "section": "Reverts"},
19
+ {"type": "docs", "section": "Documentation"},
20
+ {"type": "style", "section": "Styles"},
21
+ {"type": "chore", "section": "Miscellaneous Chores"},
22
+ {"type": "refactor", "section": "Code Refactoring"},
23
+ {"type": "test", "section": "Tests"},
24
+ {"type": "build", "section": "Build System"},
25
+ {"type": "ci", "section": "Continuous Integration"}
26
+ ]
27
+ }
@@ -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,13 +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.0
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - MITRE SAF Team
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2025-12-12 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: base64
@@ -45,6 +46,7 @@ files:
45
46
  - ".expeditor/coverage.pipeline.yml"
46
47
  - ".expeditor/update_version.sh"
47
48
  - ".expeditor/verify.pipeline.yml"
49
+ - ".release-please-manifest.json"
48
50
  - ".rspec"
49
51
  - ".rubocop.yml"
50
52
  - CHANGELOG.md
@@ -57,9 +59,8 @@ files:
57
59
  - README.md
58
60
  - Rakefile
59
61
  - SECURITY.md
60
- - VERSION
61
- - cliff.toml
62
62
  - docs/README.md
63
+ - lib/train-k8s-container-mitre.rb
63
64
  - lib/train-k8s-container.rb
64
65
  - lib/train-k8s-container/ansi_sanitizer.rb
65
66
  - lib/train-k8s-container/connection.rb
@@ -75,6 +76,7 @@ files:
75
76
  - lib/train-k8s-container/shell_detector.rb
76
77
  - lib/train-k8s-container/transport.rb
77
78
  - lib/train-k8s-container/version.rb
79
+ - release-please-config.json
78
80
  - sonar-project.properties
79
81
  - train-k8s-container.gemspec
80
82
  homepage: https://github.com/mitre/train-k8s-container
@@ -86,6 +88,26 @@ metadata:
86
88
  changelog_uri: https://github.com/mitre/train-k8s-container/blob/main/CHANGELOG.md
87
89
  bug_tracker_uri: https://github.com/mitre/train-k8s-container/issues
88
90
  documentation_uri: https://github.com/mitre/train-k8s-container#readme
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
+
89
111
  rdoc_options: []
90
112
  require_paths:
91
113
  - lib
@@ -100,8 +122,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
122
  - !ruby/object:Gem::Version
101
123
  version: '0'
102
124
  requirements: []
103
- rubygems_version: 3.7.2
125
+ rubygems_version: 3.5.22
126
+ signing_key:
104
127
  specification_version: 4
105
128
  summary: Train transport plugin for scanning Kubernetes containers with InSpec/Cinc
106
129
  Auditor.
107
130
  test_files: []
131
+ ...
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.0.0
data/cliff.toml DELETED
@@ -1,80 +0,0 @@
1
- # git-cliff configuration for train-k8s-container
2
- # See: https://git-cliff.org/docs/configuration
3
-
4
- [changelog]
5
- # changelog header
6
- header = """
7
- # Changelog
8
-
9
- All notable changes to this project will be documented in this file.
10
-
11
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
12
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
13
-
14
- """
15
- # template for the changelog body
16
- body = """
17
- {% if version %}\
18
- ## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
19
- {% else %}\
20
- ## [Unreleased]
21
- {% endif %}\
22
- {% for group, commits in commits | group_by(attribute="group") %}
23
- ### {{ group | striptags | trim | upper_first }}
24
- {% for commit in commits %}
25
- - {% if commit.scope %}**{{ commit.scope }}**: {% endif %}{{ commit.message | upper_first }}\
26
- {% endfor %}
27
- {% endfor %}\n
28
- """
29
- # remove the leading and trailing whitespace from the template
30
- trim = true
31
- # changelog footer
32
- footer = """
33
- <!-- generated by git-cliff -->
34
- """
35
-
36
- [git]
37
- # parse the commits based on https://www.conventionalcommits.org
38
- conventional_commits = true
39
- # filter out the commits that are not conventional
40
- filter_unconventional = false
41
- # process each line of a commit as an individual commit
42
- split_commits = false
43
- # regex for preprocessing the commit messages
44
- commit_preprocessors = [
45
- # Extract issue numbers from commit messages
46
- { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/mitre/train-k8s-container/issues/${2}))"},
47
- ]
48
- # regex for parsing and grouping commits
49
- commit_parsers = [
50
- { message = "^feat", group = "Added" },
51
- { message = "^fix", group = "Fixed" },
52
- { message = "^doc", group = "Documentation" },
53
- { message = "^perf", group = "Performance" },
54
- { message = "^refactor", group = "Refactor" },
55
- { message = "^style", group = "Styling" },
56
- { message = "^test", group = "Testing" },
57
- { message = "^chore\\(release\\): prepare for", skip = true },
58
- { message = "^chore\\(deps\\)", skip = true },
59
- { message = "^chore\\(pr\\)", skip = true },
60
- { message = "^chore\\(pull\\)", skip = true },
61
- { message = "^chore|^ci", group = "Miscellaneous Tasks" },
62
- { body = ".*security", group = "Security" },
63
- { message = "^revert", group = "Revert" },
64
- ]
65
- # protect breaking changes from being skipped due to matching a skipping commit_parser
66
- protect_breaking_commits = false
67
- # filter out the commits that are not matched by commit parsers
68
- filter_commits = false
69
- # glob pattern for matching git tags
70
- tag_pattern = "v[0-9]*"
71
- # regex for skipping tags
72
- skip_tags = ""
73
- # regex for ignoring tags
74
- ignore_tags = ""
75
- # sort the tags topologically
76
- topo_order = false
77
- # sort the commits inside sections by oldest/newest order
78
- sort_commits = "oldest"
79
- # limit the number of commits included in the changelog.
80
- # limit_commits = 42