feat(flemarr): add flemarr (#3808)
* feat(flemarr): add flemarr * required * no service, persistence, portal * no ingress * add description * add ci values * lint * lint * Apply suggestions from code review Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> * lint * Update charts/incubator/flemarr/values.yaml Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
@@ -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
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: "10.6.2"
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.truecharts.org
|
||||||
|
version: 10.5.10
|
||||||
|
description: Flemmarr is a simple Python script that parses a configuration written in YAML and can apply it to any of the -arr apps using their API.
|
||||||
|
home: https://truecharts.org/docs/charts/stable/airsonic
|
||||||
|
icon: https://truecharts.org/img/hotlink-ok/chart-icons/airsonic.png
|
||||||
|
keywords:
|
||||||
|
- flemarr
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
maintainers:
|
||||||
|
- email: info@truecharts.org
|
||||||
|
name: TrueCharts
|
||||||
|
url: https://truecharts.org
|
||||||
|
name: flemarr
|
||||||
|
sources:
|
||||||
|
- https://github.com/Flemmarr/Flemmarr
|
||||||
|
version: 0.0.1
|
||||||
|
annotations:
|
||||||
|
truecharts.org/catagories: |
|
||||||
|
- media
|
||||||
|
truecharts.org/SCALE-support: "true"
|
||||||
|
truecharts.org/grade: U
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
flemarrConfig:
|
||||||
|
sonarr:
|
||||||
|
server:
|
||||||
|
address: sonarr
|
||||||
|
port: 8989
|
||||||
|
config:
|
||||||
|
host:
|
||||||
|
analyticsEnabled: false
|
||||||
|
ui:
|
||||||
|
firstDayOfWeek: 1
|
||||||
|
timeFormat: HH:mm
|
||||||
|
rootfolder:
|
||||||
|
- name: Series
|
||||||
|
path: /data/series
|
||||||
|
defaultTags: []
|
||||||
|
defaultQualityProfileId: 1
|
||||||
|
defaultMetadataProfileId: 1
|
||||||
|
downloadclient:
|
||||||
|
- name: Transmission
|
||||||
|
enable: true
|
||||||
|
protocol: torrent
|
||||||
|
fields:
|
||||||
|
- name: host
|
||||||
|
value: transmission
|
||||||
|
- name: port
|
||||||
|
value: 9091
|
||||||
|
implementation: Transmission
|
||||||
|
configContract: TransmissionSettings
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Input Validation
|
||||||
|
|
||||||
|
**`Config File Host Path`**
|
||||||
|
Accepted formats are:
|
||||||
|
|
||||||
|
- Valid filesystem paths (eg. `/mnt/path/to/config.yml`)
|
||||||
|
|
||||||
|
Regex used to match those: `^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$`
|
||||||
|
You can try live [here](https://regex101.com/r/9gwRQK/1)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_If you find a field that you think it needs validation, please open an issue on github_
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 552 KiB |
@@ -0,0 +1,82 @@
|
|||||||
|
# Include{groups}
|
||||||
|
portals: {}
|
||||||
|
questions:
|
||||||
|
# Include{global}
|
||||||
|
# Include{controller}
|
||||||
|
# Include{controllerDeployment}
|
||||||
|
# Include{replicas}
|
||||||
|
# Include{replica1}
|
||||||
|
# Include{strategy}
|
||||||
|
# Include{recreate}
|
||||||
|
# Include{controllerExpert}
|
||||||
|
# Include{controllerExpertExtraArgs}
|
||||||
|
- variable: flemarr
|
||||||
|
group: Container Configuration
|
||||||
|
label: Flemarr Configuration
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
- variable: configFilePath
|
||||||
|
label: Config File Host Path
|
||||||
|
description: Path to file with flemarr configuration based on https://github.com/Flemmarr/Flemmarr#configuration
|
||||||
|
description:
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
required: true
|
||||||
|
valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
|
||||||
|
default: ""
|
||||||
|
# Include{containerConfig}
|
||||||
|
# Include{serviceExpertRoot}
|
||||||
|
default: false
|
||||||
|
# Include{serviceExpert}
|
||||||
|
# Include{serviceList}
|
||||||
|
# Include{persistenceList}
|
||||||
|
# Include{ingressList}
|
||||||
|
# Include{security}
|
||||||
|
# Include{securityContextAdvancedRoot}
|
||||||
|
- variable: privileged
|
||||||
|
label: Privileged mode
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- variable: readOnlyRootFilesystem
|
||||||
|
label: ReadOnly Root Filesystem
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
- variable: allowPrivilegeEscalation
|
||||||
|
label: Allow Privilege Escalation
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- variable: runAsNonRoot
|
||||||
|
label: runAsNonRoot
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
# Include{securityContextAdvanced}
|
||||||
|
# Include{podSecurityContextRoot}
|
||||||
|
- variable: runAsUser
|
||||||
|
label: runAsUser
|
||||||
|
description: The UserID of the user running the application
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
- variable: runAsGroup
|
||||||
|
label: runAsGroup
|
||||||
|
description: The groupID this App of the user running the application
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
- variable: fsGroup
|
||||||
|
label: fsGroup
|
||||||
|
description: The group that should own ALL storage.
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
# Include{podSecurityContextAdvanced}
|
||||||
|
# Include{resources}
|
||||||
|
# Include{advanced}
|
||||||
|
# Include{addons}
|
||||||
|
# Include{documentation}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{{/* Define the secrets */}}
|
||||||
|
{{- define "flemarr.config" -}}
|
||||||
|
|
||||||
|
{{- $configName := printf "%s-flemarr-config" (include "tc.common.names.fullname" .) }}
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ $configName }}
|
||||||
|
labels:
|
||||||
|
{{- include "tc.common.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
config.yml: |
|
||||||
|
{{- .Values.flemarrConfig | toYaml | nindent 4 }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{{/* Make sure all variables are set properly */}}
|
||||||
|
{{- include "tc.common.loader.init" . }}
|
||||||
|
|
||||||
|
{{/* Render config for flemarr */}}
|
||||||
|
{{- include "flemarr.config" . }}
|
||||||
|
|
||||||
|
{{- define "flemarr.configmap.mount" -}}
|
||||||
|
{{- if .Values.flemarrConfig }}
|
||||||
|
enabled: true
|
||||||
|
type: custom
|
||||||
|
mountPath: /config/config.yml
|
||||||
|
subPath: config.yml
|
||||||
|
readOnly: true
|
||||||
|
volumeSpec:
|
||||||
|
configMap:
|
||||||
|
name: '{{ printf "%s-flemarr-config" (include "tc.common.names.fullname" .) }}'
|
||||||
|
{{- else -}}
|
||||||
|
enabled: true
|
||||||
|
type: hostPath
|
||||||
|
hostPathType: File
|
||||||
|
hostPath: {{ .Values.flemarr.configFilePath }}
|
||||||
|
mountPath: /config/config.yml
|
||||||
|
readOnly: true
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- $_ := set .Values.persistence "configfile" (include "flemarr.configmap.mount" . | fromYaml) -}}
|
||||||
|
|
||||||
|
{{/* Render the templates */}}
|
||||||
|
{{ include "tc.common.loader.apply" . }}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
image:
|
||||||
|
repository: tccr.io/truecharts/flemmarr
|
||||||
|
tag: latest@sha256:0113664468f20a22079d2a9c10255542e3d23fd11cfd1732fd9f95c8055f88ed
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
# https://github.com/Flemmarr/Flemmarr#configuration
|
||||||
|
flemarrConfig:
|
||||||
|
# sonarr:
|
||||||
|
# server:
|
||||||
|
# address: sonarr
|
||||||
|
# port: 8989
|
||||||
|
# config:
|
||||||
|
# host:
|
||||||
|
# analyticsEnabled: false
|
||||||
|
# ui:
|
||||||
|
# # 0 = Sunday, 1 = Monday
|
||||||
|
# firstDayOfWeek: 1
|
||||||
|
# # HH:mm = 17:30, h(:mm)a = 5:30PM
|
||||||
|
# timeFormat: HH:mm
|
||||||
|
# rootfolder:
|
||||||
|
# - name: Series
|
||||||
|
# path: /data/series
|
||||||
|
# defaultTags: []
|
||||||
|
# defaultQualityProfileId: 1
|
||||||
|
# defaultMetadataProfileId: 1
|
||||||
|
# downloadclient:
|
||||||
|
# - name: Transmission
|
||||||
|
# enable: true
|
||||||
|
# protocol: torrent
|
||||||
|
# fields:
|
||||||
|
# - name: host
|
||||||
|
# value: transmission
|
||||||
|
# - name: port
|
||||||
|
# value: 9091
|
||||||
|
# implementation: Transmission
|
||||||
|
# configContract: TransmissionSettings
|
||||||
|
|
||||||
|
# Implemented for inclusion in TrueNAS Scale GUI
|
||||||
|
flemarr:
|
||||||
|
configFilePath: ""
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
enabled: false
|
||||||
|
readiness:
|
||||||
|
enabled: false
|
||||||
|
startup:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
portal:
|
||||||
|
enabled: false
|
||||||
@@ -54,6 +54,8 @@ words:
|
|||||||
- entrypoints
|
- entrypoints
|
||||||
- eptgmk
|
- eptgmk
|
||||||
- fireshare
|
- fireshare
|
||||||
|
- flemarr
|
||||||
|
- Flemmarr
|
||||||
- flatnotes
|
- flatnotes
|
||||||
- flushtables
|
- flushtables
|
||||||
- forcegc
|
- forcegc
|
||||||
|
|||||||
Reference in New Issue
Block a user