aboutsummaryrefslogtreecommitdiff
path: root/helm/values.yaml
blob: bbf416a2917d54d46635ab1aabf44e16a4f78077 (plain) (blame)
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# 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