From a6049bd63b0b8e8c2073029cf4937480aa6aa5dc Mon Sep 17 00:00:00 2001 From: Xstar97TheNoob <9399967+xstar97@users.noreply.github.com> Date: Sat, 20 May 2023 17:45:22 -0400 Subject: [PATCH] feat(romm) add romm (#8748) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Description** a game library manager focused in retro gaming. ⚒️ Fixes # **⚙️ Type of change** - [X] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** **📃 Notes:** **✔️ Checklist:** - [X] ⚖️ My code follows the style guidelines of this project - [X] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning **➕ App addition** If this PR is an app addition please make sure you have done the following. - [X] 🪞 I have opened a PR on [truecharts/containers](https://github.com/truecharts/containers) adding the container to TrueCharts mirror repo. - [X] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Co-authored-by: Stavros kois Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> --- .github/ct-install.yaml | 1 + charts/incubator/romm/.helmignore | 30 +++++ charts/incubator/romm/CHANGELOG.md | 1 + charts/incubator/romm/Chart.yaml | 32 +++++ charts/incubator/romm/README.md | 1 + .../incubator/romm/docs/installation_notes.md | 50 +++++++ charts/incubator/romm/icon.png | Bin 0 -> 28979 bytes charts/incubator/romm/questions.yaml | 126 ++++++++++++++++++ charts/incubator/romm/templates/NOTES.txt | 1 + charts/incubator/romm/templates/common.yaml | 1 + charts/incubator/romm/values.yaml | 70 ++++++++++ 11 files changed, 313 insertions(+) create mode 100644 charts/incubator/romm/.helmignore create mode 100644 charts/incubator/romm/CHANGELOG.md create mode 100644 charts/incubator/romm/Chart.yaml create mode 100644 charts/incubator/romm/README.md create mode 100644 charts/incubator/romm/docs/installation_notes.md create mode 100644 charts/incubator/romm/icon.png create mode 100644 charts/incubator/romm/questions.yaml create mode 100644 charts/incubator/romm/templates/NOTES.txt create mode 100644 charts/incubator/romm/templates/common.yaml create mode 100644 charts/incubator/romm/values.yaml diff --git a/.github/ct-install.yaml b/.github/ct-install.yaml index 2856d09725b..e5b38211d9b 100644 --- a/.github/ct-install.yaml +++ b/.github/ct-install.yaml @@ -32,6 +32,7 @@ excluded-charts: - charts/stable/promcord - charts/stable/rdesktop - charts/stable/reg + - charts/incubator/romm - charts/stable/ser2sock - charts/stable/storj-node - charts/stable/tailscale diff --git a/charts/incubator/romm/.helmignore b/charts/incubator/romm/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/romm/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/romm/CHANGELOG.md b/charts/incubator/romm/CHANGELOG.md new file mode 100644 index 00000000000..825c32f0d03 --- /dev/null +++ b/charts/incubator/romm/CHANGELOG.md @@ -0,0 +1 @@ +# Changelog diff --git a/charts/incubator/romm/Chart.yaml b/charts/incubator/romm/Chart.yaml new file mode 100644 index 00000000000..6da1b82ac56 --- /dev/null +++ b/charts/incubator/romm/Chart.yaml @@ -0,0 +1,32 @@ +apiVersion: v2 +appVersion: "1.7.1" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.8.1 + - condition: mariadb.enabled + name: mariadb + repository: https://deps.truecharts.org/ + version: 7.0.27 +deprecated: false +description: game library manager focused in retro gaming +home: https://truecharts.org/charts/incubator/romm +icon: https://truecharts.org/img/hotlink-ok/chart-icons/romm.png +keywords: + - romm + - rom-manager +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: romm +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/romm + - https://github.com/zurdi15/romm +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - media + truecharts.org/SCALE-support: "true" diff --git a/charts/incubator/romm/README.md b/charts/incubator/romm/README.md new file mode 100644 index 00000000000..7e59600739c --- /dev/null +++ b/charts/incubator/romm/README.md @@ -0,0 +1 @@ +# README diff --git a/charts/incubator/romm/docs/installation_notes.md b/charts/incubator/romm/docs/installation_notes.md new file mode 100644 index 00000000000..75ea60c8de9 --- /dev/null +++ b/charts/incubator/romm/docs/installation_notes.md @@ -0,0 +1,50 @@ +# Installation Notes + +Set Client Id and Client Secret with the API key from [IGDB](https://api-docs.igdb.com/#about) +SteamGridDB API Key is still WIP and doesnt need to be set. + +This app has two folder structures found [here](https://github.com/zurdi15/romm/blob/master/README.md#-folder-structure). + +Structure 1 (high priority) - roms folder at root of library folder: + +```txt +library/ +├─ roms/ + ├─ gbc/ + │ ├─ rom_1.gbc + │ ├─ rom_2.gbc + │ + ├─ gba/ + │ ├─ rom_1.gba + │ ├─ rom_2.gba + │ + ├─ ps/ + ├─ my_multifile_game/ + │ ├─ my_game_cd1.iso + │ ├─ my_game_cd2.iso + │ + ├─ rom_1.iso +``` + +Structure 2 (low priority) - roms folder inside each platform folder + +```txt +library/ +├─ gbc/ +│ ├─ roms/ +│ ├─ rom_1.gbc +│ ├─ rom_2.gbc +| +├─ gba/ +│ ├─ roms/ +│ ├─ rom_1.gba +│ ├─ rom_2.gba +| +├─ ps/ +│ ├─ roms/ +│ ├─ my_multifile_game/ +│ │ ├─ my_game_cd1.iso +│ │ ├─ my_game_cd2.iso +│ │ +│ ├─ rom_1.iso +``` diff --git a/charts/incubator/romm/icon.png b/charts/incubator/romm/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0b6558ce36e681e160f6f298aa2ee492abe3bcaa GIT binary patch literal 28979 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