fix(ra-rom-processor) refactor code (#4272)

This commit is contained in:
Xstar97 2022-11-01 20:35:14 -04:00 committed by GitHub
parent aa5c5aac7f
commit 485e6bfba1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 135 additions and 114 deletions

View File

@ -1,7 +1,3 @@
annotations:
truecharts.org/SCALE-support: "true"
truecharts.org/catagories: |
- MediaApp-Other
apiVersion: v2
appVersion: "latest"
dependencies:
@ -9,7 +5,7 @@ dependencies:
repository: https://library-charts.truecharts.org
version: 10.7.7
deprecated: false
description: RA ROM Processor is a Chart Chart that is used to download/orgainze/process/verify/dedupe/scrape a ROMs library automatically by matching ROMs to the RetroAchievement.org website Hash database.
description: Download / Orgainze / Process / Verify / Dedupe / Scrape a ROMs library automatically by matching ROMs to the RetroAchievement.org database.
home: https://truecharts.org/docs/charts/incubator/ra-rom-processor
icon: https://truecharts.org/img/hotlink-ok/chart-icons/ra-rom-processor.png
keywords:
@ -27,4 +23,9 @@ sources:
- https://hub.docker.com/r/randomninjaatk/raromprocessor
- https://github.com/RandomNinjaAtk/docker-raromprocessor#instructionsusage-guidelines
type: application
version: 0.0.42
version: 0.0.43
annotations:
truecharts.org/catagories: |
- MediaApp-Other
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@ -10,123 +10,135 @@ questions:
# Include{recreate}
# Include{controllerExpert}
# Include{controllerExpertExtraArgs}
- variable: secretEnv
group: Container Configuration
label: Image Secrets
schema:
additional_attrs: true
type: dict
attrs:
- variable: ScreenscraperUsername
label: Screenscraper Username
description: Username for screenscraper.fr.
schema:
type: string
default: ""
- variable: ScreenscraperPassword
label: Screenscraper Password
description: Password for screenscraper.fr.
schema:
type: string
default: ""
- variable: env
group: "Container Configuration"
label: "Image Environment"
group: Container Configuration
label: Image Environment
schema:
additional_attrs: true
type: dict
attrs:
- variable: AutoStart
label: "AutoStart"
description: "true = Enabled Runs script automatically on startup"
label: Auto Start
description: If checked runs script automatically on startup
schema:
type: string
default: ""
- variable: ScriptInterval
label: "ScriptInterval"
description: "#s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days Amount of time between each script run, when AUTOSTART is enabled"
schema:
type: string
default: ""
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ScriptInterval
label: Script Interval
description: "Amount of time between each script run | #s or #m or #h or #d s = seconds, m = minutes, h = hours, d = days."
schema:
type: string
default: 1h
- variable: DeDupe
label: "DeDupe"
description: "true = Enabled This setting further reduces the final ROMs list per platrom, by removing duplicates with the priority of USA Europe World Japan, and then by shortest filename when multiples exist"
label: DeDupe
description: If checked this setting further reduces the final ROMs list per platform, by removing duplicates.
schema:
type: string
default: ""
type: boolean
default: false
- variable: AquireRomSets
label: "AquireRomSets"
description: "true = Enabled Enabling this will have the script attempt to pull valid ROM sets from archive.org for processing"
label: Aquire Rom Sets
description: Enabling this will have the script attempt to pull valid ROM sets from archive.org for processing.
schema:
type: string
default: ""
- variable: ConcurrentDownloadThreads
label: "ConcurrentDownloadThreads"
description: "Number of concurrent threads to increase download speed... only aplicable if AquireRomSets is enabled (true)"
schema:
type: string
default: ""
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: ConcurrentDownloadThreads
label: Concurrent Download Threads
description: Number of concurrent threads to increase download speeds.
schema:
type: int
default: 5
- variable: EnableUnsupportedPlatforms
label: "EnableUnsupportedPlatforms"
description: "true = Enabled Enabling this will allow the script to import and scrape ROMs for platforms without RA hashes, no dedupingvalidation is performed"
label: Enable Unsupported Platforms
description: Enabling this will allow the script to import and scrape ROMs for platforms without RA hashes.
schema:
type: string
default: ""
type: boolean
default: false
- variable: ScrapeMetadata
label: "ScrapeMetadata"
description: "true = Enabled Enabling this will allow the script to process the ROMs with skyscraper"
label: Scrape Metadata
description: Enabling this will allow the script to process the ROMs with skyscraper.
schema:
type: string
default: ""
type: boolean
default: false
- variable: keepBackupsOfImportedRoms
label: "keepBackupsOfImportedRoms"
description: "false = Enabled This setting will only keep a single copy of each ROM, reduces the required amount of storage space..."
label: keep Backups Of Imported Roms
description: If unchecked this setting will only keep a single copy of each ROM, reduces the required amount of storage space.
schema:
type: string
default: ""
type: boolean
default: true
- variable: skyscraperLanguagePreference
label: "skyscraperLanguagePreference"
description: "Set to preferred language for Metadata, for more info visit httpsgithub.commuldjordskyscraperblobmasterdocsLANGUAGES.md#list-of-supported-languages"
label: Skyscaper Language
description: Set to preferred language for Metadata.
schema:
type: string
default: ""
- variable: ScreenscraperUsername
label: "ScreenscraperUsername"
description: "Username for httpsscreenscraper.fr"
schema:
type: string
default: ""
- variable: ScreenscraperPassword
label: "ScreenscraperPassword"
description: "Password for httpsscreenscraper.fr"
schema:
type: string
default: ""
default: en
# Include{containerConfig}
# Include{serviceExpertRoot}
default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: config
label: "config Storage"
description: "Container Path config"
label: App Config Storage
description: Stores the Application Configuration.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: hostpathforcache
label: "hostpathforcache Storage"
description: "cache location for skyscraper."
- variable: cache
label: App Cache Storage
description: Stores the Application Cache.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: hostpathforinput
label: "hostpathforinput Storage"
description: " Place ROMs to be processed in this directory"
- variable: input
label: App Input Storage
description: Stores the Application Input.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: hostpathforoutput
label: "hostpathforoutput Storage"
description: "ROMs that have been processed will end up here"
- variable: output
label: App Output Storage
description: Stores the Application Output.
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: hostpathforbackup
label: "hostpathforbackup Storage"
description: "Processed ROMs are backed up to this directory"
- variable: backup
label: App Backup Storage
description: Stores the Application Backup.
schema:
additional_attrs: true
type: dict
@ -138,42 +150,42 @@ questions:
# Include{security}
# Include{securityContextAdvancedRoot}
- variable: privileged
label: "Privileged mode"
label: Privileged mode
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
label: ReadOnly Root Filesystem
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
label: Allow Privilege Escalation
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
label: runAsNonRoot
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
# Include{podSecurityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
label: runAsUser
description: The UserID of the user running the application.
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: The groupID this App of the user running the application"
label: runAsGroup
description: The groupID this App of the user running the application.
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
label: fsGroup
description: The group that should own ALL storage.
schema:
type: int
default: 568

View File

@ -1,38 +1,31 @@
env:
AquireRomSets: ""
AutoStart: ""
ConcurrentDownloadThreads: ""
DeDupe: ""
EnableUnsupportedPlatforms: ""
ScrapeMetadata: ""
ScreenscraperPassword: ""
ScreenscraperUsername: ""
ScriptInterval: ""
keepBackupsOfImportedRoms: ""
skyscraperLanguagePreference: ""
image:
pullPolicy: IfNotPresent
repository: tccr.io/truecharts/ra-rom-processor
tag: latest@sha256:19d75d039daa59fc8af491541be84ccbe393183403c9b9e305ebfb0447ed5763
persistence:
config:
enabled: true
mountPath: /config
hostpathforbackup:
enabled: true
mountPath: /backup
hostpathforcache:
enabled: true
mountPath: /cache
hostpathforinput:
enabled: true
mountPath: /input
hostpathforoutput:
enabled: true
mountPath: /output
podSecurityContext:
runAsGroup: 0
runAsUser: 0
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
secretEnv:
ScreenscraperPassword: ""
ScreenscraperUsername: ""
env:
AquireRomSets: false
AutoStart: false
ConcurrentDownloadThreads: 1
DeDupe: false
EnableUnsupportedPlatforms: false
ScrapeMetadata: false
ScriptInterval: "1h"
keepBackupsOfImportedRoms: true
skyscraperLanguagePreference: "en"
probes:
liveness:
enabled: false
@ -40,9 +33,7 @@ probes:
enabled: false
startup:
enabled: false
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
service:
main:
enabled: false
@ -50,5 +41,22 @@ service:
main:
enabled: false
persistence:
config:
enabled: true
mountPath: /config
cache:
enabled: true
mountPath: /cache
input:
enabled: true
mountPath: /input
output:
enabled: true
mountPath: /output
backup:
enabled: true
mountPath: /backup
portal:
enabled: false