[PR #124] [MERGED] Add helm chart #700

Closed
opened 2025-12-29 01:24:42 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/sickcodes/Docker-OSX/pull/124
Author: @cephasara
Created: 1/13/2021
Status: Merged
Merged: 1/14/2021
Merged by: @sickcodes

Base: masterHead: master


📝 Commits (3)

  • b28dd70 add helm chart for running in Kubernetes
  • a0a3f67 add requriment for host machine
  • ce3ce48 update doc with features

📊 Changes

10 files changed (+1585 additions, -0 deletions)

View changed files

helm/.DS_Store (+0 -0)
helm/Chart.yaml (+7 -0)
helm/README.md (+44 -0)
helm/templates/_helpers.tpl (+32 -0)
helm/templates/configmap.yaml (+1175 -0)
helm/templates/data-pvc.yaml (+28 -0)
helm/templates/deployment.yaml (+124 -0)
helm/templates/ingress.yaml (+39 -0)
helm/templates/service.yaml (+30 -0)
helm/values.yaml (+106 -0)

📄 Description

Adds helm chart support for Kubernetes with minimal documentation.

What works:

  1. Setting cpu/memory options
  2. Setting VNC password
  3. Persistance
  4. Setting SMBIOS
  5. QEMU/virtio cpu changes
  6. Toggling Audio
  7. Additional port forwarding
  8. Kubernetes resource requests/limits
  9. Defining install partition size

What doesn't/isn't defined:

  1. Defining a different version of macOS
  2. Additional QEMU parameters
  3. GPU support

I have written this to leverage everything defined in the Dockerfiles, without making changes to them directly, but via Kubernetes configmaps instead. This makes it easier to merge into the existing codebase without breaking anything, albeit this is less optimized as it could be. For example, mac_hdd_ng.img is created twice [once in the Dockerfile itself and again with the Kubernetes configmap] as this allows us to update parameters and to maintain persistence.

I just want to share this in case anyone else would like to use this and contribute to it. It is by no means perfect--as it has been a hobbyist project for me, but a good starting point for anyone else whom might like to pick it up.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/sickcodes/Docker-OSX/pull/124 **Author:** [@cephasara](https://github.com/cephasara) **Created:** 1/13/2021 **Status:** ✅ Merged **Merged:** 1/14/2021 **Merged by:** [@sickcodes](https://github.com/sickcodes) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (3) - [`b28dd70`](https://github.com/sickcodes/Docker-OSX/commit/b28dd7051782ceb87dadede8676cb7a88dc28881) add helm chart for running in Kubernetes - [`a0a3f67`](https://github.com/sickcodes/Docker-OSX/commit/a0a3f67bc02c7398cf78381b3ee97cede426f6ac) add requriment for host machine - [`ce3ce48`](https://github.com/sickcodes/Docker-OSX/commit/ce3ce48eb1a732ad2a668b85a93bdc5133c80161) update doc with features ### 📊 Changes **10 files changed** (+1585 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `helm/.DS_Store` (+0 -0) ➕ `helm/Chart.yaml` (+7 -0) ➕ `helm/README.md` (+44 -0) ➕ `helm/templates/_helpers.tpl` (+32 -0) ➕ `helm/templates/configmap.yaml` (+1175 -0) ➕ `helm/templates/data-pvc.yaml` (+28 -0) ➕ `helm/templates/deployment.yaml` (+124 -0) ➕ `helm/templates/ingress.yaml` (+39 -0) ➕ `helm/templates/service.yaml` (+30 -0) ➕ `helm/values.yaml` (+106 -0) </details> ### 📄 Description Adds helm chart support for `Kubernetes` with minimal documentation. What works: 1) Setting cpu/memory options 1) Setting VNC password 1) Persistance 1) Setting SMBIOS 1) QEMU/virtio cpu changes 1) Toggling Audio 1) Additional port forwarding 1) Kubernetes resource requests/limits 1) Defining install partition size What doesn't/isn't defined: 1) Defining a different version of macOS 1) Additional QEMU parameters 1) GPU support I have written this to leverage everything defined in the Dockerfiles, without making changes to them directly, but via Kubernetes configmaps instead. This makes it easier to merge into the existing codebase without breaking anything, albeit this is less optimized as it could be. For example, `mac_hdd_ng.img` is created twice [once in the Dockerfile itself and again with the Kubernetes configmap] as this allows us to update parameters and to maintain persistence. I just want to share this in case anyone else would like to use this and contribute to it. It is by no means perfect--as it has been a hobbyist project for me, but a good starting point for anyone else whom might like to pick it up. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 01:24:42 +01:00
adam closed this issue 2025-12-29 01:24:42 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Docker-OSX#700