define-alpine/setup.lua

62 lines
1.5 KiB
Lua

local utils = require("utils")
local alpine = require("alpine")
local alpine_base_version = "3.17"
local alpine_version = alpine_base_version..".1"
local packages = {
"alpine-baselayout",
-- "alpine-conf",
"busybox",
"libc-utils",
"alpine-keys",
}
modules = {}
local root = "./root"
function add_packages(new_packages)
utils.table_concat(packages, new_packages)
end
function add_file(path, content)
utils.expect_nil(alpine.write_file(root, path, content))
end
function add_symlink(path, target)
utils.expect_nil(alpine.symlink(root, path, target))
end
function chmod(path, perms)
utils.expect_nil(alpine.chmod(root, path, perms))
end
function mkdir(path)
utils.expect_nil(alpine.mkdir(root, path))
end
function touch(path)
utils.expect_nil(alpine.touch(root, path))
end
print("=> Initializing rootfs...")
utils.expect_nil(alpine.init_rootfs(root, alpine_base_version, alpine_version))
local function module(name)
print("=> Module: " .. name)
require("modules/" .. name)
end
module "fstab"
module "data"
module "kernel"
module "runit"
module "socklog"
module "hostname"
module "dhcpcd"
module "ntpsec"
module "nginx"
module "nftables"
print("=> Installing and upgrading packages...")
utils.expect_nil(alpine.make_world(root, packages))
print("=> Setting password...")
utils.expect_nil(alpine.set_password(root, "root", "1"))
print("=> Moving boot...")
utils.expect_nil(alpine.move_boot(root))
print("=> Making image...")
utils.expect_nil(alpine.make_squashfs(root, "image.squashfs"))