mirror of
https://github.com/sickcodes/Docker-OSX.git
synced 2024-11-22 18:29:58 +08:00
204 lines
6.7 KiB
YAML
204 lines
6.7 KiB
YAML
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
replicaCount: 1
|
|
|
|
image:
|
|
repository: sickcodes/docker-osx-vnc
|
|
tag: latest
|
|
pullPolicy: IfNotPresent
|
|
userName: ubuntu
|
|
|
|
# Please note, this must be a directory name within `/system_image` mounted at the bottom in extraVolumeMounts
|
|
serverName: server
|
|
|
|
macos:
|
|
# add kexts to EFI/OC/kexts and update config.plist
|
|
# make sure your kexts are in kexts.path
|
|
kexts:
|
|
add: false
|
|
path: /system_image/kexts
|
|
kextsToAdd: {}
|
|
# - name: BrcmBluetoothInjector.kext
|
|
# executablePath: Contents/MacOS/BrcmBluetoothInjector
|
|
# plistPath: Contents/Info.plist
|
|
# - name: BrcmFirmwareData.kext
|
|
# executablePath: Contents/MacOS/BrcmFirmwareData
|
|
# plistPath: Contents/Info.plist
|
|
# - name: BrcmPatchRAM3.kext
|
|
# executablePath: Contents/MacOS/BrcmPatchRAM3
|
|
# plistPath: Contents/Info.plist
|
|
# SMBIOS settings
|
|
configPlist:
|
|
SystemProductName: iMacPro1,1
|
|
MLB: D25338500GUF8YLJA
|
|
SystemSerialNumber: D25LF7ZEF8JC
|
|
SystemUUID: 139C94D6-A533-47D2-874F-D365BFD8B047
|
|
bootArgs: '-v keepsyms=1 tlbto_us=0 vti=9 -wegoff agdpmod=pikera'
|
|
openCore:
|
|
# Rebuild OpenCore.qcow2: this can be disabled if none of the above parameters in kexts, configPlist changes, and changing the
|
|
# resolution are not desired, utilizing gpu passthrough and a few other things. Disabling is not recommended
|
|
rebuild: true
|
|
boot:
|
|
# set to zero to have OpenCore stay at boot menu
|
|
timeout: 0
|
|
installerSettings:
|
|
# if using more than one deployment, a write lock will be put on the system installer dmg, so this will need to be disabled
|
|
# for other pods
|
|
version: 10.15.7
|
|
path: /system_image/installers
|
|
|
|
# This section defines QEMU and virtlo parameters
|
|
#
|
|
# Note:
|
|
# *) Increase downloadDelay if the pod gets killed for readiness/liveliness check. The first time the pod is started,
|
|
# it will download the BaseSystem image and create a data partition to install the OS. If this value is really long,
|
|
# the pod will take very long to allow VNC connections if it is rebooted/killed.
|
|
# *) Big Sur (11.X) is currently broken, as it seems Apple reworked the packaging so that will have to be something fixed in
|
|
# https://github.com/kholia/OSX-KVM/blob/master/fetch-macOS-v2.py
|
|
# *) VNC and IOMMU GPU passthrough do not play together well. Disable one if using the other. This is a limitation of QEMU
|
|
# unfortunately, so this means VNC from macOS will have to be used to view the VM when not using a physical GPU.
|
|
# *) If using GPU passthrough, it is recommended to configure it first, as the installer will take way longer (several hours)
|
|
# to install macOS with a software GPU configured.
|
|
#
|
|
qemu:
|
|
cpu: Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+xsave,+xsaveopt,check
|
|
softwareGpu: vmware
|
|
hardwareGpu:
|
|
# when enabled, qemu.softwareGpu will be disabled automatically. disabling this will rely on softwareGpu instead
|
|
enabled: false
|
|
hardwareId: 09:00
|
|
# slot can be found with `lspci -v -s <hardware-id>`
|
|
slot: 05
|
|
# vfioGroup can be found with lsgroup.sh:
|
|
# https://github.com/kholia/OSX-KVM/blob/master/scripts/lsgroup.sh
|
|
vfioGroup: 50
|
|
# leave romfile blank if not using one to disable
|
|
romfile: /system_image/vbios/Sapphire.RX480.8192.160603.rom
|
|
systemInstaller:
|
|
# if using more than one deployment, a write lock will be put on the system installer dmg, so this will need to be disabled
|
|
# for other pods
|
|
enabled: false
|
|
downloadDelay: 15
|
|
# can be `writethrough`, `writeback`, or `none`
|
|
cache: none
|
|
# can be `native` or `threads`
|
|
io: threads
|
|
systemDisk:
|
|
size: 128G
|
|
# can be `writethrough`, `writeback`, or `none`
|
|
cache: writeback
|
|
# can be `native` or `threads`
|
|
io: threads
|
|
audio:
|
|
# this enables onboard audio, hdmi audio is handled with qemu.hardwareGpu
|
|
enabled: false
|
|
driver: alsa
|
|
netdev:
|
|
extraPortForwarding: hostfwd=tcp::5901-:5900
|
|
# for usb, pass host adapters like such:
|
|
# usb:
|
|
# - vendorId: 0a5c
|
|
# productId: 21e8
|
|
#
|
|
# please use lsgroup.sh to find your host ids:
|
|
# https://github.com/kholia/OSX-KVM/blob/master/scripts/lsgroup.sh
|
|
#
|
|
# for usb, may need to fix permissions:
|
|
# sudo chmod 666 /dev/bus/usb/<bus>/<device>
|
|
#
|
|
# if need to add a usb controller via vfio-pci, use qemu.extraArgs
|
|
#
|
|
usb: {}
|
|
# use the following formatting
|
|
# extraArgs:
|
|
# - -parallel none
|
|
# - -boot order=dc
|
|
extraArgs: {}
|
|
|
|
# Password for accessing vm over vnc
|
|
vnc:
|
|
enabled: true
|
|
resolution: 1920x1080
|
|
password: a5aeQbaPd4$jR80Q43
|
|
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
service:
|
|
type: LoadBalancer
|
|
ip: 192.168.1.10
|
|
targetPort: 50922
|
|
port: 10022
|
|
extraPorts:
|
|
- port: 5901
|
|
targetPort: 5901
|
|
protocol: TCP
|
|
name: os-level-vnc
|
|
|
|
ingress:
|
|
enabled: false
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: "true"
|
|
paths:
|
|
- /
|
|
hosts:
|
|
- docker-osx.local
|
|
tls: []
|
|
# - secretName: chart-example-tls
|
|
# hosts:
|
|
# - chart-example.local
|
|
|
|
# Note: Resources can vary dramatically depending on disk caching and software GPU rendering. With disk
|
|
# caching and software rendering up to x5 the cpu and x9 memory can be consumed. With disk cache off
|
|
# and GPU passthrough enabled up to x3 the cpu and x1.5 memory can be consumed. Therefore, these settings
|
|
# really depend on hardware and configuration choices. Note, these values used a 1080p video resolution
|
|
# as well.
|
|
#
|
|
# Warning: do not perform unit conversion on cpu and memory requests, as these units
|
|
# are tied qemu and virtio settings. Also, only use intergers for cpu requests.
|
|
resources:
|
|
limits:
|
|
cpu: 15
|
|
memory: 32768Mi
|
|
requests:
|
|
cpu: 4
|
|
memory: 16384Mi
|
|
|
|
nodeSelector: {}
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
persistence:
|
|
data:
|
|
enabled: false
|
|
## configuration data Persistent Volume Storage Class
|
|
## If defined, storageClassName: <storageClass>
|
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
|
## If undefined (the default) or set to null, no storageClassName spec is
|
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
|
## GKE, AWS & OpenStack)
|
|
##
|
|
# storageClass: "-"
|
|
##
|
|
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
|
## the existingClaim variable
|
|
existingClaim: docker-osx
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
|
|
# Any extra volumes to define for the pod
|
|
extraVolumes:
|
|
- name: data
|
|
hostPath:
|
|
path: /mnt/data/default/docker_osx/
|
|
type: DirectoryOrCreate
|
|
|
|
# Any extra volume mounts to define for the containers
|
|
extraVolumeMounts:
|
|
- name: data
|
|
mountPath: /system_image
|