mirror of
https://github.com/Luzifer/hetzner-alpine-k8s.git
synced 2024-11-08 14:20:01 +00:00
68 lines
1.7 KiB
HCL
68 lines
1.7 KiB
HCL
|
# Please see default.json for default values for these
|
||
|
variable "apk_tools_url" {}
|
||
|
variable "apk_tools_arch" {}
|
||
|
variable "apk_tools_version" {}
|
||
|
variable "apk_tools_checksum" {}
|
||
|
|
||
|
variable "alpine_version" {}
|
||
|
variable "alpine_mirror" {}
|
||
|
variable "alpine_repositories" {}
|
||
|
|
||
|
variable "boot_size" {}
|
||
|
variable "root_size" {}
|
||
|
variable "hostname" {}
|
||
|
|
||
|
variable "packages" {}
|
||
|
variable "services" {}
|
||
|
variable "nameservers" {}
|
||
|
variable "extlinux_modules" {}
|
||
|
variable "kernel_features" {}
|
||
|
variable "kernel_modules" {}
|
||
|
variable "default_kernel_opts" {}
|
||
|
variable "sysctl" {}
|
||
|
variable "chroot_commands" {}
|
||
|
|
||
|
locals {
|
||
|
timestamp = formatdate("DD-MM-YY.hh-mm-ss", timestamp())
|
||
|
snapshot_id = sha1(uuidv4())
|
||
|
}
|
||
|
|
||
|
source "hcloud" "alpine" {
|
||
|
location = "fsn1"
|
||
|
server_type = "cx11"
|
||
|
image = "ubuntu-20.04"
|
||
|
rescue = "linux64"
|
||
|
ssh_username = "root"
|
||
|
}
|
||
|
|
||
|
build {
|
||
|
name = "alpine"
|
||
|
|
||
|
source "source.hcloud.alpine" {
|
||
|
snapshot_name = var.hostname
|
||
|
snapshot_labels = {
|
||
|
"alpine.pius.dev/timestamp" = local.timestamp
|
||
|
"alpine.pius.dev/alpine-version" = var.alpine_version
|
||
|
"alpine.pius.dev/snapshot-id" = local.snapshot_id
|
||
|
}
|
||
|
}
|
||
|
|
||
|
provisioner "ansible" {
|
||
|
playbook_file = "playbook.yml"
|
||
|
extra_arguments = ["--extra-vars", "@config.json"]
|
||
|
}
|
||
|
|
||
|
post-processor "manifest" {
|
||
|
output = "/manifests/${build.PackerRunUUID}.json"
|
||
|
strip_path = true
|
||
|
custom_data = merge({
|
||
|
"alpine.pius.dev/alpine-version": var.alpine_version,
|
||
|
"alpine.pius.dev/packer-run-id": build.PackerRunUUID,
|
||
|
"alpine.pius.dev/snapshot-id": local.snapshot_id
|
||
|
}, zipmap(
|
||
|
formatlist("alpine.pius.dev/%s-version", keys(var.packages)),
|
||
|
values(var.packages)
|
||
|
))
|
||
|
}
|
||
|
}
|