[debian12] feat: initial addition of debian12
This commit is contained in:
parent
1f4ab8deee
commit
0d9fcb2f3c
66
debian12/http/preceed.cfg
Normal file
66
debian12/http/preceed.cfg
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#_preseed_V1
|
||||||
|
|
||||||
|
# localization
|
||||||
|
d-i debian-installer/language string en
|
||||||
|
d-i debian-installer/country string NL
|
||||||
|
d-i debian-installer/locale string en_US.UTF-8
|
||||||
|
d-i keyboard-configuration/xkb-keymap select us
|
||||||
|
|
||||||
|
# mirror
|
||||||
|
d-i mirror/protocol string http
|
||||||
|
d-i mirror/country string manual
|
||||||
|
d-i mirror/http/hostname string ftp.nl.debian.org
|
||||||
|
d-i mirror/http/directory string /debian
|
||||||
|
d-i mirror/http/proxy string
|
||||||
|
d-i mirror/suite string bookworm
|
||||||
|
|
||||||
|
# account
|
||||||
|
d-i passwd/root-login boolean false
|
||||||
|
d-i passwd/make-user boolean true
|
||||||
|
d-i passwd/username string packer
|
||||||
|
d-i passwd/user-password password packer
|
||||||
|
d-i passwd/user-password-again password packer
|
||||||
|
|
||||||
|
# timezone
|
||||||
|
d-i clock-setup/utc boolean true
|
||||||
|
d-i time/zone string Europe/Amsterdam
|
||||||
|
d-i clock-setup/ntp boolean true
|
||||||
|
d-i clock-setup/ntp-server string nl.pool.ntp.org
|
||||||
|
|
||||||
|
# disk partitioning
|
||||||
|
d-i partman-auto/disk string /dev/vda
|
||||||
|
d-i partman-auto/method string regular
|
||||||
|
d-i partman-auto/choose_recipe select atomic
|
||||||
|
d-i partman-partitioning/confirm_write_new_label boolean true
|
||||||
|
d-i partman/choose_partition select finish
|
||||||
|
d-i partman/confirm boolean true
|
||||||
|
d-i partman/confirm_nooverwrite boolean true
|
||||||
|
d-i partman/mount_style select uuid
|
||||||
|
|
||||||
|
# base system install
|
||||||
|
d-i base-installer/kernel/image string linux-image-amd64
|
||||||
|
|
||||||
|
# apt
|
||||||
|
d-i apt-setup/non-free-firmware boolean true
|
||||||
|
d-i apt-setup/non-free boolean true
|
||||||
|
d-i apt-setup/contrib boolean true
|
||||||
|
d-i apt-setup/disable-cdrom-entries boolean true
|
||||||
|
d-i apt-setup/services-select multiselect security, updates
|
||||||
|
d-i apt-setup/security_host string security.debian.org
|
||||||
|
d-i debian-installer/allow_unauthenticated boolean false
|
||||||
|
|
||||||
|
# package selection
|
||||||
|
tasksel tasksel/first multiselect standard, ssh-server
|
||||||
|
d-i pkgsel/upgrade select full-upgrade
|
||||||
|
popularity-contest popularity-contest/participate boolean false
|
||||||
|
|
||||||
|
# boot loader
|
||||||
|
d-i grub-installer/only_debian boolean true
|
||||||
|
d-i grub-installer/bootdev string /dev/vda
|
||||||
|
|
||||||
|
# finalize install
|
||||||
|
d-i finish-install/reboot_in_progress note
|
||||||
|
d-i cdrom-detect/eject boolean true
|
||||||
|
|
||||||
|
# remove installation-report
|
||||||
|
d-i preseed/late_command string in-target apt-get -y purge installation-report
|
134
debian12/packer.pkr.hcl
Normal file
134
debian12/packer.pkr.hcl
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
# packer
|
||||||
|
packer {
|
||||||
|
required_plugins {
|
||||||
|
proxmox = {
|
||||||
|
version = ">=1.1.8"
|
||||||
|
source = "github.com/hashicorp/proxmox"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# variables
|
||||||
|
variable "proxmox_iso_pool" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_node" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_password" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_storage_format" {
|
||||||
|
type = string
|
||||||
|
default = "raw"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_storage_pool" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_storage_pool_type" {
|
||||||
|
type = string
|
||||||
|
default = "rbd"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_url" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "proxmox_username" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "template_description" {
|
||||||
|
type = string
|
||||||
|
default = "Debian 12 Bookworm Template"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "template_name" {
|
||||||
|
type = string
|
||||||
|
default = "debian.template.siempie.internal"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "template_username" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "template_password" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "iso_image" {
|
||||||
|
type = string
|
||||||
|
default = "debian-12.5.0-amd64-netinst.iso"
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "version" {
|
||||||
|
type = string
|
||||||
|
default = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# builder
|
||||||
|
source "proxmox-iso" "template" {
|
||||||
|
|
||||||
|
# boot
|
||||||
|
boot_command = ["<esc><wait>auto url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<enter>"]
|
||||||
|
boot_wait = "10s"
|
||||||
|
|
||||||
|
# specs
|
||||||
|
cores = "2"
|
||||||
|
memory = "4096"
|
||||||
|
|
||||||
|
# storage
|
||||||
|
disks {
|
||||||
|
disk_size = "20G"
|
||||||
|
format = "${var.proxmox_storage_format}"
|
||||||
|
storage_pool = "${var.proxmox_storage_pool}"
|
||||||
|
type = "virtio"
|
||||||
|
}
|
||||||
|
|
||||||
|
# networking
|
||||||
|
network_adapters {
|
||||||
|
bridge = "vmbr0"
|
||||||
|
}
|
||||||
|
|
||||||
|
# misc
|
||||||
|
http_directory = "debian12/http"
|
||||||
|
insecure_skip_tls_verify = true
|
||||||
|
iso_file = "${var.proxmox_iso_pool}/${var.iso_image}"
|
||||||
|
node = "${var.proxmox_node}"
|
||||||
|
vm_id = "998"
|
||||||
|
tags = "mgmt"
|
||||||
|
os = "l26"
|
||||||
|
password = "${var.proxmox_password}"
|
||||||
|
proxmox_url = "${var.proxmox_url}"
|
||||||
|
scsi_controller = "virtio-scsi-single"
|
||||||
|
ssh_port = 22
|
||||||
|
ssh_timeout = "20m"
|
||||||
|
ssh_username = "${var.template_username}"
|
||||||
|
ssh_password = "${var.template_password}"
|
||||||
|
template_description = "${var.template_description}"
|
||||||
|
template_name = "${var.template_name}"
|
||||||
|
unmount_iso = true
|
||||||
|
username = "${var.proxmox_username}"
|
||||||
|
}
|
||||||
|
|
||||||
|
build {
|
||||||
|
sources = ["source.proxmox-iso.template"]
|
||||||
|
provisioner "shell" {
|
||||||
|
script = "scripts/debian12.sh"
|
||||||
|
}
|
||||||
|
}
|
1
scripts/debian12.sh
Normal file
1
scripts/debian12.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
echo "> hello ..."
|
Loading…
Reference in New Issue
Block a user