mirror of
https://github.com/Maks1mS/alt-linux-vagrant-boxes.git
synced 2024-12-23 19:52:58 +03:00
init
This commit is contained in:
commit
6063360ded
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
iso/*.iso
|
1
README.md
Normal file
1
README.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
packer build -var-file=alt-server-v-10/vars.pkrvars.hcl libvirt.pkr.hcl
|
18
alt-server-v-10/http/autoinstall.scm
Normal file
18
alt-server-v-10/http/autoinstall.scm
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
("/sysconfig-base/language" action "write" lang ("en_US"))
|
||||||
|
("/sysconfig-base/kbd" action "write" layout "ctrl_shift_toggle")
|
||||||
|
("/datetime-installer" action "write" commit #t name "RU" zone "Europe/Moscow" utc #t)
|
||||||
|
("/evms/control" action "write" control open installer #t)
|
||||||
|
("/evms/control" action "write" control update)
|
||||||
|
("/evms/profiles/server" action apply commit #f clearall #t exclude ())
|
||||||
|
("/evms/control" action "write" control commit)
|
||||||
|
("/evms/control" action "write" control close)
|
||||||
|
("/pkg-init" action "write")
|
||||||
|
("/pkg-install" action "write" lists "" auto #t)
|
||||||
|
("/preinstall" action "write")
|
||||||
|
("/grub" action "write" device "/dev/vda" passwd #f passwd_1 "*" passwd_2 "*")
|
||||||
|
("/net-eth" action "write" reset #t)
|
||||||
|
("/net-eth" action "write" name "eth0" configuration "dhcp")
|
||||||
|
("/net-eth" action "write" commit #t)
|
||||||
|
("/root/change_password" language ("en_US") passwd_2 "vagrant" passwd_1 "vagrant")
|
||||||
|
("/users/create_account" new_name "vagrant" gecos "vagrant" allow_su #t auto #f passwd_1 "vagrant" passwd_2 "vagrant" autologin #f)
|
||||||
|
("/postinstall/laststate" script "http://server/script.sh")
|
5
alt-server-v-10/http/vm-profile.scm
Normal file
5
alt-server-v-10/http/vm-profile.scm
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
((server
|
||||||
|
(title . "Setup")
|
||||||
|
(action . trivial)
|
||||||
|
(actiondata ("/" (size 1024000 . #t ) (fsim . "Ext2/3") (methods plain)))
|
||||||
|
))
|
11
alt-server-v-10/setup.sh
Normal file
11
alt-server-v-10/setup.sh
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
# add vagrant's public key - user can ssh without password
|
||||||
|
mkdir -pm 700 /home/vagrant/.ssh
|
||||||
|
curl -q -o /home/vagrant/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
|
||||||
|
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
||||||
|
chown -R vagrant:vagrant /home/vagrant/.ssh
|
||||||
|
|
||||||
|
# give sudo access (grants all permissions to user vagrant)
|
||||||
|
echo "vagrant ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/vagrant
|
||||||
|
chmod 0440 /etc/sudoers.d/vagrant
|
17
alt-server-v-10/setup.yml
Normal file
17
alt-server-v-10/setup.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
- name: Provision
|
||||||
|
hosts: default
|
||||||
|
become: true
|
||||||
|
become_method: su
|
||||||
|
gather_facts: false
|
||||||
|
vars:
|
||||||
|
become_password: vagrant
|
||||||
|
tasks:
|
||||||
|
- name: Shell
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
mkdir -pm 700 /home/vagrant/.ssh
|
||||||
|
curl -q -o /home/vagrant/.ssh/authorized_keys https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub
|
||||||
|
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
||||||
|
chown -R vagrant:vagrant /home/vagrant/.ssh
|
||||||
|
echo "vagrant ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/vagrant
|
||||||
|
chmod 0440 /etc/sudoers.d/vagrant
|
22
alt-server-v-10/vars.pkrvars.hcl
Normal file
22
alt-server-v-10/vars.pkrvars.hcl
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
iso_url = "./iso/alt-server-v-10.1-x86_64.iso"
|
||||||
|
iso_checksum = "sha256:9955e7bb5ee9affbe3de7473a3bcd53f7d8463b9e2f43ef6831ebfe71bc7da6c"
|
||||||
|
|
||||||
|
ssh_username = "vagrant"
|
||||||
|
ssh_password = "vagrant"
|
||||||
|
|
||||||
|
vm_name = "alt-server-v-10"
|
||||||
|
|
||||||
|
http_dir = "./alt-server-v-10/http"
|
||||||
|
|
||||||
|
output_directory = "./builds/alt-server-v-10"
|
||||||
|
output_filename = "alt-server-v-10-amd64"
|
||||||
|
|
||||||
|
boot_command = [
|
||||||
|
"<wait><wait><wait><wait><wait><wait><wait><wait>",
|
||||||
|
"e<wait><down><down><down><end><spacebar>",
|
||||||
|
"ai curl=http://{{ .HTTPIP }}:{{ .HTTPPort }}/",
|
||||||
|
"<f10>"
|
||||||
|
]
|
||||||
|
|
||||||
|
setup_playbook = "./alt-server-v-10/setup.yml"
|
||||||
|
setup_script = "./alt-server-v-10/setup.sh"
|
0
iso/.gitkeep
Normal file
0
iso/.gitkeep
Normal file
88
libvirt.pkr.hcl
Normal file
88
libvirt.pkr.hcl
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
packer {
|
||||||
|
required_plugins {
|
||||||
|
qemu = {
|
||||||
|
source = "github.com/hashicorp/qemu"
|
||||||
|
version = "~> 1"
|
||||||
|
}
|
||||||
|
vagrant = {
|
||||||
|
source = "github.com/hashicorp/vagrant"
|
||||||
|
version = "~> 1"
|
||||||
|
}
|
||||||
|
ansible = {
|
||||||
|
source = "github.com/hashicorp/ansible"
|
||||||
|
version = "~> 1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "headless" {
|
||||||
|
type = bool
|
||||||
|
default = true
|
||||||
|
}
|
||||||
|
variable "iso_url" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
variable "iso_checksum" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
variable "http_dir" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
variable "vm_name" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
variable "boot_command" {
|
||||||
|
type = list(string)
|
||||||
|
}
|
||||||
|
variable "setup_script" {
|
||||||
|
type = string
|
||||||
|
}
|
||||||
|
|
||||||
|
source "qemu" "alt-linux" {
|
||||||
|
headless = "${var.headless}"
|
||||||
|
|
||||||
|
# Путь и контрольная сумма исходного ISO-образа
|
||||||
|
iso_url = "${var.iso_url}"
|
||||||
|
iso_checksum = "${var.iso_checksum}"
|
||||||
|
|
||||||
|
http_directory = "${var.http_dir}"
|
||||||
|
|
||||||
|
vm_name = "${var.vm_name}"
|
||||||
|
|
||||||
|
boot_wait = "15s"
|
||||||
|
boot_command = "${var.boot_command}"
|
||||||
|
|
||||||
|
accelerator = "kvm"
|
||||||
|
disk_size = 4096
|
||||||
|
format = "qcow2"
|
||||||
|
net_device = "virtio-net"
|
||||||
|
output_directory = "output-vagrant"
|
||||||
|
qemuargs = [
|
||||||
|
[ "-m", "1024" ],
|
||||||
|
[ "-smp", "1" ]
|
||||||
|
]
|
||||||
|
ssh_username = "vagrant"
|
||||||
|
ssh_password = "vagrant"
|
||||||
|
ssh_port = 22
|
||||||
|
ssh_wait_timeout = "10000s"
|
||||||
|
ssh_pty = true
|
||||||
|
}
|
||||||
|
|
||||||
|
build {
|
||||||
|
sources = [
|
||||||
|
"source.qemu.alt-linux"
|
||||||
|
]
|
||||||
|
|
||||||
|
# provisioner "ansible" {
|
||||||
|
# playbook_file = "${var.setup_playbook}"
|
||||||
|
# }
|
||||||
|
#provisioner "shell" {
|
||||||
|
#script = "${var.setup_script}"
|
||||||
|
#execute_command = "python -c 'import pty; pty.spawn(\"/bin/bash\")'; echo 'vagrant' | su -c sh -c '{{ .Vars }} {{ .Path }}'"
|
||||||
|
#}
|
||||||
|
|
||||||
|
post-processor "vagrant" {
|
||||||
|
keep_input_artifact = false
|
||||||
|
output = "package.box"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user