beaker-docker 0.8.4 → 1.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/workflows/release.yml +16 -8
- data/.github/workflows/test.yml +15 -21
- data/CHANGELOG.md +189 -23
- data/Gemfile +11 -2
- data/README.md +25 -5
- data/Rakefile +14 -0
- data/beaker-docker.gemspec +0 -2
- data/lib/beaker-docker/version.rb +1 -1
- data/lib/beaker/hypervisor/docker.rb +38 -12
- data/spec/beaker/hypervisor/docker_spec.rb +6 -5
- data/spec/spec_helper.rb +24 -1
- metadata +3 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2de8c341eaa907ce915686f4af31417659a391ace3e844cd10de5b6b3a6f963a
|
|
4
|
+
data.tar.gz: 533955311e2c5a195bbc884a15dd71ae0a54603097baaf0afc41ca7226fef083
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a0ae7bb38381077821e427d7f46ff135649ef686b381c4438a6dd046ffec455f32169226f5e7799a52bd7360cca8fd118e06c3db507b55776647a6273736b5c7
|
|
7
|
+
data.tar.gz: 8250ec4f91378d821e0bbf3cf92a5038971df55f224ac03142148fe2dd8ee8137c6e86f11c94c597d1555e163c664b299076807cf6026eb1b2d6c0beaaadd08c
|
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
name: Release
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- '*'
|
|
6
7
|
|
|
7
8
|
jobs:
|
|
8
9
|
release:
|
|
9
10
|
runs-on: ubuntu-latest
|
|
10
|
-
if: github.
|
|
11
|
-
env:
|
|
12
|
-
BUNDLE_WITHOUT: release
|
|
11
|
+
if: github.repository_owner == 'voxpupuli'
|
|
13
12
|
steps:
|
|
14
13
|
- uses: actions/checkout@v2
|
|
15
|
-
- name: Install Ruby
|
|
14
|
+
- name: Install Ruby 3.0
|
|
16
15
|
uses: ruby/setup-ruby@v1
|
|
17
16
|
with:
|
|
18
|
-
ruby-version: '
|
|
17
|
+
ruby-version: '3.0'
|
|
18
|
+
env:
|
|
19
|
+
BUNDLE_WITHOUT: release
|
|
19
20
|
- name: Build gem
|
|
20
21
|
run: gem build *.gemspec
|
|
21
|
-
- name: Publish gem
|
|
22
|
+
- name: Publish gem to rubygems.org
|
|
22
23
|
run: gem push *.gem
|
|
23
24
|
env:
|
|
24
25
|
GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
|
|
26
|
+
- name: Setup GitHub packages access
|
|
27
|
+
run: |
|
|
28
|
+
mkdir -p ~/.gem
|
|
29
|
+
echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
|
|
30
|
+
chmod 0600 ~/.gem/credentials
|
|
31
|
+
- name: Publish gem to GitHub packages
|
|
32
|
+
run: gem push --key github --host https://rubygems.pkg.github.com/voxpupuli *.gem
|
data/.github/workflows/test.yml
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
name: Test
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- main
|
|
10
|
-
- master
|
|
4
|
+
- pull_request
|
|
5
|
+
- push
|
|
6
|
+
|
|
7
|
+
env:
|
|
8
|
+
BUNDLE_WITHOUT: release
|
|
11
9
|
|
|
12
10
|
jobs:
|
|
13
11
|
rspec:
|
|
@@ -15,13 +13,15 @@ jobs:
|
|
|
15
13
|
strategy:
|
|
16
14
|
fail-fast: true
|
|
17
15
|
matrix:
|
|
18
|
-
|
|
19
|
-
- "2.4"
|
|
20
|
-
- "2.5"
|
|
21
|
-
- "2.6"
|
|
22
|
-
- "2.7"
|
|
16
|
+
include:
|
|
17
|
+
- ruby: "2.4"
|
|
18
|
+
- ruby: "2.5"
|
|
19
|
+
- ruby: "2.6"
|
|
20
|
+
- ruby: "2.7"
|
|
21
|
+
- ruby: "3.0"
|
|
22
|
+
coverage: "yes"
|
|
23
23
|
env:
|
|
24
|
-
|
|
24
|
+
COVERAGE: ${{ matrix.coverage }}
|
|
25
25
|
name: RSpec - Ruby ${{ matrix.ruby }}
|
|
26
26
|
steps:
|
|
27
27
|
- uses: actions/checkout@v2
|
|
@@ -30,12 +30,10 @@ jobs:
|
|
|
30
30
|
with:
|
|
31
31
|
ruby-version: ${{ matrix.ruby }}
|
|
32
32
|
bundler-cache: true
|
|
33
|
-
- name: install bundler
|
|
34
|
-
run: |
|
|
35
|
-
gem install bundler -v '~> 1.17.3'
|
|
36
|
-
bundle update
|
|
37
33
|
- name: spec tests
|
|
38
34
|
run: bundle exec rake test:spec
|
|
35
|
+
- name: Build gem
|
|
36
|
+
run: gem build *.gemspec
|
|
39
37
|
|
|
40
38
|
docker:
|
|
41
39
|
runs-on: ubuntu-latest
|
|
@@ -44,8 +42,6 @@ jobs:
|
|
|
44
42
|
matrix:
|
|
45
43
|
ruby:
|
|
46
44
|
- "2.6"
|
|
47
|
-
env:
|
|
48
|
-
BUNDLE_WITHOUT: release
|
|
49
45
|
name: Docker - Ruby ${{ matrix.ruby }}
|
|
50
46
|
steps:
|
|
51
47
|
- uses: actions/checkout@v2
|
|
@@ -78,8 +74,6 @@ jobs:
|
|
|
78
74
|
matrix:
|
|
79
75
|
ruby:
|
|
80
76
|
- "2.6"
|
|
81
|
-
env:
|
|
82
|
-
BUNDLE_WITHOUT: release
|
|
83
77
|
name: Podman - Ruby ${{ matrix.ruby }}
|
|
84
78
|
steps:
|
|
85
79
|
- uses: actions/checkout@v2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,31 +1,197 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## [1.0.0](https://github.com/voxpupuli/beaker-docker/tree/1.0.0) (2021-08-06)
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[Keep a Changelog](http://keepachangelog.com)
|
|
7
|
-
& makes a strong effort to adhere to
|
|
8
|
-
[Semantic Versioning](http://semver.org).
|
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.8.4...1.0.0)
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
If you're looking for changes from before this, refer to the project's
|
|
12
|
-
git logs & PR history.
|
|
7
|
+
**Implemented enhancements:**
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
- Implement codecov reporting [\#49](https://github.com/voxpupuli/beaker-docker/pull/49) ([bastelfreak](https://github.com/bastelfreak))
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
- Changed - for changes in existing functionality.
|
|
18
|
-
- Deprecated - for soon-to-be removed features.
|
|
19
|
-
- Removed - for now removed features.
|
|
20
|
-
- Fixed - for any bug fixes.
|
|
21
|
-
- Security - in case of vulnerabilities.
|
|
11
|
+
**Fixed bugs:**
|
|
22
12
|
|
|
23
|
-
|
|
13
|
+
- Treat Fedora 22+ and EL8 the same [\#48](https://github.com/voxpupuli/beaker-docker/pull/48) ([ekohl](https://github.com/ekohl))
|
|
14
|
+
- Be more aggressive about picking a connection [\#47](https://github.com/voxpupuli/beaker-docker/pull/47) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
24
15
|
|
|
25
|
-
|
|
16
|
+
## [0.8.4](https://github.com/voxpupuli/beaker-docker/tree/0.8.4) (2021-03-15)
|
|
26
17
|
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
18
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.8.3...0.8.4)
|
|
19
|
+
|
|
20
|
+
**Fixed bugs:**
|
|
21
|
+
|
|
22
|
+
- Force Container Removal [\#45](https://github.com/voxpupuli/beaker-docker/pull/45) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
23
|
+
|
|
24
|
+
**Closed issues:**
|
|
25
|
+
|
|
26
|
+
- Wrong SSH port getting used [\#43](https://github.com/voxpupuli/beaker-docker/issues/43)
|
|
27
|
+
- Beaker complains about host unreachable - Ubuntu 18 and 20 [\#39](https://github.com/voxpupuli/beaker-docker/issues/39)
|
|
28
|
+
|
|
29
|
+
**Merged pull requests:**
|
|
30
|
+
|
|
31
|
+
- Fix docker usage to use correct port and IP address on local docker [\#44](https://github.com/voxpupuli/beaker-docker/pull/44) ([treydock](https://github.com/treydock))
|
|
32
|
+
- Update to Check Rootless [\#41](https://github.com/voxpupuli/beaker-docker/pull/41) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
33
|
+
- Change from my personal fork to docker-api 2.1+ [\#40](https://github.com/voxpupuli/beaker-docker/pull/40) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
34
|
+
|
|
35
|
+
## [0.8.3](https://github.com/voxpupuli/beaker-docker/tree/0.8.3) (2021-02-28)
|
|
36
|
+
|
|
37
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.8.2...0.8.3)
|
|
38
|
+
|
|
39
|
+
**Merged pull requests:**
|
|
40
|
+
|
|
41
|
+
- Cleanup docs and gemspec [\#37](https://github.com/voxpupuli/beaker-docker/pull/37) ([genebean](https://github.com/genebean))
|
|
42
|
+
|
|
43
|
+
## [0.8.2](https://github.com/voxpupuli/beaker-docker/tree/0.8.2) (2021-02-28)
|
|
44
|
+
|
|
45
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.8.1...0.8.2)
|
|
46
|
+
|
|
47
|
+
**Merged pull requests:**
|
|
48
|
+
|
|
49
|
+
- Deconflict Privileged and CAPs [\#34](https://github.com/voxpupuli/beaker-docker/pull/34) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
50
|
+
|
|
51
|
+
## [0.8.1](https://github.com/voxpupuli/beaker-docker/tree/0.8.1) (2021-02-28)
|
|
52
|
+
|
|
53
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.8.0...0.8.1)
|
|
54
|
+
|
|
55
|
+
**Merged pull requests:**
|
|
56
|
+
|
|
57
|
+
- Fix docker support and update github actions [\#32](https://github.com/voxpupuli/beaker-docker/pull/32) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
58
|
+
- Add GH Action for releases [\#31](https://github.com/voxpupuli/beaker-docker/pull/31) ([genebean](https://github.com/genebean))
|
|
59
|
+
|
|
60
|
+
## [0.8.0](https://github.com/voxpupuli/beaker-docker/tree/0.8.0) (2021-02-26)
|
|
61
|
+
|
|
62
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.7.1...0.8.0)
|
|
63
|
+
|
|
64
|
+
**Merged pull requests:**
|
|
65
|
+
|
|
66
|
+
- Move testing to GH Actions [\#30](https://github.com/voxpupuli/beaker-docker/pull/30) ([genebean](https://github.com/genebean))
|
|
67
|
+
- Add Podman Support [\#29](https://github.com/voxpupuli/beaker-docker/pull/29) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
68
|
+
|
|
69
|
+
## [0.7.1](https://github.com/voxpupuli/beaker-docker/tree/0.7.1) (2020-09-11)
|
|
70
|
+
|
|
71
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.7.0...0.7.1)
|
|
72
|
+
|
|
73
|
+
**Merged pull requests:**
|
|
74
|
+
|
|
75
|
+
- Fix: docker-api gem dependency [\#26](https://github.com/voxpupuli/beaker-docker/pull/26) ([msalway](https://github.com/msalway))
|
|
76
|
+
- Add Dependabot to keep thins up to date [\#23](https://github.com/voxpupuli/beaker-docker/pull/23) ([genebean](https://github.com/genebean))
|
|
77
|
+
|
|
78
|
+
## [0.7.0](https://github.com/voxpupuli/beaker-docker/tree/0.7.0) (2020-01-23)
|
|
79
|
+
|
|
80
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.6.0...0.7.0)
|
|
81
|
+
|
|
82
|
+
**Merged pull requests:**
|
|
83
|
+
|
|
84
|
+
- Fix: Too many authentication failures [\#21](https://github.com/voxpupuli/beaker-docker/pull/21) ([b4ldr](https://github.com/b4ldr))
|
|
85
|
+
- \(MAINT\) add release section to README [\#20](https://github.com/voxpupuli/beaker-docker/pull/20) ([kevpl](https://github.com/kevpl))
|
|
86
|
+
|
|
87
|
+
## [0.6.0](https://github.com/voxpupuli/beaker-docker/tree/0.6.0) (2019-11-12)
|
|
88
|
+
|
|
89
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.5.4...0.6.0)
|
|
90
|
+
|
|
91
|
+
**Merged pull requests:**
|
|
92
|
+
|
|
93
|
+
- \(BKR-1613\) add CentOS8 support [\#19](https://github.com/voxpupuli/beaker-docker/pull/19) ([ciprianbadescu](https://github.com/ciprianbadescu))
|
|
94
|
+
|
|
95
|
+
## [0.5.4](https://github.com/voxpupuli/beaker-docker/tree/0.5.4) (2019-07-15)
|
|
96
|
+
|
|
97
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.5.3...0.5.4)
|
|
98
|
+
|
|
99
|
+
**Merged pull requests:**
|
|
100
|
+
|
|
101
|
+
- \(maint\) A number of fixes for rerunning tests on docker containers [\#18](https://github.com/voxpupuli/beaker-docker/pull/18) ([underscorgan](https://github.com/underscorgan))
|
|
102
|
+
|
|
103
|
+
## [0.5.3](https://github.com/voxpupuli/beaker-docker/tree/0.5.3) (2019-05-06)
|
|
104
|
+
|
|
105
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.5.2...0.5.3)
|
|
106
|
+
|
|
107
|
+
**Merged pull requests:**
|
|
108
|
+
|
|
109
|
+
- BKR-1586 - allow an 'as-is' container to be used rather than rebuilding every time [\#17](https://github.com/voxpupuli/beaker-docker/pull/17) ([oldNoakes](https://github.com/oldNoakes))
|
|
110
|
+
|
|
111
|
+
## [0.5.2](https://github.com/voxpupuli/beaker-docker/tree/0.5.2) (2019-02-11)
|
|
112
|
+
|
|
113
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.5.1...0.5.2)
|
|
114
|
+
|
|
115
|
+
**Merged pull requests:**
|
|
116
|
+
|
|
117
|
+
- Allow users with large keyrings to run test [\#16](https://github.com/voxpupuli/beaker-docker/pull/16) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
|
118
|
+
|
|
119
|
+
## [0.5.1](https://github.com/voxpupuli/beaker-docker/tree/0.5.1) (2018-11-29)
|
|
120
|
+
|
|
121
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.5.0...0.5.1)
|
|
122
|
+
|
|
123
|
+
**Merged pull requests:**
|
|
124
|
+
|
|
125
|
+
- \(SERVER-2380\) add image tagging ability [\#14](https://github.com/voxpupuli/beaker-docker/pull/14) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
126
|
+
|
|
127
|
+
## [0.5.0](https://github.com/voxpupuli/beaker-docker/tree/0.5.0) (2018-11-19)
|
|
128
|
+
|
|
129
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.4.0...0.5.0)
|
|
130
|
+
|
|
131
|
+
**Merged pull requests:**
|
|
132
|
+
|
|
133
|
+
- \(BKR-1551\) Updates for Beaker 4 [\#13](https://github.com/voxpupuli/beaker-docker/pull/13) ([caseywilliams](https://github.com/caseywilliams))
|
|
134
|
+
|
|
135
|
+
## [0.4.0](https://github.com/voxpupuli/beaker-docker/tree/0.4.0) (2018-10-26)
|
|
136
|
+
|
|
137
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.3.3...0.4.0)
|
|
138
|
+
|
|
139
|
+
**Merged pull requests:**
|
|
140
|
+
|
|
141
|
+
- \(PUP-9212\) Allow for building containers with context [\#12](https://github.com/voxpupuli/beaker-docker/pull/12) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
142
|
+
- \(PUP-9212\) Allow for image entry point CMDs [\#11](https://github.com/voxpupuli/beaker-docker/pull/11) ([tvpartytonight](https://github.com/tvpartytonight))
|
|
143
|
+
- \(BKR-1509\) Hypervisor usage instructions for Beaker 4..0 [\#9](https://github.com/voxpupuli/beaker-docker/pull/9) ([Dakta](https://github.com/Dakta))
|
|
144
|
+
|
|
145
|
+
## [0.3.3](https://github.com/voxpupuli/beaker-docker/tree/0.3.3) (2018-04-16)
|
|
146
|
+
|
|
147
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.3.2...0.3.3)
|
|
148
|
+
|
|
149
|
+
**Merged pull requests:**
|
|
150
|
+
|
|
151
|
+
- \(BKR-305\) Support custom docker options [\#8](https://github.com/voxpupuli/beaker-docker/pull/8) ([double16](https://github.com/double16))
|
|
152
|
+
|
|
153
|
+
## [0.3.2](https://github.com/voxpupuli/beaker-docker/tree/0.3.2) (2018-04-09)
|
|
154
|
+
|
|
155
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.3.1...0.3.2)
|
|
156
|
+
|
|
157
|
+
**Merged pull requests:**
|
|
158
|
+
|
|
159
|
+
- \(MAINT\) fix paths when using DOCKER\_TOOLBOX on windows [\#7](https://github.com/voxpupuli/beaker-docker/pull/7) ([tabakhase](https://github.com/tabakhase))
|
|
160
|
+
|
|
161
|
+
## [0.3.1](https://github.com/voxpupuli/beaker-docker/tree/0.3.1) (2018-02-22)
|
|
162
|
+
|
|
163
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.3.0...0.3.1)
|
|
164
|
+
|
|
165
|
+
**Merged pull requests:**
|
|
166
|
+
|
|
167
|
+
- Fix Archlinux support [\#6](https://github.com/voxpupuli/beaker-docker/pull/6) ([bastelfreak](https://github.com/bastelfreak))
|
|
168
|
+
|
|
169
|
+
## [0.3.0](https://github.com/voxpupuli/beaker-docker/tree/0.3.0) (2018-01-29)
|
|
170
|
+
|
|
171
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.2.0...0.3.0)
|
|
172
|
+
|
|
173
|
+
**Merged pull requests:**
|
|
174
|
+
|
|
175
|
+
- \[BKR-1021\] Archlinux support [\#5](https://github.com/voxpupuli/beaker-docker/pull/5) ([jantman](https://github.com/jantman))
|
|
176
|
+
- Don't set container name to node hostname [\#4](https://github.com/voxpupuli/beaker-docker/pull/4) ([jovrum](https://github.com/jovrum))
|
|
177
|
+
|
|
178
|
+
## [0.2.0](https://github.com/voxpupuli/beaker-docker/tree/0.2.0) (2017-08-11)
|
|
179
|
+
|
|
180
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/0.1.0...0.2.0)
|
|
181
|
+
|
|
182
|
+
**Merged pull requests:**
|
|
183
|
+
|
|
184
|
+
- \(BKR-1189\) Fix port mapping [\#3](https://github.com/voxpupuli/beaker-docker/pull/3) ([rishijavia](https://github.com/rishijavia))
|
|
185
|
+
- Make beaker-docker work in a docker container [\#2](https://github.com/voxpupuli/beaker-docker/pull/2) ([hedinasr](https://github.com/hedinasr))
|
|
186
|
+
|
|
187
|
+
## [0.1.0](https://github.com/voxpupuli/beaker-docker/tree/0.1.0) (2017-08-01)
|
|
188
|
+
|
|
189
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-docker/compare/7f6a78541f30385016478e810ecb0c14f3936e20...0.1.0)
|
|
190
|
+
|
|
191
|
+
**Merged pull requests:**
|
|
192
|
+
|
|
193
|
+
- \(MAINT\) Add docker-api dependency as its removed from beaker [\#1](https://github.com/voxpupuli/beaker-docker/pull/1) ([rishijavia](https://github.com/rishijavia))
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
source ENV['GEM_SOURCE'] ||
|
|
1
|
+
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
@@ -16,10 +16,19 @@ end
|
|
|
16
16
|
# We don't put beaker in as a test dependency because we
|
|
17
17
|
# don't want to create a transitive dependency
|
|
18
18
|
group :acceptance_testing do
|
|
19
|
-
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '
|
|
19
|
+
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '>= 4.30')
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
if File.exists? "#{__FILE__}.local"
|
|
24
24
|
eval(File.read("#{__FILE__}.local"), binding)
|
|
25
25
|
end
|
|
26
|
+
|
|
27
|
+
group :coverage, optional: ENV['COVERAGE']!='yes' do
|
|
28
|
+
gem 'simplecov-console', :require => false
|
|
29
|
+
gem 'codecov', :require => false
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
group :release do
|
|
33
|
+
gem 'github_changelog_generator', require: false
|
|
34
|
+
end
|
data/README.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# beaker-docker
|
|
2
2
|
|
|
3
|
+
[](https://github.com/voxpupuli/beaker-docker/blob/master/LICENSE)
|
|
4
|
+
[](https://github.com/voxpupuli/beaker-docker/actions/workflows/test.yml)
|
|
5
|
+
[](https://codecov.io/gh/voxpupuli/beaker-docker)
|
|
6
|
+
[](https://github.com/voxpupuli/beaker-docker/actions/workflows/release.yml)
|
|
7
|
+
[](https://rubygems.org/gems/beaker-docker)
|
|
8
|
+
[](https://rubygems.org/gems/beaker-docker)
|
|
9
|
+
[](#transfer-notice)
|
|
10
|
+
|
|
3
11
|
Beaker library to use docker hypervisor
|
|
4
12
|
|
|
5
13
|
## How to use this wizardry
|
|
@@ -110,12 +118,24 @@ There is a simple rake task to invoke acceptance test for the library:
|
|
|
110
118
|
bundle exec rake test:acceptance
|
|
111
119
|
```
|
|
112
120
|
|
|
113
|
-
##
|
|
121
|
+
## Transfer Notice
|
|
122
|
+
|
|
123
|
+
This plugin was originally authored by [Puppet Inc](http://puppet.com).
|
|
124
|
+
The maintainer preferred that Puppet Community take ownership of the module for future improvement and maintenance.
|
|
125
|
+
Existing pull requests and issues were transferred over, please fork and continue to contribute here.
|
|
126
|
+
|
|
127
|
+
Previously: https://github.com/puppetlabs/beaker
|
|
114
128
|
|
|
115
|
-
|
|
129
|
+
## License
|
|
116
130
|
|
|
117
|
-
|
|
131
|
+
This gem is licensed under the Apache-2 license.
|
|
118
132
|
|
|
119
|
-
|
|
133
|
+
## Release information
|
|
120
134
|
|
|
121
|
-
|
|
135
|
+
To make a new release, please do:
|
|
136
|
+
* update the version in `lib/beaker-docker/version.rb`
|
|
137
|
+
* Install gems with `bundle install --with release --path .vendor`
|
|
138
|
+
* generate the changelog with `bundle exec rake changelog`
|
|
139
|
+
* Check if the new version matches the closed issues/PRs in the changelog
|
|
140
|
+
* Create a PR with it
|
|
141
|
+
* After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages
|
data/Rakefile
CHANGED
|
@@ -163,3 +163,17 @@ namespace :docs do
|
|
|
163
163
|
end
|
|
164
164
|
end
|
|
165
165
|
end
|
|
166
|
+
|
|
167
|
+
begin
|
|
168
|
+
require 'rubygems'
|
|
169
|
+
require 'github_changelog_generator/task'
|
|
170
|
+
rescue LoadError
|
|
171
|
+
else
|
|
172
|
+
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
|
173
|
+
config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
|
|
174
|
+
config.user = 'voxpupuli'
|
|
175
|
+
config.project = 'beaker-docker'
|
|
176
|
+
gem_version = Gem::Specification.load("#{config.project}.gemspec").version
|
|
177
|
+
config.future_release = gem_version
|
|
178
|
+
end
|
|
179
|
+
end
|
data/beaker-docker.gemspec
CHANGED
|
@@ -27,8 +27,6 @@ Gem::Specification.new do |s|
|
|
|
27
27
|
s.add_development_dependency 'rspec-its', '~> 1.3'
|
|
28
28
|
s.add_development_dependency 'fakefs', '~> 1.3'
|
|
29
29
|
s.add_development_dependency 'rake', '~> 13.0'
|
|
30
|
-
s.add_development_dependency 'simplecov', '~> 0.18'
|
|
31
|
-
s.add_development_dependency 'pry', '~> 0.10'
|
|
32
30
|
|
|
33
31
|
# Run time dependencies
|
|
34
32
|
s.add_runtime_dependency 'stringify-hash', '~> 0.0.0'
|
|
@@ -44,6 +44,8 @@ module Beaker
|
|
|
44
44
|
else
|
|
45
45
|
@registry = ENV['DOCKER_REGISTRY']
|
|
46
46
|
end
|
|
47
|
+
elsif ::Docker.respond_to?(:podman?) && ::Docker.podman?
|
|
48
|
+
@docker_type = 'podman'
|
|
47
49
|
else
|
|
48
50
|
@docker_type = 'docker'
|
|
49
51
|
end
|
|
@@ -150,9 +152,41 @@ module Beaker
|
|
|
150
152
|
gw = network_settings['Gateway']
|
|
151
153
|
ip = gw unless (gw.nil? || gw.empty?)
|
|
152
154
|
else
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
# The many faces of container networking
|
|
156
|
+
|
|
157
|
+
# Host to Container
|
|
158
|
+
port22 = network_settings.dig('PortBindings','22/tcp')
|
|
159
|
+
ip = port22[0]['HostIp'] if port22
|
|
155
160
|
port = port22[0]['HostPort'] if port22
|
|
161
|
+
|
|
162
|
+
# Container to container
|
|
163
|
+
unless ip && port
|
|
164
|
+
ip = nil
|
|
165
|
+
port = nil
|
|
166
|
+
|
|
167
|
+
ip = network_settings['IPAddress']
|
|
168
|
+
port = 22 if ip && !ip.empty?
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Container through gateway
|
|
172
|
+
unless ip && port
|
|
173
|
+
ip = nil
|
|
174
|
+
port = nil
|
|
175
|
+
|
|
176
|
+
ip = network_settings['Gateway']
|
|
177
|
+
|
|
178
|
+
if ip && !ip.empty?
|
|
179
|
+
port22 = network_settings.dig('PortBindings','22/tcp')
|
|
180
|
+
port = port22[0]['HostPort'] if port22
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Legacy fallback
|
|
185
|
+
unless ip && port
|
|
186
|
+
port22 = network_settings.dig('Ports','22/tcp')
|
|
187
|
+
ip = port22[0]["HostIp"] if port22
|
|
188
|
+
port = port22[0]['HostPort'] if port22
|
|
189
|
+
end
|
|
156
190
|
end
|
|
157
191
|
end
|
|
158
192
|
|
|
@@ -348,7 +382,7 @@ module Beaker
|
|
|
348
382
|
container.exec(%w(apt-get update))
|
|
349
383
|
container.exec(%w(apt-get install -y openssh-server openssh-client))
|
|
350
384
|
container.exec(%w(sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/*))
|
|
351
|
-
when /fedora-(2[2-9])/
|
|
385
|
+
when /el-8/, /fedora-(2[2-9]|3[0-9])/
|
|
352
386
|
container.exec(%w(dnf clean all))
|
|
353
387
|
container.exec(%w(dnf install -y sudo openssh-server openssh-clients))
|
|
354
388
|
container.exec(%w(ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key))
|
|
@@ -485,15 +519,7 @@ module Beaker
|
|
|
485
519
|
RUN apt-get update
|
|
486
520
|
RUN apt-get install -y openssh-server openssh-client #{Beaker::HostPrebuiltSteps::CUMULUS_PACKAGES.join(' ')}
|
|
487
521
|
EOF
|
|
488
|
-
when /fedora-(2[2-9])/
|
|
489
|
-
dockerfile += <<~EOF
|
|
490
|
-
RUN dnf clean all
|
|
491
|
-
RUN dnf install -y sudo openssh-server openssh-clients #{Beaker::HostPrebuiltSteps::UNIX_PACKAGES.join(' ')}
|
|
492
|
-
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
|
|
493
|
-
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
|
|
494
|
-
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/*
|
|
495
|
-
EOF
|
|
496
|
-
when /el-8/
|
|
522
|
+
when /el-8/, /fedora-(2[2-9]|3)/
|
|
497
523
|
dockerfile += <<~EOF
|
|
498
524
|
RUN dnf clean all
|
|
499
525
|
RUN dnf install -y sudo openssh-server openssh-clients #{Beaker::HostPrebuiltSteps::RHEL8_PACKAGES.join(' ')}
|
|
@@ -134,6 +134,7 @@ module Beaker
|
|
|
134
134
|
allow( ::Docker ).to receive(:options).and_return(docker_options)
|
|
135
135
|
allow( ::Docker ).to receive(:options=)
|
|
136
136
|
allow( ::Docker ).to receive(:logger=)
|
|
137
|
+
allow( ::Docker ).to receive(:podman?).and_return(false)
|
|
137
138
|
allow( ::Docker ).to receive(:version).and_return(version)
|
|
138
139
|
allow( ::Docker::Image ).to receive(:build).and_return(image)
|
|
139
140
|
allow( ::Docker::Image ).to receive(:create).and_return(image)
|
|
@@ -490,7 +491,7 @@ module Beaker
|
|
|
490
491
|
ENV['DOCKER_HOST'] = nil
|
|
491
492
|
docker.provision
|
|
492
493
|
|
|
493
|
-
expect( hosts[0]['ip'] ).to be === '
|
|
494
|
+
expect( hosts[0]['ip'] ).to be === '192.0.2.1'
|
|
494
495
|
expect( hosts[0]['port'] ).to be === 8022
|
|
495
496
|
end
|
|
496
497
|
|
|
@@ -506,7 +507,7 @@ module Beaker
|
|
|
506
507
|
ENV['DOCKER_HOST'] = nil
|
|
507
508
|
docker.provision
|
|
508
509
|
|
|
509
|
-
expect( hosts[0]['ip'] ).to be === '
|
|
510
|
+
expect( hosts[0]['ip'] ).to be === '192.0.2.1'
|
|
510
511
|
expect( hosts[0]['port'] ).to be === 8022
|
|
511
512
|
expect( hosts[0]['ssh'][:password] ).to be === 'root'
|
|
512
513
|
expect( hosts[0]['ssh'][:port] ).to be === 8022
|
|
@@ -536,8 +537,8 @@ module Beaker
|
|
|
536
537
|
ENV['DOCKER_HOST'] = nil
|
|
537
538
|
docker.provision
|
|
538
539
|
|
|
539
|
-
expect( hosts[0]['ip'] ).to be === '
|
|
540
|
-
expect( hosts[0]['port'] ).to be ===
|
|
540
|
+
expect( hosts[0]['ip'] ).to be === '192.0.2.1'
|
|
541
|
+
expect( hosts[0]['port'] ).to be === 22
|
|
541
542
|
end
|
|
542
543
|
end
|
|
543
544
|
|
|
@@ -697,7 +698,7 @@ module Beaker
|
|
|
697
698
|
expect( dockerfile ).to be =~ /RUN zypper -n in openssh/
|
|
698
699
|
end
|
|
699
700
|
|
|
700
|
-
(22..
|
|
701
|
+
(22..39).to_a.each do | fedora_release |
|
|
701
702
|
it "should use dnf on fedora #{fedora_release}" do
|
|
702
703
|
FakeFS.deactivate!
|
|
703
704
|
dockerfile = docker.send(:dockerfile_for, {
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
|
-
require 'simplecov'
|
|
2
1
|
require 'rspec/its'
|
|
3
2
|
require 'beaker'
|
|
4
3
|
|
|
4
|
+
begin
|
|
5
|
+
require 'simplecov'
|
|
6
|
+
require 'simplecov-console'
|
|
7
|
+
require 'codecov'
|
|
8
|
+
rescue LoadError
|
|
9
|
+
else
|
|
10
|
+
SimpleCov.start do
|
|
11
|
+
track_files 'lib/**/*.rb'
|
|
12
|
+
|
|
13
|
+
add_filter '/spec'
|
|
14
|
+
|
|
15
|
+
enable_coverage :branch
|
|
16
|
+
|
|
17
|
+
# do not track vendored files
|
|
18
|
+
add_filter '/vendor'
|
|
19
|
+
add_filter '/.vendor'
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
SimpleCov.formatters = [
|
|
23
|
+
SimpleCov::Formatter::Console,
|
|
24
|
+
SimpleCov::Formatter::Codecov,
|
|
25
|
+
]
|
|
26
|
+
end
|
|
27
|
+
|
|
5
28
|
Dir.glob(Dir.pwd + '/lib/beaker/hypervisor/*.rb') {|file| require file}
|
|
6
29
|
|
|
7
30
|
# setup & require beaker's spec_helper.rb
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: beaker-docker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vox Pupuli
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2021-
|
|
14
|
+
date: 2021-08-06 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: rspec
|
|
@@ -69,34 +69,6 @@ dependencies:
|
|
|
69
69
|
- - "~>"
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
71
|
version: '13.0'
|
|
72
|
-
- !ruby/object:Gem::Dependency
|
|
73
|
-
name: simplecov
|
|
74
|
-
requirement: !ruby/object:Gem::Requirement
|
|
75
|
-
requirements:
|
|
76
|
-
- - "~>"
|
|
77
|
-
- !ruby/object:Gem::Version
|
|
78
|
-
version: '0.18'
|
|
79
|
-
type: :development
|
|
80
|
-
prerelease: false
|
|
81
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
82
|
-
requirements:
|
|
83
|
-
- - "~>"
|
|
84
|
-
- !ruby/object:Gem::Version
|
|
85
|
-
version: '0.18'
|
|
86
|
-
- !ruby/object:Gem::Dependency
|
|
87
|
-
name: pry
|
|
88
|
-
requirement: !ruby/object:Gem::Requirement
|
|
89
|
-
requirements:
|
|
90
|
-
- - "~>"
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: '0.10'
|
|
93
|
-
type: :development
|
|
94
|
-
prerelease: false
|
|
95
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
96
|
-
requirements:
|
|
97
|
-
- - "~>"
|
|
98
|
-
- !ruby/object:Gem::Version
|
|
99
|
-
version: '0.10'
|
|
100
72
|
- !ruby/object:Gem::Dependency
|
|
101
73
|
name: stringify-hash
|
|
102
74
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -172,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
172
144
|
- !ruby/object:Gem::Version
|
|
173
145
|
version: '0'
|
|
174
146
|
requirements: []
|
|
175
|
-
rubygems_version: 3.
|
|
147
|
+
rubygems_version: 3.2.22
|
|
176
148
|
signing_key:
|
|
177
149
|
specification_version: 4
|
|
178
150
|
summary: Beaker DSL Extension Helpers!
|