mirror of
https://github.com/rancher/os.git
synced 2025-06-24 22:11:33 +00:00
Build script
This commit is contained in:
parent
03db5d1058
commit
c9c095f202
@ -47,8 +47,10 @@ ARG OS_REPO=rancher
|
|||||||
ARG HOSTNAME_DEFAULT=rancher
|
ARG HOSTNAME_DEFAULT=rancher
|
||||||
ARG DISTRIB_ID=RancherOS
|
ARG DISTRIB_ID=RancherOS
|
||||||
|
|
||||||
ARG DOCKER_VERSION=1.11.1
|
ARG DOCKER_VERSION=1.11.2
|
||||||
ARG DOCKER_PATCH_VERSION=v${DOCKER_VERSION}-ros2
|
ARG DOCKER_PATCH_VERSION=v${DOCKER_VERSION}-ros1
|
||||||
|
ARG DOCKER_BUILD_VERSION=1.10.3
|
||||||
|
ARG DOCKER_BUILD_PATCH_VERSION=v${DOCKER_BUILD_VERSION}-ros1
|
||||||
ARG SELINUX_POLICY_URL=https://github.com/rancher/refpolicy/releases/download/v0.0.2/policy.29
|
ARG SELINUX_POLICY_URL=https://github.com/rancher/refpolicy/releases/download/v0.0.2/policy.29
|
||||||
|
|
||||||
ARG KERNEL_URL_amd64=https://github.com/rancher/os-kernel/releases/download/Ubuntu-4.4.0-23.41-rancher/linux-4.4.10-rancher-x86.tar.gz
|
ARG KERNEL_URL_amd64=https://github.com/rancher/os-kernel/releases/download/Ubuntu-4.4.0-23.41-rancher/linux-4.4.10-rancher-x86.tar.gz
|
||||||
@ -58,6 +60,10 @@ ARG DOCKER_URL_amd64=https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_
|
|||||||
ARG DOCKER_URL_arm=https://github.com/rancher/docker/releases/download/${DOCKER_PATCH_VERSION}/docker-${DOCKER_VERSION}_arm.tgz
|
ARG DOCKER_URL_arm=https://github.com/rancher/docker/releases/download/${DOCKER_PATCH_VERSION}/docker-${DOCKER_VERSION}_arm.tgz
|
||||||
ARG DOCKER_URL_arm64=https://github.com/rancher/docker/releases/download/${DOCKER_PATCH_VERSION}/docker-${DOCKER_VERSION}_arm64.tgz
|
ARG DOCKER_URL_arm64=https://github.com/rancher/docker/releases/download/${DOCKER_PATCH_VERSION}/docker-${DOCKER_VERSION}_arm64.tgz
|
||||||
|
|
||||||
|
ARG BUILD_DOCKER_URL_amd64=https://get.docker.com/builds/Linux/x86_64/docker-${DOCKER_BUILD_VERSION}
|
||||||
|
ARG BUILD_DOCKER_URL_arm=https://github.com/rancher/docker/releases/download/${DOCKER_BUILD_PATCH_VERSION}/docker-${DOCKER_BUILD_VERSION}_arm
|
||||||
|
ARG BUILD_DOCKER_URL_arm64=https://github.com/rancher/docker/releases/download/${DOCKER_BUILD_PATCH_VERSION}/docker-${DOCKER_BUILD_VERSION}_arm64
|
||||||
|
|
||||||
ARG TOOLCHAIN_arm64=aarch64-linux-gnu
|
ARG TOOLCHAIN_arm64=aarch64-linux-gnu
|
||||||
ARG TOOLCHAIN_arm=arm-linux-gnueabihf
|
ARG TOOLCHAIN_arm=arm-linux-gnueabihf
|
||||||
|
|
||||||
@ -68,25 +74,51 @@ ARG OS_SERVICES_REPO=https://raw.githubusercontent.com/${OS_REPO}/os-services
|
|||||||
ARG IMAGE_NAME=${OS_REPO}/os
|
ARG IMAGE_NAME=${OS_REPO}/os
|
||||||
ARG DFS_IMAGE=${OS_REPO}/docker:v${DOCKER_VERSION}
|
ARG DFS_IMAGE=${OS_REPO}/docker:v${DOCKER_VERSION}
|
||||||
|
|
||||||
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2016.02/os-base_amd64.tar.xz
|
ARG OS_BASE_URL_amd64=https://github.com/rancher/os-base/releases/download/v2016.05-1/os-base_amd64.tar.xz
|
||||||
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2016.02/os-base_arm64.tar.xz
|
ARG OS_BASE_URL_arm64=https://github.com/rancher/os-base/releases/download/v2016.05-1/os-base_arm64.tar.xz
|
||||||
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2016.02/os-base_arm.tar.xz
|
ARG OS_BASE_URL_arm=https://github.com/rancher/os-base/releases/download/v2016.05-1/os-base_arm.tar.xz
|
||||||
|
|
||||||
######################################################
|
######################################################
|
||||||
|
|
||||||
# Set up environment
|
# Set up environment and export all ARGS as ENV
|
||||||
ENV GOARCH $ARCH
|
ENV ARCH ${ARCH}
|
||||||
|
ENV BUILD_DOCKER_URL BUILD_DOCKER_URL_${ARCH}
|
||||||
|
ENV BUILD_DOCKER_URL_amd64 ${BUILD_DOCKER_URL_amd64}
|
||||||
|
ENV BUILD_DOCKER_URL_arm ${BUILD_DOCKER_URL_arm}
|
||||||
|
ENV BUILD_DOCKER_URL_arm64 ${BUILD_DOCKER_URL_arm64}
|
||||||
|
ENV DAPPER_HOST_ARCH ${DAPPER_HOST_ARCH}
|
||||||
|
ENV DFS_IMAGE ${DFS_IMAGE}
|
||||||
|
ENV DISTRIB_ID ${DISTRIB_ID}
|
||||||
|
ENV DOCKER_PATCH_VERSION ${DOCKER_PATCH_VERSION}
|
||||||
ENV DOCKER_URL DOCKER_URL_${ARCH}
|
ENV DOCKER_URL DOCKER_URL_${ARCH}
|
||||||
ENV KERNEL_URL KERNEL_URL_${ARCH}
|
ENV DOCKER_URL_amd64 ${DOCKER_URL_amd64}
|
||||||
ENV OS_BASE_URL OS_BASE_URL_${ARCH}
|
ENV DOCKER_URL_arm ${DOCKER_URL_arm}
|
||||||
ENV OS_BASE_SHA1 OS_BASE_SHA1_${ARCH}
|
ENV DOCKER_URL_arm64 ${DOCKER_URL_arm64}
|
||||||
ENV VBOX_MODULES_URL VBOX_MODULES_URL_${ARCH}
|
ENV DOCKER_VERSION ${DOCKER_VERSION}
|
||||||
ENV REPO_VERSION master
|
|
||||||
|
|
||||||
# Export all ARGS as ENV
|
|
||||||
ENV ARCH=${ARCH} DAPPER_HOST_ARCH=${DAPPER_HOST_ARCH} HOST_ARCH=${HOST_ARCH} OS_REPO=${OS_REPO} HOSTNAME_DEFAULT=${HOSTNAME_DEFAULT} DISTRIB_ID=${DISTRIB_ID} DOCKER_VERSION=${DOCKER_VERSION} DOCKER_PATCH_VERSION=${DOCKER_PATCH_VERSION} SELINUX_POLICY_URL=${SELINUX_POLICY_URL} KERNEL_URL_amd64=${KERNEL_URL_amd64} KERNEL_URL_arm64=${KERNEL_URL_arm64} DOCKER_URL_amd64=${DOCKER_URL_amd64} DOCKER_URL_arm=${DOCKER_URL_arm} DOCKER_URL_arm64=${DOCKER_URL_arm64} TOOLCHAIN_arm64=${TOOLCHAIN_arm64} TOOLCHAIN_arm=${TOOLCHAIN_arm} OS_RELEASES_YML=${OS_RELEASES_YML} VBOX_MODULES_URL=${VBOX_MODULES_URL} VBOX_MODULES_URL_amd64=${VBOX_MODULES_URL_amd64} OS_SERVICES_REPO=${OS_SERVICES_REPO} IMAGE_NAME=${IMAGE_NAME} DFS_IMAGE=${DFS_IMAGE} OS_BASE_URL=${OS_BASE_URL} OS_BASE_SHA1=${OS_BASE_SHA1} OS_BASE_URL_amd64=${OS_BASE_URL_amd64} OS_BASE_URL_arm=${OS_BASE_URL_arm} OS_BASE_URL_arm64=${OS_BASE_URL_arm64}
|
|
||||||
|
|
||||||
ENV DOWNLOADS /usr/src/downloads
|
ENV DOWNLOADS /usr/src/downloads
|
||||||
|
ENV GOARCH $ARCH
|
||||||
|
ENV HOSTNAME_DEFAULT ${HOSTNAME_DEFAULT}
|
||||||
|
ENV HOST_ARCH ${HOST_ARCH}
|
||||||
|
ENV IMAGE_NAME ${IMAGE_NAME}
|
||||||
|
ENV KERNEL_URL KERNEL_URL_${ARCH}
|
||||||
|
ENV KERNEL_URL_amd64 ${KERNEL_URL_amd64}
|
||||||
|
ENV KERNEL_URL_arm64 ${KERNEL_URL_arm64}
|
||||||
|
ENV OS_BASE_SHA1 OS_BASE_SHA1_${ARCH}
|
||||||
|
ENV OS_BASE_URL OS_BASE_URL_${ARCH}
|
||||||
|
ENV OS_BASE_URL_amd64 ${OS_BASE_URL_amd64}
|
||||||
|
ENV OS_BASE_URL_arm ${OS_BASE_URL_arm}
|
||||||
|
ENV OS_BASE_URL_arm64 ${OS_BASE_URL_arm64}
|
||||||
|
ENV OS_RELEASES_YML ${OS_RELEASES_YML}
|
||||||
|
ENV OS_REPO ${OS_REPO}
|
||||||
|
ENV OS_SERVICES_REPO ${OS_SERVICES_REPO}
|
||||||
|
ENV REPO_VERSION master
|
||||||
|
ENV SELINUX_POLICY_URL ${SELINUX_POLICY_URL}
|
||||||
|
ENV TOOLCHAIN_arm ${TOOLCHAIN_arm}
|
||||||
|
ENV TOOLCHAIN_arm64 ${TOOLCHAIN_arm64}
|
||||||
|
ENV VBOX_MODULES_URL ${VBOX_MODULES_URL}
|
||||||
|
ENV VBOX_MODULES_URL VBOX_MODULES_URL_${ARCH}
|
||||||
|
ENV VBOX_MODULES_URL_amd64 ${VBOX_MODULES_URL_amd64}
|
||||||
|
|
||||||
RUN mkdir -p ${DOWNLOADS}
|
RUN mkdir -p ${DOWNLOADS}
|
||||||
|
|
||||||
# Download kernel
|
# Download kernel
|
||||||
@ -116,8 +148,7 @@ ENV GOPATH /go
|
|||||||
ENV PATH ${GOPATH}/bin:/usr/local/go/bin:$PATH
|
ENV PATH ${GOPATH}/bin:/usr/local/go/bin:$PATH
|
||||||
|
|
||||||
# Install Host Docker
|
# Install Host Docker
|
||||||
RUN URL=DOCKER_URL_${HOST_ARCH} && \
|
RUN curl -fL ${!BUILD_DOCKER_URL} > /usr/bin/docker && \
|
||||||
curl -fL ${!URL} | tar xzf - --strip-components=1 -C /usr/bin docker/docker && \
|
|
||||||
chmod +x /usr/bin/docker
|
chmod +x /usr/bin/docker
|
||||||
|
|
||||||
# Install Target Docker
|
# Install Target Docker
|
||||||
@ -127,7 +158,7 @@ RUN curl -fL ${!DOCKER_URL} > ${DOWNLOADS}/docker.tgz
|
|||||||
RUN go get github.com/rancher/trash
|
RUN go get github.com/rancher/trash
|
||||||
|
|
||||||
# Install dapper
|
# Install dapper
|
||||||
RUN curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m` > /usr/bin/dapper && \
|
RUN curl -sL https://releases.rancher.com/dapper/latest/dapper-`uname -s`-`uname -m | sed 's/arm.*/arm/'` > /usr/bin/dapper && \
|
||||||
chmod +x /usr/bin/dapper
|
chmod +x /usr/bin/dapper
|
||||||
|
|
||||||
# Install toolchain
|
# Install toolchain
|
||||||
@ -177,7 +208,6 @@ RUN source /usr/src/toolchain-env; if [ "${TOOLCHAIN}" != "" ]; then \
|
|||||||
make install \
|
make install \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
|
||||||
RUN mkdir -p images/00-rootfs/build && \
|
RUN mkdir -p images/00-rootfs/build && \
|
||||||
curl -pfL ${!OS_BASE_URL} | tar xvJf - -C images/00-rootfs/build
|
curl -pfL ${!OS_BASE_URL} | tar xvJf - -C images/00-rootfs/build
|
||||||
|
|
||||||
|
@ -27,8 +27,9 @@ RUN rm /sbin/poweroff /sbin/reboot /sbin/halt && \
|
|||||||
addgroup -g 1103 sudo && \
|
addgroup -g 1103 sudo && \
|
||||||
adduser -u 1100 -G rancher -D -h /home/rancher -s /bin/bash rancher && \
|
adduser -u 1100 -G rancher -D -h /home/rancher -s /bin/bash rancher && \
|
||||||
adduser -u 1101 -G docker -D -h /home/docker -s /bin/bash docker && \
|
adduser -u 1101 -G docker -D -h /home/docker -s /bin/bash docker && \
|
||||||
sed -i 's/\(^docker.*\)/\1rancher/g' /etc/group && \
|
adduser rancher docker && \
|
||||||
sed -i 's/\(^sudo.*\)/\1rancher,docker/g' /etc/group && \
|
adduser rancher sudo && \
|
||||||
|
adduser docker sudo && \
|
||||||
echo '%sudo ALL=(ALL) ALL' >> /etc/sudoers
|
echo '%sudo ALL=(ALL) ALL' >> /etc/sudoers
|
||||||
COPY inputrc /etc/inputrc
|
COPY inputrc /etc/inputrc
|
||||||
COPY entry.sh /usr/sbin/entry.sh
|
COPY entry.sh /usr/sbin/entry.sh
|
||||||
|
@ -143,4 +143,5 @@ if [ -x /etc/rc.local ]; then
|
|||||||
/etc/rc.local || true
|
/etc/rc.local || true
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export TERM=linux
|
||||||
exec respawn -f /etc/respawn.conf
|
exec respawn -f /etc/respawn.conf
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
FROM rancher/os-base
|
|
||||||
COPY extra.sh /
|
|
||||||
CMD ["/extra.sh"]
|
|
@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
DIR=$(readlink /lib/modules/$(uname -r)/build)
|
|
||||||
STAMP=/lib/modules/$(uname -r)/.extra-done
|
|
||||||
VER=$(basename $DIR)
|
|
||||||
URL=https://github.com/rancher/os-kernel/releases/download/${VER}/extra.tar.gz
|
|
||||||
|
|
||||||
if [ -e $STAMP ]; then
|
|
||||||
echo Kernel extras already installed in $DIR
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo Downloading $URL
|
|
||||||
wget -O - $URL | gzip -dc | tar xf - -C /
|
|
||||||
touch $STAMP
|
|
||||||
|
|
||||||
echo Kernel extras installed at $DIR
|
|
@ -1,3 +0,0 @@
|
|||||||
FROM rancher/os-base
|
|
||||||
COPY headers.sh /
|
|
||||||
CMD ["/headers.sh"]
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
DIR=$(readlink /lib/modules/$(uname -r)/build)
|
|
||||||
STAMP=${DIR}/.done
|
|
||||||
VER=$(basename $DIR)
|
|
||||||
URL=https://github.com/rancher/os-kernel/releases/download/${VER}/build.tar.gz
|
|
||||||
|
|
||||||
if [ -e $STAMP ]; then
|
|
||||||
echo Headers already installed in $DIR
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo Downloading $URL
|
|
||||||
mkdir -p $DIR
|
|
||||||
wget -O - $URL | gzip -dc | tar xf - -C $DIR
|
|
||||||
touch $STAMP
|
|
||||||
|
|
||||||
echo Headers installed at $DIR
|
|
@ -1,2 +0,0 @@
|
|||||||
FROM rancher/os-console
|
|
||||||
CMD ["/bin/sh"]
|
|
@ -1,25 +0,0 @@
|
|||||||
FROM rancher/os-centosconsole-base
|
|
||||||
# FROM amd64=centos:7 arm64=skip arm=armhfbuild/centos:7
|
|
||||||
RUN yum upgrade -y && \
|
|
||||||
yum install -y iptables openssh-server rsync sudo vim less ca-certificates psmisc htop procps-ng
|
|
||||||
RUN rm -rf /etc/ssh/*key*
|
|
||||||
RUN rm -fr /sbin/poweroff /sbin/shutdown /sbin/reboot /sbin/halt /usr/sbin/poweroff /usr/sbin/shutdown /usr/sbin/reboot /usr/sbin/halt
|
|
||||||
RUN ln -s /sbin/agetty /sbin/getty
|
|
||||||
COPY build/entry.sh build/console.sh build/docker-init build/update-ssh-keys build/rancheros-install /usr/sbin/
|
|
||||||
RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
|
|
||||||
RUN groupadd --gid 1100 rancher && \
|
|
||||||
groupadd --gid 1101 docker && \
|
|
||||||
useradd -u 1100 -g rancher -G docker,wheel -m -s /bin/bash rancher && \
|
|
||||||
useradd -u 1101 -g docker -G docker,wheel -m -s /bin/bash docker && \
|
|
||||||
echo ClientAliveInterval 180 >> /etc/ssh/sshd_config && \
|
|
||||||
echo '## allow password less for rancher user' >> /etc/sudoers && \
|
|
||||||
echo 'rancher ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
echo '## allow password less for docker user' >> /etc/sudoers && \
|
|
||||||
echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
ln -sf /usr/bin/docker.dist /usr/bin/docker && \
|
|
||||||
ln -sf /usr/bin/docker-containerd.dist /usr/bin/docker-containerd && \
|
|
||||||
ln -sf /usr/bin/docker-containerd-shim.dist /usr/bin/docker-containerd-shim && \
|
|
||||||
ln -sf /usr/bin/docker-runc.dist /usr/bin/docker-runc
|
|
||||||
COPY prompt.sh /etc/profile.d/
|
|
||||||
ENTRYPOINT ["/usr/sbin/entry.sh"]
|
|
||||||
CMD ["/usr/sbin/console.sh"]
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -1 +0,0 @@
|
|||||||
export PS1='[\u@\h \W]\$ '
|
|
@ -1,24 +0,0 @@
|
|||||||
FROM rancher/os-debianconsole-base
|
|
||||||
# FROM amd64=debian:jessie arm64=aarch64/debian:jessie arm=resin/rpi-raspbian:jessie
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get upgrade --no-install-recommends -y && \
|
|
||||||
apt-get install -y --no-install-recommends iptables openssh-server rsync locales sudo vim less curl ca-certificates psmisc htop
|
|
||||||
RUN rm -rf /etc/ssh/*key*
|
|
||||||
RUN rm -fr /sbin/poweroff /sbin/shutdown /sbin/reboot /sbin/halt /usr/sbin/poweroff /usr/sbin/shutdown /usr/sbin/reboot /usr/sbin/halt
|
|
||||||
COPY build/entry.sh build/console.sh build/docker-init build/update-ssh-keys build/rancheros-install /usr/sbin/
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
RUN addgroup --gid 1100 rancher && \
|
|
||||||
addgroup --gid 1101 docker && \
|
|
||||||
useradd -u 1100 -g rancher -G docker,sudo -m -s /bin/bash rancher && \
|
|
||||||
useradd -u 1101 -g docker -G docker,sudo -m -s /bin/bash docker && \
|
|
||||||
echo ClientAliveInterval 180 >> /etc/ssh/sshd_config && \
|
|
||||||
echo '## allow password less for rancher user' >> /etc/sudoers && \
|
|
||||||
echo 'rancher ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
echo '## allow password less for docker user' >> /etc/sudoers && \
|
|
||||||
echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
ln -sf /usr/bin/docker.dist /usr/bin/docker && \
|
|
||||||
ln -sf /usr/bin/docker-containerd.dist /usr/bin/docker-containerd && \
|
|
||||||
ln -sf /usr/bin/docker-containerd-shim.dist /usr/bin/docker-containerd-shim && \
|
|
||||||
ln -sf /usr/bin/docker-runc.dist /usr/bin/docker-runc
|
|
||||||
ENTRYPOINT ["/usr/sbin/entry.sh"]
|
|
||||||
CMD ["/usr/sbin/console.sh"]
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -1,25 +0,0 @@
|
|||||||
FROM rancher/os-fedoraconsole-base
|
|
||||||
# FROM amd64=fedora:23 arm64=rancher/aarch64-fedora:23 arm=armv7/armhf-fedora:23
|
|
||||||
RUN dnf upgrade -y && \
|
|
||||||
dnf install -y iptables openssh-server rsync sudo vim less ca-certificates psmisc htop procps-ng
|
|
||||||
RUN rm -rf /etc/ssh/*key*
|
|
||||||
RUN rm -fr /sbin/poweroff /sbin/shutdown /sbin/reboot /sbin/halt /usr/sbin/poweroff /usr/sbin/shutdown /usr/sbin/reboot /usr/sbin/halt
|
|
||||||
RUN ln -s /sbin/agetty /sbin/getty
|
|
||||||
COPY build/entry.sh build/console.sh build/docker-init build/update-ssh-keys build/rancheros-install /usr/sbin/
|
|
||||||
RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
|
|
||||||
RUN groupadd --gid 1100 rancher && \
|
|
||||||
groupadd --gid 1101 docker && \
|
|
||||||
useradd -u 1100 -g rancher -G docker,wheel -m -s /bin/bash rancher && \
|
|
||||||
useradd -u 1101 -g docker -G docker,wheel -m -s /bin/bash docker && \
|
|
||||||
echo ClientAliveInterval 180 >> /etc/ssh/sshd_config && \
|
|
||||||
echo '## allow password less for rancher user' >> /etc/sudoers && \
|
|
||||||
echo 'rancher ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
echo '## allow password less for docker user' >> /etc/sudoers && \
|
|
||||||
echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
ln -sf /usr/bin/docker.dist /usr/bin/docker && \
|
|
||||||
ln -sf /usr/bin/docker-containerd.dist /usr/bin/docker-containerd && \
|
|
||||||
ln -sf /usr/bin/docker-containerd-shim.dist /usr/bin/docker-containerd-shim && \
|
|
||||||
ln -sf /usr/bin/docker-runc.dist /usr/bin/docker-runc
|
|
||||||
COPY prompt.sh /etc/profile.d/
|
|
||||||
ENTRYPOINT ["/usr/sbin/entry.sh"]
|
|
||||||
CMD ["/usr/sbin/console.sh"]
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -1 +0,0 @@
|
|||||||
export PS1='[\u@\h \W]\$ '
|
|
@ -1,7 +0,0 @@
|
|||||||
FROM rancher/os-resizefs-base
|
|
||||||
# FROM amd64=ubuntu:16.04 arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends cloud-guest-utils parted && \
|
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
||||||
COPY resizefs.sh /
|
|
||||||
ENTRYPOINT ["/resizefs.sh"]
|
|
@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
RESIZE_DEV=${RESIZE_DEV:?"RESIZE_DEV not set."}
|
|
||||||
STAMP=/var/log/resizefs.done
|
|
||||||
|
|
||||||
if [ -e "${STAMP}" ]; then
|
|
||||||
echo FS already resized.
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# TODO: rm hardcoded partition number, maybe identify RANCHER_STATE partition (can be the whole device)
|
|
||||||
if [ -b "${RESIZE_DEV}" ]; then
|
|
||||||
growpart ${RESIZE_DEV} 1 || : # ignore error "NOCHANGE: partition 1 is size NNN. it cannot be grown"
|
|
||||||
partprobe ${RESIZE_DEV}
|
|
||||||
resize2fs ${RESIZE_DEV}1
|
|
||||||
else
|
|
||||||
echo "Block device expected: ${RESIZE_DEV} is not."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
touch $STAMP
|
|
@ -1,29 +0,0 @@
|
|||||||
FROM rancher/os-fedoraconsole-base
|
|
||||||
# FROM amd64=fedora:23 arm64=rancher/aarch64-fedora:23 arm=armv7/armhf-fedora:23
|
|
||||||
RUN dnf upgrade -y && \
|
|
||||||
dnf install -y iptables openssh-server rsync sudo vim less ca-certificates psmisc htop procps-ng
|
|
||||||
RUN rm -rf /etc/ssh/*key*
|
|
||||||
RUN rm -fr /sbin/poweroff /sbin/shutdown /sbin/reboot /sbin/halt /usr/sbin/poweroff /usr/sbin/shutdown /usr/sbin/reboot /usr/sbin/halt
|
|
||||||
RUN ln -s /sbin/agetty /sbin/getty
|
|
||||||
COPY build/entry.sh build/console.sh build/docker-init build/update-ssh-keys build/rancheros-install /usr/sbin/
|
|
||||||
RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8
|
|
||||||
RUN groupadd --gid 1100 rancher && \
|
|
||||||
groupadd --gid 1101 docker && \
|
|
||||||
useradd -u 1100 -g rancher -G docker,wheel -m -s /bin/bash rancher && \
|
|
||||||
useradd -u 1101 -g docker -G docker,wheel -m -s /bin/bash docker && \
|
|
||||||
echo ClientAliveInterval 180 >> /etc/ssh/sshd_config && \
|
|
||||||
echo '## allow password less for rancher user' >> /etc/sudoers && \
|
|
||||||
echo 'rancher ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
echo '## allow password less for docker user' >> /etc/sudoers && \
|
|
||||||
echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
ln -sf /usr/bin/docker.dist /usr/bin/docker
|
|
||||||
COPY prompt.sh /etc/profile.d/
|
|
||||||
|
|
||||||
RUN dnf install -y git make gcc findutils selinux-policy-devel setools-console setools-devel
|
|
||||||
|
|
||||||
RUN git clone https://github.com/rancher/refpolicy.git /usr/src/refpolicy
|
|
||||||
RUN cd /usr/src/refpolicy && git submodule init && git submodule update && \
|
|
||||||
sed -i '/MONOLITHIC = y/c\MONOLITHIC = n' build.conf && \
|
|
||||||
make conf && make && make install-headers
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/sbin/entry.sh"]
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -1 +0,0 @@
|
|||||||
export PS1='[\u@\h \W]\$ '
|
|
@ -1,24 +0,0 @@
|
|||||||
FROM rancher/os-ubuntuconsole-base
|
|
||||||
# FROM amd64=ubuntu:16.04 arm64=aarch64/ubuntu:16.04 arm=armhf/ubuntu:16.04
|
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get upgrade --no-install-recommends -y && \
|
|
||||||
apt-get install -y --no-install-recommends iptables openssh-server rsync vim curl ca-certificates psmisc htop
|
|
||||||
RUN rm -rf /etc/ssh/*key*
|
|
||||||
RUN rm -fr /sbin/poweroff /sbin/shutdown /sbin/reboot /sbin/halt /usr/sbin/poweroff /usr/sbin/shutdown /usr/sbin/reboot /usr/sbin/halt
|
|
||||||
COPY build/entry.sh build/console.sh build/docker-init build/update-ssh-keys build/rancheros-install /usr/sbin/
|
|
||||||
RUN locale-gen en_US.UTF-8
|
|
||||||
RUN addgroup --gid 1100 rancher && \
|
|
||||||
addgroup --gid 1101 docker && \
|
|
||||||
useradd -u 1100 -g rancher -G docker,sudo -m -s /bin/bash rancher && \
|
|
||||||
useradd -u 1101 -g docker -G docker,sudo -m -s /bin/bash docker && \
|
|
||||||
echo ClientAliveInterval 180 >> /etc/ssh/sshd_config && \
|
|
||||||
echo '## allow password less for rancher user' >> /etc/sudoers && \
|
|
||||||
echo 'rancher ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
echo '## allow password less for docker user' >> /etc/sudoers && \
|
|
||||||
echo 'docker ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
|
|
||||||
ln -sf /usr/bin/docker.dist /usr/bin/docker && \
|
|
||||||
ln -sf /usr/bin/docker-containerd.dist /usr/bin/docker-containerd && \
|
|
||||||
ln -sf /usr/bin/docker-containerd-shim.dist /usr/bin/docker-containerd-shim && \
|
|
||||||
ln -sf /usr/bin/docker-runc.dist /usr/bin/docker-runc
|
|
||||||
ENTRYPOINT ["/usr/sbin/entry.sh"]
|
|
||||||
CMD ["/usr/sbin/console.sh"]
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -1,2 +0,0 @@
|
|||||||
FROM rancher/os-ubuntuconsole
|
|
||||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y xfce4 slim
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
rm -rf ./build
|
|
||||||
mkdir -p ./build
|
|
||||||
cp ./../01-base/entry.sh ./build/
|
|
||||||
cp ./../02-console/console.sh ./build/
|
|
||||||
cp ./../02-console/docker-init ./build/
|
|
||||||
cp ./../02-console/update-ssh-keys ./build/
|
|
||||||
cp ./../02-console/rancheros-install ./build/
|
|
@ -7,36 +7,19 @@ BASE=images
|
|||||||
source $(dirname $0)/version
|
source $(dirname $0)/version
|
||||||
cd $(dirname $0)/..
|
cd $(dirname $0)/..
|
||||||
|
|
||||||
DO_PUSH="$1"
|
for i in $BASE/[0-9]*; do
|
||||||
|
name="os-$(echo ${i} | cut -f2 -d-)"
|
||||||
|
tag="${OS_REPO}/${name}:${VERSION}${SUFFIX}"
|
||||||
|
echo Building ${tag}
|
||||||
|
if [ -x ${i}/prebuild.sh ]; then
|
||||||
|
${i}/prebuild.sh
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -n "$CORE" ]; then
|
if dapper -d --build -f ${i}/Dockerfile -- -t rancher/${name} ${i}; then
|
||||||
PREFIX=0
|
docker tag rancher/${name} ${tag}
|
||||||
fi
|
elif [ "$?" != "42" ]; then
|
||||||
|
exit 1
|
||||||
if [ "${DO_PUSH}" == "--push" ]; then
|
else
|
||||||
for i in $BASE/[0-9]*; do
|
echo "WARN: Skipping ${tag}"
|
||||||
name="os-$(echo ${i} | cut -f2 -d-)"
|
fi
|
||||||
tag="${OS_REPO}/${name}:${VERSION}${SUFFIX}"
|
done
|
||||||
echo Pushing ${tag}
|
|
||||||
docker push ${tag} || :
|
|
||||||
done
|
|
||||||
else
|
|
||||||
for i in $BASE/$PREFIX[0-9]*; do
|
|
||||||
name="os-$(echo ${i} | cut -f2 -d-)"
|
|
||||||
tag="${OS_REPO}/${name}:${VERSION}${SUFFIX}"
|
|
||||||
echo Building ${tag}
|
|
||||||
if [ -x ${i}/prebuild.sh ]; then
|
|
||||||
if ${i}/prebuild.sh; then
|
|
||||||
dapper -d --build -f ${i}/Dockerfile -- -t rancher/${name} ${i}
|
|
||||||
docker tag rancher/${name} ${tag}
|
|
||||||
elif [ "$?" != "42" ]; then
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "WARN: Skipping ${tag}"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
dapper -d --build -f ${i}/Dockerfile -- -t rancher/${name} ${i}
|
|
||||||
docker tag rancher/${name} ${tag}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
@ -10,8 +10,6 @@ if [ ! -e ../bin/host_ros ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
./template
|
./template
|
||||||
if [ "$HOST_ARCH" = "$ARCH" ]; then
|
./build-images
|
||||||
CORE=true ./build-images
|
|
||||||
fi
|
|
||||||
./tar-images
|
./tar-images
|
||||||
./layout
|
./layout
|
||||||
|
Loading…
Reference in New Issue
Block a user