Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add git-lfs Large File Storage support #40

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dockerfiles/centos/centos-7/centos-7-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ RUN yum -y install epel-release centos-release-scl && \
tmux \
sudo \
devtoolset-8 \
git-lfs \
which && \
rm /opt/rh/devtoolset-8/root/usr/bin/sudo && \
cp -af /etc/skel/ /etc/vncskel/ && \
Expand Down
3 changes: 2 additions & 1 deletion dockerfiles/debian/debian-10/debian-10-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ RUN apt-get clean && \
sudo \
fluxbox \
procps \
tightvncserver && \
tightvncserver \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
4 changes: 3 additions & 1 deletion dockerfiles/debian/debian-9/debian-9-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@

FROM debian:9

RUN apt-get clean && \
RUN echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list && \
apt-get clean && \
apt-get update && \
apt-get install -y \
gawk \
Expand All @@ -42,6 +43,7 @@ RUN apt-get clean && \
fluxbox \
procps \
tightvncserver && \
apt-get install -y -t stretch-backports git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
3 changes: 2 additions & 1 deletion dockerfiles/fedora/fedora-28/fedora-28-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ RUN dnf -y update && \
fluxbox \
hostname \
procps \
tigervnc-server && \
tigervnc-server \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
3 changes: 2 additions & 1 deletion dockerfiles/fedora/fedora-29/fedora-29-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ RUN dnf -y update && \
fluxbox \
hostname \
procps \
tigervnc-server && \
tigervnc-server \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
3 changes: 2 additions & 1 deletion dockerfiles/fedora/fedora-30/fedora-30-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ RUN dnf -y update && \
fluxbox \
hostname \
procps \
tigervnc-server && \
tigervnc-server \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
16 changes: 14 additions & 2 deletions dockerfiles/opensuse/opensuse-15.0/opensuse-15.0-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,18 @@

FROM opensuse/leap:15.0

RUN zypper --non-interactive install python \
RUN echo $'[github_git-lfs] \n\
name=github_git-lfs \n\
baseurl=https://packagecloud.io/github/git-lfs/opensuse/15.0/$basearch \n\
repo_gpgcheck=1 \n\
pkg_gpgcheck=0 \n\
enabled=1 \n\
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey \n\
autorefresh=1 \n\
type=rpm-md \n\
' >> /etc/zypp/repos.d/github_git-lfs.repo && \
zypper --gpg-auto-import-keys refresh github_git-lfs && \
zypper --non-interactive install python \
python3 \
gcc \
gcc-c++ \
Expand All @@ -39,7 +50,8 @@ RUN zypper --non-interactive install python \
net-tools \
xorg-x11-Xvnc \
gzip \
bzip2 && \
bzip2 \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
16 changes: 14 additions & 2 deletions dockerfiles/opensuse/opensuse-15.1/opensuse-15.1-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,18 @@

FROM opensuse/leap:15.1

RUN zypper --non-interactive install python \
RUN echo $'[github_git-lfs] \n\
name=github_git-lfs \n\
baseurl=https://packagecloud.io/github/git-lfs/opensuse/15.1/$basearch \n\
repo_gpgcheck=1 \n\
pkg_gpgcheck=0 \n\
enabled=1 \n\
gpgkey=https://packagecloud.io/github/git-lfs/gpgkey \n\
autorefresh=1 \n\
type=rpm-md \n\
' >> /etc/zypp/repos.d/github_git-lfs.repo && \
zypper --gpg-auto-import-keys refresh github_git-lfs && \
zypper --non-interactive install python \
python3 \
gcc \
gcc-c++ \
Expand All @@ -39,7 +50,8 @@ RUN zypper --non-interactive install python \
net-tools \
xorg-x11-Xvnc \
gzip \
bzip2 && \
bzip2 \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
10 changes: 8 additions & 2 deletions dockerfiles/ubuntu/ubuntu-16.04/ubuntu-16.04-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@

FROM ubuntu:16.04

RUN apt-get update && \
# apt-key is using fingerprint from https://packagecloud.io/github/git-lfs/gpgkey
# wget -O - https://packagecloud.io/github/git-lfs/gpgkey | gpg --with-fingerprint
RUN apt-get update && apt-get install -y apt-transport-https && \
echo "deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main" >> /etc/apt/sources.list && \
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 6D398DBD30DD78941E2C4797FE2A5F8BDC282033 && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a fingerprint for the key you can use and verify, since the key will be downloaded every time the image is built?

The manpage for apt-key even says

With adv --recv-key you can e.g. download key from
keyservers directly into the trusted set of keys. Note that there are no checks
performed, so it is easy to completely undermine the apt-secure(8) infrastructure if
used without care.

Does the same question apply in the zypper case?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rewitt1 --recv-keys 6D398DBD30DD78941E2C4797FE2A5F8BDC282033 is the PGP fingerprint. It seemed better to hard code a verifiable fingerprint than to trust running a shell script or carrying the gpg key as an artifact. This also applies for zypper because OpenSUSE has no packaging for git-lfs, at least not in the 15.1 release. As soon as we feel comfortable dropping Ubuntu 16.04 and OpenSUSE 15.2 is released we can get rid of this packagecloud workaround.

apt-get update && \
apt-get install -y \
gawk \
wget \
Expand All @@ -40,7 +45,8 @@ RUN apt-get update && \
sudo \
iputils-ping \
fluxbox \
tightvncserver && \
tightvncserver \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down
3 changes: 2 additions & 1 deletion dockerfiles/ubuntu/ubuntu-18.04/ubuntu-18.04-base/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ RUN apt-get update && \
iputils-ping \
iproute2 \
fluxbox \
tightvncserver && \
tightvncserver \
git-lfs && \
cp -af /etc/skel/ /etc/vncskel/ && \
echo "export DISPLAY=1" >>/etc/vncskel/.bashrc && \
mkdir /etc/vncskel/.vnc && \
Expand Down