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
|
||||
- eptgmk
|
||||
- fireshare
|
||||
- flemarr
|
||||
- Flemmarr
|
||||
- flatnotes
|
||||
- flushtables
|
||||
- forcegc
|
||||
|
||||
Reference in New Issue
Block a user