kitchen-docker 2.13.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|