mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-01 12:04:37 +00:00
55 lines
1.1 KiB
Ruby
55 lines
1.1 KiB
Ruby
@image_name = "linuxkit/kubernetes"
|
|
|
|
@versions = {
|
|
kubernetes: "v1.6.1",
|
|
weave: "v1.9.4",
|
|
tini: "v0.14.0",
|
|
}
|
|
|
|
def install_packages pkgs
|
|
cmds = [
|
|
%(apt-get update -q),
|
|
%(apt-get upgrade -qy),
|
|
%(apt-get install -qy #{pkgs}),
|
|
]
|
|
|
|
cmds.each { |cmd| run cmd }
|
|
end
|
|
|
|
def setup_apt_config
|
|
prepare = [
|
|
'curl --silent "https://packages.cloud.google.com/apt/doc/apt-key.gpg" | apt-key add -',
|
|
'echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list',
|
|
]
|
|
|
|
dependencies = %(curl apt-transport-https)
|
|
|
|
install_packages dependencies
|
|
|
|
prepare.each { |cmd| run cmd }
|
|
end
|
|
|
|
def create_shell_wrapper script, path
|
|
run "echo \"#!/bin/sh\n#{script}\n\" > #{path} && chmod 0755 #{path}"
|
|
end
|
|
|
|
def mount_bind src, dst
|
|
"mount --bind #{src} #{dst}"
|
|
end
|
|
|
|
def mount_bind_hostns_self mnt
|
|
"nsenter --mount=/proc/1/ns/mnt mount -- --bind #{mnt} #{mnt}"
|
|
end
|
|
|
|
def mount_make_hostns_rshared mnt
|
|
"nsenter --mount=/proc/1/ns/mnt mount -- --make-rshared #{mnt}"
|
|
end
|
|
|
|
def mount_persistent_disk mnt
|
|
"/mount.sh #{mnt}"
|
|
end
|
|
|
|
def mkdir_p dir
|
|
"mkdir -p #{dir}"
|
|
end
|