aboutsummaryrefslogtreecommitdiff
path: root/kvmxfile
blob: 08f9ffedb835598a41a1114581fada6e40ce52f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#
# Sample kvmx file - https://kvmx.fluxo.info
#

# Which base box you should use. Leave unconfigured to use kvmx-create instead.
#basebox="stretch"

# First user name
user="user"

# First user password
password="`head -c 20 /dev/urandom | base64`"

# Networking
#net="tap"
net="user"

# Set this is you want to be able to share a single folder between host and guest.
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
shared_folder="."
shared_folder_mountpoint="/home/$user/code/$VM"
#shared_folder_mountpoint="/srv/shared"
#shared_folder_mountpoint="/srv/kvmx"
#shared_folder_mountpoint="/vagrant"

# Set this is you want to be able to share multiple folders between host and guest.
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
# Format: <id1>:<host-folder1>:<guest-mountpoint1>,<id2>:<host-folder2>:<guest-mountpoint2>[,...]
#shared_folders="shared1:.:/home/$user/code/$VM,shared2:$HOME/.local/share/app:/home/$user/.local/share/app"

# Maximum packet size including any headers for shared folders using 9p
# See https://forums.lime-technology.com/topic/34691-9p-sharing-speed-not-what-i-expected/
#     https://github.com/clearcontainers/hyperstart/pull/25
#shared_folders_msize="524288"

# Shared folders caching
# See https://www.kernel.org/doc/Documentation/filesystems/9p.txt
#shared_folders_cache="none"

# Folder to sync during provisioning in the format "/host/folder1 /guest/folder1,/host/folder2 /guest/folder2[,...]".
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
#provision_rsync="$KVMX_BASE/share/provision/ /usr/local/share/kvmx/provision/"
#provision_rsync="puppet/ /etc/puppet/"

# Options for provision_rsync
#provision_rsync_opts="--exclude=somefolder"

# Absolute path for a provision script located inside the guest.
# Needs ssh_support set to "y" and a workable SSH connection to the guest.
#provision_command="/usr/local/share/kvmx/provision/development && /etc/puppet/bin/provision && /etc/puppet/bin/deploy"
#provision_command="/usr/local/share/kvmx/provision/development && /etc/puppet/bin/deploy"
#provision_command="/usr/local/share/kvmx/provision/development && /home/$user/code/$VM/bin/custom-provisioner"
#provision_command="/usr/local/share/kvmx/provision/development"
#provision_command="/usr/local/share/kvmx/provision/desktop-basic"

# Startup command
#startup_command="/path/to/custom/command"
#startup_command="hydractl aperiodic-upgrade"

# Graphics
# See https://wiki.archlinux.org/index.php/QEMU#Graphics
#graphics="-vga std -nographic -vnc :$GUEST_DISPLAY"
graphics="-vga qxl"

# VNC Client
#vnc_client="xtightvncviewer"
#vnc_client="xvnc4viewer"
#vnc_client="xvncviewer"
vnc_client="virt-viewer"

# SPICE support
spice="1"

# Set this if you want to attach an spice client when the machine boots.
run_spice_client="1"

# SPICE client
spice_client="spicec"

# Set this if you want to start an xpra session when the machine boots.
run_xpra="0"

# Set this if you want to start an xephyr session when the machine boots.
run_xephyr="0"

# Set this if you want kvmx to redimension the guest screen according to host's screen dimension
# Requires ssh_support and xrandr installed on both host and guest
xrandr="0"

# Xrandr device
#xrandr_device="qxl-0"
#xrandr_device="Virtual-0"

# Set screen resolution
#resolution="1280x785"

# Sound
#sound="0"
#sound="ac97"

# Set additional hostfwd mappings
#port_mapping="hostfwd=tcp:127.0.0.1:8080-:80,hostfwd=tcp:127.0.0.1:8443-:443"

# Where the guest image is stored
#image="$HOME/.local/share/kvmx/$VM/box.img"

# Where datafiles are stored: just set this if you know what you're doing
#datadir="$HOME/.local/share/kvmx/$VM"

# Image size
size="10G"

# Image format: raw or qcow2
format="qcow2"

# Image compression (qcow2 only)
qcow2_compression="1"

# Bootstrap method: custom or vmdeboostrap
method="custom"

# Hostname
hostname="machine"

# Domain
domain="example.org"

# System arch
arch="amd64"

# Box distribution when bootstraping a new image
version="stretch"

# Debian mirror
mirror="https://deb.debian.org/debian/"

# Memory
memory="2048"

# Enables remote administration using SSH. With this configuration enabled,
# kvmx will be able to administer a running virtual machine using SSH access
# inside the virtual machine.
ssh_support="y"

# Use a custom, per-virtual-machine generated SSH keypair. If you disable this
# configuration but still want guest administration using SSH, the default
# insecure keypair will be used.
#
# Please note that this setting won't take effect if you're using a basebox.
# In that case the basebox keypair will be used if it exists, otherwise kvmx
# fallsback to the default insecure keypair.
#
# This setting is used during virtual machine bootstrapping by kvmx-create.
ssh_custom="y"

# Bootloader (used only during bootstrapping by kvmx-create).
bootloader="grub"

# Drive interface
#drive_interface="ide" # Needed by some systems like NetBSD and FreeBSD
#drive_interface="virtio,cache=none,index=0,format=raw" # For raw devices

# See http://www.reactos.org/wiki/QEMU#Setting_up_network
#nic_model="ne2k_pci"

# Additional qemu opts
# Example: http://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest
#qemu_opts="-usb -device usb-host,hostbus=2,hostaddr=3"

# Number of CPUs
#smp="4"

# Enviroment passed to SSH commands
#ssh_env="TERM=xterm"

# Whether to be managed by kvmx-supervise
#supervise_manage="1"