forked from k3s-io/k3s
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
456962b
commit d578198
Showing
7 changed files
with
215 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,7 @@ | ||
./bin | ||
./etc | ||
./build/data | ||
./build/data.tar.gz | ||
./pkg/data/zz_generated_bindata.go | ||
./package/data.tar.gz | ||
./.vagrant | ||
./.cache | ||
./.dapper | ||
./data-dir | ||
./dist | ||
./.trash-cache |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
# vim: sw=4:ts=4:et | ||
|
||
%define install_path /usr/bin | ||
%define util_path %{_datadir}/k3s | ||
%define install_sh %{util_path}/.install.sh | ||
%define uninstall_sh %{util_path}/.uninstall.sh | ||
|
||
Name: k3s | ||
Version: %{k3s_version} | ||
Release: %{k3s_release}%{?dist} | ||
Summary: Lightweight Kubernetes | ||
|
||
Group: System Environment/Base | ||
License: ASL 2.0 | ||
URL: http://k3s.io | ||
|
||
BuildRequires: systemd | ||
Requires(post): k3s-selinux >= %{k3s_policyver} | ||
|
||
%description | ||
The certified Kubernetes distribution built for IoT & Edge computing. | ||
|
||
%install | ||
install -d %{buildroot}%{install_path} | ||
install dist/artifacts/%{k3s_binary} %{buildroot}%{install_path}/k3s | ||
install -d %{buildroot}%{util_path} | ||
install install.sh %{buildroot}%{install_sh} | ||
|
||
%post | ||
# do not run install script on upgrade | ||
echo post-install args: $@ | ||
if [ $1 == 1 ]; then | ||
INSTALL_K3S_BIN_DIR=%{install_path} \ | ||
INSTALL_K3S_SKIP_DOWNLOAD=true \ | ||
INSTALL_K3S_SKIP_ENABLE=true \ | ||
UNINSTALL_K3S_SH=%{uninstall_sh} \ | ||
%{install_sh} | ||
fi | ||
%systemd_post k3s.service | ||
exit 0 | ||
|
||
%postun | ||
echo post-uninstall args: $@ | ||
# do not run uninstall script on upgrade | ||
if [ $1 == 0 ]; then | ||
%{uninstall_sh} | ||
rm -rf %{util_path} | ||
fi | ||
exit 0 | ||
|
||
%files | ||
%{install_path}/k3s | ||
%{install_sh} | ||
|
||
%changelog | ||
* Mon Mar 2 2020 Erik Wilson <erik@rancher.com> 0.1-1 | ||
- Initial version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
#!/bin/bash | ||
set -e -x | ||
|
||
cd $(dirname $0)/.. | ||
|
||
ARCH=${DRONE_STAGE_ARCH:-$(arch)} | ||
. ./scripts/version.sh | ||
|
||
if [[ ! "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(\-[^\+]*)?\+k3s.+$ ]]; then | ||
echo "k3s version $VERSION does not match regex for rpm upload" | ||
exit 0 | ||
fi | ||
|
||
TMPDIR=$(mktemp -d) | ||
cleanup() { | ||
exit_code=$? | ||
trap - EXIT INT | ||
rm -rf ${TMPDIR} | ||
exit ${exit_code} | ||
} | ||
trap cleanup EXIT INT | ||
|
||
export HOME=${TMPDIR} | ||
|
||
BIN_SUFFIX="" | ||
if [ ${ARCH} = aarch64 ] || [ ${ARCH} = arm64 ]; then | ||
BIN_SUFFIX="-arm64" | ||
elif [ ${ARCH} = armv7l ] || [ ${ARCH} = arm ]; then | ||
BIN_SUFFIX="-armhf" | ||
fi | ||
|
||
# capture version of k3s | ||
k3s_version=$(sed -E -e 's/^v([^-+]*).*$/\1/' <<< $VERSION) | ||
# capture pre-release and metadata information of k3s | ||
k3s_release=$(sed -E -e 's/\+k3s/+/; s/\+/-/g; s/^[^-]*//; s/^--/dev-/; s/-+/./g; s/^\.+//; s/\.+$//;' <<< $VERSION) | ||
# k3s-selinux policy version needed for functionality | ||
k3s_policyver=0.1-1 | ||
|
||
rpmbuild \ | ||
--define "k3s_version ${k3s_version}" \ | ||
--define "k3s_release ${k3s_release}" \ | ||
--define "k3s_policyver ${k3s_policyver}" \ | ||
--define "k3s_binary k3s${BIN_SUFFIX}" \ | ||
--define "_sourcedir ${PWD}" \ | ||
--define "_specdir ${PWD}" \ | ||
--define "_builddir ${PWD}" \ | ||
--define "_srcrpmdir ${PWD}" \ | ||
--define "_rpmdir ${PWD}/dist/rpm" \ | ||
--define "_buildrootdir ${PWD}/.rpm-build" \ | ||
-bb package/k3s.spec | ||
|
||
if ! grep "BEGIN PGP PRIVATE KEY BLOCK" <<<"$PRIVATE_KEY"; then | ||
echo "PRIVATE_KEY not defined, skipping rpm sign and upload" | ||
exit 0 | ||
fi | ||
|
||
cat <<\EOF >~/.rpmmacros | ||
%_signature gpg | ||
%_gpg_name ci@rancher.com | ||
EOF | ||
gpg --import - <<<"$PRIVATE_KEY" | ||
|
||
expect <<EOF | ||
set timeout 60 | ||
spawn sh -c "rpmsign --addsign dist/rpm/**/k3s-*.rpm" | ||
expect "Enter pass phrase:" | ||
send -- "$PRIVATE_KEY_PASS_PHRASE\r" | ||
expect eof | ||
lassign [wait] _ _ _ code | ||
exit \$code | ||
EOF | ||
|
||
if [ -z "$AWS_S3_BUCKET" ]; then | ||
echo "AWS_S3_BUCKET skipping rpm upload" | ||
exit 0 | ||
fi | ||
|
||
rpm-s3 --bucket $AWS_S3_BUCKET dist/rpm/**/k3s-*.rpm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
|
||
set -e -x | ||
|
||
TMPDIR=$(mktemp -d) | ||
cleanup() { | ||
exit_code=$? | ||
trap - EXIT INT | ||
rm -rf ${TMPDIR} | ||
exit ${exit_code} | ||
} | ||
trap cleanup EXIT INT | ||
|
||
export HOME=${TMPDIR} | ||
|
||
gpg --batch --gen-key - <<EOF | ||
%echo Generating a default key | ||
Key-Type: default | ||
Subkey-Type: default | ||
Name-Real: Rancher | ||
Name-Comment: CI | ||
Name-Email: ci@rancher.com | ||
Expire-Date: 0 | ||
# Key-Length: 4096 | ||
# Subkey-Length: 4096 | ||
Passphrase: $PRIVATE_KEY_PASS_PHRASE | ||
# %no-protection | ||
# %no-ask-passphrase | ||
# Do a commit here, so that we can later print "done" :-) | ||
%commit | ||
%echo done | ||
EOF | ||
|
||
gpg --armor --export ci@rancher.com >public.key | ||
gpg --armor --export-secret-key ci@rancher.com >private.key |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
|
||
set -e -x | ||
|
||
yum install -y git expect yum-utils rpm-build rpm-sign python-deltarpm epel-release | ||
yum install -y python2-pip | ||
pip install git+git://github.com/Voronenko/rpm-s3.git@5695c6ad9a08548141d3713328e1bd3f533d137e |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters