kitchen-docker 2.13.0 → 3.0.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 +4 -4
- data/.github/dependabot.yml +5 -5
- data/.github/workflows/ci.yml +124 -0
- data/.rubocop.yml +10 -0
- data/.yamllint +15 -0
- data/CHANGELOG.md +9 -0
- data/README.md +10 -0
- data/kitchen-docker.gemspec +1 -0
- data/kitchen.windows.yml +33 -0
- data/kitchen.yml +62 -0
- data/lib/kitchen/docker/docker_version.rb +1 -1
- data/lib/kitchen/docker/helpers/cli_helper.rb +184 -172
- data/lib/kitchen/docker/helpers/container_helper.rb +176 -172
- data/lib/kitchen/docker/helpers/dockerfile_helper.rb +28 -2
- data/lib/kitchen/docker/helpers/image_helper.rb +3 -2
- data/lib/kitchen/driver/docker.rb +1 -0
- data/test/integration/capabilities/{serverspec → disabled}/capabilities_drop_spec.rb +7 -6
- data/test/integration/default/{serverspec → disabled}/default_spec.rb +7 -6
- data/test/integration/default/{serverspec → disabled}/spec_helper.rb +7 -7
- data/test/spec/spec_helper.rb +1 -1
- metadata +28 -12
- data/.kitchen.windows.yml +0 -33
- data/.kitchen.yml +0 -65
- data/.travis.yml +0 -57
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59f474a4b47b1241d911ba83df23847d6b172347bc0650d29191e9f473dd91ab
|
4
|
+
data.tar.gz: 31e3d8136d2787b36ea1ff0dc7abbace0f75f4cd036806f0c9c90b82c91fa31d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acf29b3e7719ae79e79e628465c0c2fbb5ea412fcbaf21a70155dc545b0e0eea9927b344c8f8cf18711fdb0c57ade058611008be9fba8721f7f70cb9e55c89ee
|
7
|
+
data.tar.gz: 9e475cab2c9c0abd8312865cbdfaa85c00e8f5bb70d2a052f7380513e09b5a30ca317b78a6644109721b2986f94c1f882b8c6478da745768a08275a4e9cf8b30
|
data/.github/dependabot.yml
CHANGED
@@ -0,0 +1,124 @@
|
|
1
|
+
---
|
2
|
+
name: Lint & Unit
|
3
|
+
|
4
|
+
"on":
|
5
|
+
pull_request:
|
6
|
+
push:
|
7
|
+
branches:
|
8
|
+
- main
|
9
|
+
|
10
|
+
jobs:
|
11
|
+
yamllint:
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
steps:
|
14
|
+
- name: Check out code
|
15
|
+
uses: actions/checkout@v4
|
16
|
+
- name: Run yaml Lint
|
17
|
+
uses: actionshub/yamllint@main
|
18
|
+
|
19
|
+
chefstyle:
|
20
|
+
runs-on: ubuntu-latest
|
21
|
+
continue-on-error: true
|
22
|
+
strategy:
|
23
|
+
matrix:
|
24
|
+
ruby: ["3.1"]
|
25
|
+
name: Chefstyle on Ruby ${{ matrix.ruby }}
|
26
|
+
steps:
|
27
|
+
- uses: actions/checkout@v4
|
28
|
+
- uses: ruby/setup-ruby@v1
|
29
|
+
with:
|
30
|
+
ruby-version: ${{ matrix.ruby }}
|
31
|
+
bundler-cache: true
|
32
|
+
- uses: r7kamura/rubocop-problem-matchers-action@v1
|
33
|
+
- run: bundle exec chefstyle
|
34
|
+
|
35
|
+
unit:
|
36
|
+
name: Unit test on Ruby ${{ matrix.ruby }}
|
37
|
+
needs: [yamllint, chefstyle]
|
38
|
+
runs-on: ubuntu-latest
|
39
|
+
strategy:
|
40
|
+
matrix:
|
41
|
+
ruby: ["2.7", "3.0", "3.1"]
|
42
|
+
steps:
|
43
|
+
- uses: actions/checkout@v4
|
44
|
+
- uses: ruby/setup-ruby@v1
|
45
|
+
with:
|
46
|
+
ruby-version: ${{ matrix.ruby }}
|
47
|
+
bundler-cache: true
|
48
|
+
- run: bundle exec rake spec
|
49
|
+
|
50
|
+
integration-windows:
|
51
|
+
name: Windows ${{matrix.suite}} ${{matrix.os}}
|
52
|
+
runs-on: windows-latest
|
53
|
+
needs: unit
|
54
|
+
strategy:
|
55
|
+
fail-fast: false
|
56
|
+
matrix:
|
57
|
+
suite: [default]
|
58
|
+
os: [ubuntu-20.04]
|
59
|
+
steps:
|
60
|
+
- uses: actions/checkout@v4
|
61
|
+
- uses: ruby/setup-ruby@v1
|
62
|
+
with:
|
63
|
+
ruby-version: "3.1"
|
64
|
+
bundler-cache: true
|
65
|
+
- name: Set up Docker Buildx
|
66
|
+
uses: docker/setup-buildx-action@v3
|
67
|
+
- run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
|
68
|
+
|
69
|
+
integration-linux:
|
70
|
+
name: Linux ${{matrix.suite}} ${{matrix.os}}
|
71
|
+
runs-on: ubuntu-latest
|
72
|
+
needs: unit
|
73
|
+
strategy:
|
74
|
+
fail-fast: false
|
75
|
+
matrix:
|
76
|
+
suite:
|
77
|
+
- default
|
78
|
+
- no-build-context
|
79
|
+
- arm64
|
80
|
+
- amd64
|
81
|
+
- inspec
|
82
|
+
os:
|
83
|
+
- amazonlinux-2
|
84
|
+
- ubuntu-1804
|
85
|
+
- ubuntu-2004
|
86
|
+
- fedora-latest
|
87
|
+
- centos-7
|
88
|
+
- oraclelinux-7
|
89
|
+
- rockylinux-8
|
90
|
+
- debian-11
|
91
|
+
- debian-12
|
92
|
+
- opensuse-15
|
93
|
+
- dockerfile
|
94
|
+
steps:
|
95
|
+
- uses: actions/checkout@v2
|
96
|
+
- uses: ruby/setup-ruby@v1
|
97
|
+
with:
|
98
|
+
ruby-version: "3.1"
|
99
|
+
bundler-cache: true
|
100
|
+
- name: Set up QEMU
|
101
|
+
uses: docker/setup-qemu-action@v3
|
102
|
+
- name: Set up Docker Buildx
|
103
|
+
uses: docker/setup-buildx-action@v3
|
104
|
+
- run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
|
105
|
+
|
106
|
+
integration-capabilities:
|
107
|
+
name: Linux ${{matrix.suite}} ${{matrix.os}}
|
108
|
+
runs-on: ubuntu-latest
|
109
|
+
needs: unit
|
110
|
+
strategy:
|
111
|
+
fail-fast: false
|
112
|
+
matrix:
|
113
|
+
suite:
|
114
|
+
- capabilities
|
115
|
+
os: [debian-11, ubuntu-1804, ubuntu-2004]
|
116
|
+
steps:
|
117
|
+
- uses: actions/checkout@v2
|
118
|
+
- uses: ruby/setup-ruby@v1
|
119
|
+
with:
|
120
|
+
ruby-version: "3.1"
|
121
|
+
bundler-cache: true
|
122
|
+
- name: Set up Docker Buildx
|
123
|
+
uses: docker/setup-buildx-action@v3
|
124
|
+
- run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
|
data/.rubocop.yml
ADDED
data/.yamllint
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
extends: default
|
3
|
+
rules:
|
4
|
+
line-length:
|
5
|
+
max: 256
|
6
|
+
level: warning
|
7
|
+
document-start: disable
|
8
|
+
braces:
|
9
|
+
forbid: false
|
10
|
+
min-spaces-inside: 0
|
11
|
+
max-spaces-inside: 1
|
12
|
+
min-spaces-inside-empty: -1
|
13
|
+
max-spaces-inside-empty: -1
|
14
|
+
comments:
|
15
|
+
min-spaces-from-content: 1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Kitchen-Docker Changelog
|
2
2
|
|
3
|
+
Future CHANGELOG notes will be in GitHub release notes
|
4
|
+
|
5
|
+
## 2.14.0 - November 13, 2023
|
6
|
+
|
7
|
+
- Make sure the /etc/sudoers.d directory exists by @garethgreenaway in [#397](https://github.com/test-kitchen/kitchen-docker/pull/397)
|
8
|
+
- Breaking almalinux platform out by @garethgreenaway [#398](https://github.com/test-kitchen/kitchen-docker/pull/398)
|
9
|
+
- fix: parse_image_id: Process "docker build" output in reverse line order by @terminalmage in [#400](https://github.com/test-kitchen/kitchen-docker/pull/400)
|
10
|
+
- Allow build temporary Dockerfile in configured custom_dir by @Val in [294](https://github.com/test-kitchen/kitchen-docker/pull/294)
|
11
|
+
|
3
12
|
## 2.13.0 - June 10, 2022
|
4
13
|
|
5
14
|
- Added CentOSStream and PhotonOS - [@garethgreenaway](https://github.com/garethgreenaway)
|
data/README.md
CHANGED
@@ -583,6 +583,16 @@ Examples:
|
|
583
583
|
net: br3
|
584
584
|
```
|
585
585
|
|
586
|
+
### build_tempdir
|
587
|
+
|
588
|
+
Relative (to `build_context`) temporary directory path for built Dockerfile.
|
589
|
+
|
590
|
+
Example:
|
591
|
+
|
592
|
+
```yaml
|
593
|
+
build_tempdir: .kitchen
|
594
|
+
```
|
595
|
+
|
586
596
|
### use_internal_docker_network
|
587
597
|
|
588
598
|
If you want to use kitchen-docker from within another Docker container you'll
|
data/kitchen-docker.gemspec
CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency 'fuubar', '~> 2.0'
|
33
33
|
spec.add_development_dependency 'simplecov', '~> 0.9'
|
34
34
|
spec.add_development_dependency 'codecov', '~> 0.0', '>= 0.0.2'
|
35
|
+
spec.add_development_dependency 'chefstyle'
|
35
36
|
|
36
37
|
# Integration testing gems.
|
37
38
|
spec.add_development_dependency 'kitchen-inspec', '~> 2.0'
|
data/kitchen.windows.yml
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# <% # Make sure the local copy of the driver is loaded %>
|
2
|
+
# <% lib = File.expand_path('../lib', __FILE__) %>
|
3
|
+
# <% $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) %>
|
4
|
+
---
|
5
|
+
driver:
|
6
|
+
name: docker
|
7
|
+
provision_command:
|
8
|
+
- powershell -ExecutionPolicy Bypass -NoLogo -Command . { iwr -useb https://omnitruck.chef.io/install.ps1 } ^| iex; install
|
9
|
+
- powershell -Command $path=$env:Path + ';c:\opscode\chef\embedded\bin'; Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\' -Name Path -Value $path
|
10
|
+
|
11
|
+
transport:
|
12
|
+
name: docker
|
13
|
+
socket: tcp://localhost:2375
|
14
|
+
|
15
|
+
provisioner:
|
16
|
+
name: dummy
|
17
|
+
|
18
|
+
platforms:
|
19
|
+
- name: windows
|
20
|
+
driver_config:
|
21
|
+
image: mcr.microsoft.com/windows/servercore:1809
|
22
|
+
platform: windows
|
23
|
+
|
24
|
+
suites:
|
25
|
+
- name: default
|
26
|
+
- name: context
|
27
|
+
driver:
|
28
|
+
build_context: false
|
29
|
+
- name: inspec
|
30
|
+
driver:
|
31
|
+
provision_command: echo 1
|
32
|
+
verifier:
|
33
|
+
name: inspec
|
data/kitchen.yml
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# <% # Make sure the local copy of the driver is loaded %>
|
2
|
+
# <% lib = File.expand_path('../lib', __FILE__) %>
|
3
|
+
# <% $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) %>
|
4
|
+
---
|
5
|
+
driver:
|
6
|
+
name: docker
|
7
|
+
provision_command: curl -L https://www.chef.io/chef/install.sh | bash
|
8
|
+
|
9
|
+
transport:
|
10
|
+
name: docker
|
11
|
+
|
12
|
+
provisioner:
|
13
|
+
name: dummy
|
14
|
+
|
15
|
+
platforms:
|
16
|
+
- name: amazonlinux-2
|
17
|
+
- name: ubuntu-18.04
|
18
|
+
- name: ubuntu-20.04
|
19
|
+
- name: fedora-latest
|
20
|
+
driver:
|
21
|
+
provision_command:
|
22
|
+
- yum install libxcrypt-compat -y
|
23
|
+
- curl -L https://www.chef.io/chef/install.sh | bash
|
24
|
+
- name: centos-7
|
25
|
+
- name: oraclelinux-7
|
26
|
+
- name: rockylinux-8
|
27
|
+
- name: debian-11
|
28
|
+
- name: debian-12
|
29
|
+
- name: opensuse-15
|
30
|
+
driver:
|
31
|
+
image: opensuse/leap:15
|
32
|
+
- name: dockerfile
|
33
|
+
driver:
|
34
|
+
username: dockerfile
|
35
|
+
password: dockerfile
|
36
|
+
dockerfile: test/Dockerfile
|
37
|
+
run_command: /sbin/init
|
38
|
+
|
39
|
+
suites:
|
40
|
+
- name: default
|
41
|
+
- name: no_build_context
|
42
|
+
driver:
|
43
|
+
build_context: false
|
44
|
+
- name: capabilities
|
45
|
+
includes: [debian-11, ubuntu-18.04, ubuntu-20.04]
|
46
|
+
driver:
|
47
|
+
provision_command:
|
48
|
+
- curl -L https://www.chef.io/chef/install.sh | bash
|
49
|
+
- apt-get install -y net-tools
|
50
|
+
cap_drop:
|
51
|
+
- NET_ADMIN
|
52
|
+
- name: arm64
|
53
|
+
driver:
|
54
|
+
docker_platform: linux/arm64
|
55
|
+
- name: amd64
|
56
|
+
driver:
|
57
|
+
docker_platform: linux/amd64
|
58
|
+
- name: inspec
|
59
|
+
driver:
|
60
|
+
provision_command: true
|
61
|
+
verifier:
|
62
|
+
name: inspec
|