Skip to content

Commit cbf6611

Browse files
authored
Merge pull request #15 from MissionCriticalCloud/sspans-sbp-patch-1
Patch net-ssh for newer RHEL / AlmaLinux versions
2 parents f1d8e95 + 1ea0ec1 commit cbf6611

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

Dockerfile

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1-
FROM chef/chefworkstation:21.9.634
1+
FROM chef/chefworkstation:22.7.1007
22

33
# Accept the license without prompting
44
ARG CHEF_LICENSE=accept
55

66
# Set any build variables here
7-
ARG VAGRANT_VERSION=2.2.18
7+
ARG VAGRANT_VERSION=2.2.19
8+
9+
ARG VAGRANT_GEMDIR=/opt/vagrant/embedded/gems/${VAGRANT_VERSION}/
10+
ARG CHEF_GEMDIR=/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/
11+
12+
ARG NET_SSH_PATCH1=f79ed49dc068317fb280bd2fb554ecb0ce13a7e1
13+
ARG NET_SSH_PATCH2=a45f54fe1de434605af0b7195dd9a91bccd2cec5
14+
15+
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
816

917
# Print Chef-Workstation component versions
1018
RUN /opt/chef-workstation/bin/chef -v
@@ -15,6 +23,7 @@ RUN echo "Installing dependencies..." \
1523
&& apt-get -qq install --no-install-recommends -y \
1624
build-essential \
1725
unzip \
26+
patchutils \
1827
&& apt-get clean \
1928
&& rm -rf /tmp/* /var/cache/debconf/*-old /var/lib/apt/lists/* \
2029
/var/lib/dpkg/*-old /var/log/*log /var/log/apt/* /var/tmp/*
@@ -32,6 +41,23 @@ RUN echo "Monkey patching Berkshelf (see https://github.com/berkshelf/berkshelf/
3241
&& sed -i -e 's/Berkshelf.formatter.skipping(cookbook, connection)/Berkshelf.formatter.skipping(cookbook, connection)\nrescue Net::HTTPClientException => e\nputs e.response.body/' \
3342
/opt/chef-workstation/embedded/lib/ruby/gems/*/gems/berkshelf-*/lib/berkshelf/uploader.rb
3443

44+
# Enterprise Linux 9 (RHEL/AlmaLinux/Rocky) ship with ssh-rsa signatures disabled.
45+
# For more details see https://www.openssh.com/txt/release-8.7
46+
#
47+
# The ruby gem net-ssh needs to be updated to 6.3.0.beta1 + patch to handle this.
48+
# Future releases of test-kitchen and vagrant will probably handle this better.
49+
RUN /opt/vagrant/embedded/bin/gem install net-ssh -v 6.3.0.beta1 --pre --install-dir ${VAGRANT_GEMDIR} && \
50+
/opt/chef-workstation/embedded/bin/gem install net-ssh -v 6.3.0.beta1 --pre --no-user-install --install-dir ${CHEF_GEMDIR} && \
51+
sed -i 's/gem "net-ssh", "= 6.1.0"/gem "net-ssh", "= 6.3.0.beta1"/' /opt/chef-workstation/bin/kitchen && \
52+
curl https://github.com/net-ssh/net-ssh/commit/${NET_SSH_PATCH1}.diff | filterdiff -p1 -x 'test/*' -x '.rubocop_todo.yml' | \
53+
patch -p1 -d ${VAGRANT_GEMDIR}/gems/net-ssh-6.3.0.beta1 && \
54+
curl https://github.com/net-ssh/net-ssh/commit/${NET_SSH_PATCH2}.diff | filterdiff -p1 -x 'test/*' -x '.rubocop_todo.yml' | \
55+
patch -p1 -d ${VAGRANT_GEMDIR}/gems/net-ssh-6.3.0.beta1 && \
56+
curl https://github.com/net-ssh/net-ssh/commit/${NET_SSH_PATCH1}.diff | filterdiff -p1 -x 'test/*' -x '.rubocop_todo.yml' | \
57+
patch -p1 -d ${CHEF_GEMDIR}/gems/net-ssh-6.3.0.beta1 && \
58+
curl https://github.com/net-ssh/net-ssh/commit/${NET_SSH_PATCH2}.diff | filterdiff -p1 -x 'test/*' -x '.rubocop_todo.yml' | \
59+
patch -p1 -d ${CHEF_GEMDIR}/gems/net-ssh-6.3.0.beta1
60+
3561
# Create directory and install knife-spork for cookbook deployment
3662
RUN mkdir -p ~/environments \
3763
&& chef gem install knife-spork

0 commit comments

Comments
 (0)