Update catalog information

This commit is contained in:
sonicaj
2023-03-24 21:22:08 +00:00
parent 44d2241a0d
commit 1fcbb9f7f2
16 changed files with 401 additions and 5 deletions
+5 -5
View File
@@ -71,7 +71,7 @@
"latest_version": "1.7.33",
"latest_app_version": "1.31.2.6810",
"latest_human_version": "1.31.2.6810_1.7.33",
"last_update": "2023-03-24 21:20:22",
"last_update": "2023-03-24 21:21:05",
"name": "plex",
"recommended": false,
"title": "Plex",
@@ -274,13 +274,13 @@
"healthy": true,
"healthy_error": null,
"location": "/__w/charts/charts/charts/emby",
"latest_version": "1.0.16",
"latest_version": "1.0.17",
"latest_app_version": "4.7.11.0",
"latest_human_version": "4.7.11.0_1.0.16",
"last_update": "2022-12-28 00:00:17",
"latest_human_version": "4.7.11.0_1.0.17",
"last_update": "2023-03-24 21:21:30",
"name": "emby",
"recommended": false,
"title": "Emby",
"title": "Emby Server",
"icon_url": "https://images-na.ssl-images-amazon.com/images/I/41NwssJC1iL.png"
}
},
+24
View File
@@ -0,0 +1,24 @@
# 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
+6
View File
@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: file://../../../common/2207.0.0
version: 2207.0.0
digest: sha256:a301ba0f99ec1e08a60a7f0a0320aa02d225993572f2f056f09520f06df88b37
generated: "2023-03-21T15:08:12.743996333Z"
+23
View File
@@ -0,0 +1,23 @@
name: emby
description: Emby Server
annotations:
title: Emby Server
type: application
version: 1.0.17
apiVersion: v2
appVersion: '4.7.11.0'
kubeVersion: '>=1.16.0-0'
maintainers:
- name: truenas
url: https://www.truenas.com/
dependencies:
- name: common
repository: file://../../../common/2207.0.0
version: 2207.0.0
home: https://emby.media/
icon: https://images-na.ssl-images-amazon.com/images/I/41NwssJC1iL.png
sources:
- https://hub.docker.com/r/emby/embyserver
keywords:
- emby
- media
+5
View File
@@ -0,0 +1,5 @@
# Emby Server helm chart
## Configuration
Please refer to questions.yaml for a detailed overview on supported configurable items.
+3
View File
@@ -0,0 +1,3 @@
# Emby Server
Emby Server is a personal media server with apps on just about every device
Binary file not shown.
+15
View File
@@ -0,0 +1,15 @@
appVolumeMounts:
config:
emptyDir: true
mountPath: /config
embyServerHttp:
port: 32496
emptyDirVolumes: true
environmentVariables: []
extraAppVolumeMounts:
- hostPath: /mnt/extras/something
mountPath: /mnt/extras
readOnly: true
gpuConfiguration: {}
hostNetwork: false
updateStrategy: Recreate
+4
View File
@@ -0,0 +1,4 @@
image:
pullPolicy: IfNotPresent
repository: emby/embyserver
tag: 4.7.11.0
+194
View File
@@ -0,0 +1,194 @@
groups:
- name: "Emby Server Configuration"
description: "Configure Emby Server"
- name: "Networking"
description: "Configure networking for container"
- name: "Storage"
description: "Persist and share data that is separate from the lifecycle of the container"
- name: "Workload Details"
description: "Configure how workload should be deployed"
- name: "Scaling/Upgrade Policy"
description: "Configure how pods are replaced when configuration is upgraded"
- name: "Restart Policy"
description: "Configure when pod should be restarted in case of failure"
- name: "Resource Reservation"
description: "Specify resources to be allocated to workload"
- name: "Resource Limits"
description: "Set CPU/memory limits for Kubernetes Pod"
portals:
web_portal:
protocols:
- "http"
host:
- "$node_ip"
ports:
- "$kubernetes-resource_configmap_portal_port"
path: "/web"
questions:
- variable: hostNetwork
label: "Enable Host Network"
group: "Networking"
schema:
type: boolean
default: false
- variable: environmentVariables
label: "Environment Variables for Emby Server"
group: "Emby Server Configuration"
schema:
type: list
default: []
items:
- variable: environmentVariable
label: "Environment Variable"
schema:
type: dict
attrs:
- variable: name
label: "Name"
schema:
type: string
- variable: value
label: "Value"
schema:
type: string
# Update strategy
- variable: updateStrategy
description: "Upgrade Policy"
label: "Update Strategy"
group: "Scaling/Upgrade Policy"
schema:
type: string
default: "Recreate"
enum:
- value: "RollingUpdate"
description: "Create new pods and then kill old ones"
- value: "Recreate"
description: "Kill existing pods before creating new ones"
# Port configuration
- variable: embyServerHttp
label: "Configure Emby Server HTTP Service"
group: "Networking"
schema:
show_if: [[ "hostNetwork", "!=", true]]
type: dict
attrs:
- variable: port
label: "Port to expose for Emby Server UI"
schema:
type: int
min: 9000
max: 65535
default: 9096
# Specify GPU configuration
- variable: gpuConfiguration
label: "GPU Configuration"
group: "Resource Reservation"
schema:
type: dict
$ref:
- "definitions/gpuConfiguration"
attrs: []
- variable: appVolumeMounts
label: "Emby Server Storage"
group: "Storage"
schema:
type: dict
attrs:
- variable: config
label: "Config Volume"
schema:
type: dict
attrs:
- variable: datasetName
label: "Emby Server Config Volume Name"
schema:
type: string
$ref:
- "normalize/ixVolume"
show_if: [["hostPathEnabled", "=", false]]
default: "ix-emby_config"
editable: false
hidden: true
- variable: mountPath
label: "Emby Server Config Mount Path"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
editable: false
hidden: true
default: "/config"
- variable: hostPathEnabled
label: "Enable Host Path for Emby Server Config Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Emby Server Config Volume"
schema:
type: hostpath
required: true
- variable: extraAppVolumeMounts
label: "Emby Server Extra Host Path Volumes"
group: "Storage"
schema:
type: list
items:
- variable: extraAppVolume
label: "Emby Server Host Path Volume"
description: "Add an extra host path volume for emby application"
schema:
type: dict
attrs:
- variable: mountPath
label: "Mount Path in Pod"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
required: true
- variable: hostPath
label: "Host Path"
description: "Host path"
schema:
type: hostpath
required: true
- variable: readOnly
label: "Read Only"
description: "Mount hostpath in read-only mode"
schema:
type: boolean
default: false
- variable: enableResourceLimits
label: "Enable Pod resource limits"
group: "Resource Limits"
schema:
type: boolean
default: false
- variable: cpuLimit
label: "CPU Limit"
description: "CPU resource limit allow plain integer values with suffix m(milli) e.g 1000m, 100."
group: "Resource Limits"
schema:
type: string
show_if: [["enableResourceLimits", "=", true]]
valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
default: "4000m"
- variable: memLimit
label: "Memory Limit"
group: "Resource Limits"
description: "Memory limits is specified by number of bytes. Followed by quantity suffix like E,P,T,G,M,k and Ei,Pi,Ti,Mi,Gi,Ki can also be used. e.g 129e6, 129M, 128974848000m, 123Mi"
schema:
type: string
show_if: [["enableResourceLimits", "=", true]]
valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
default: "8Gi"
+7
View File
@@ -0,0 +1,7 @@
1. Get the application URL by running these commands:
{{- if .Values.hostNetwork }}
http://$node_ip:8096/
{{ else }}
http://$node_ip:{{ .Values.embyServerHttp.port }}/
{{ end }}
@@ -0,0 +1,79 @@
{{ include "common.storage.hostPathValidate" .Values }}
{{ include "common.deployment.common_config" . | nindent 0 }}
spec: {{ include "common.deployment.common_spec" . | nindent 2 }}
template: {{ include "common.deployment.pod.metadata" . | nindent 4 }}
spec:
{{- if .Values.hostNetwork }}
hostNetwork: {{ .Values.hostNetwork }}
dnsPolicy: ClusterFirstWithHostNet
{{- end }}
hostname: {{ template "common.names.fullname" . }}
containers:
- name: {{ .Chart.Name }}
{{ include "common.resources.limitation" . | nindent 10 }}
{{ include "common.containers.imageConfig" .Values.image | nindent 10 }}
volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }}
{{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }}
- name: extrappvolume-{{ $index }}
mountPath: {{ $hostPathConfiguration.mountPath }}
{{ if $hostPathConfiguration.readOnly }}
readOnly: {{ $hostPathConfiguration.readOnly }}
{{ end }}
{{ end }}
ports:
- name: emby
protocol: TCP
containerPort: 8096
- name: emby-dlna
protocol: UDP
containerPort: 1900
- name: emby-lnd
protocol: UDP
containerPort: 7359
env:
- name: KUBE_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
{{ $envList := (default list .Values.environmentVariables) }}
{{ if and .Values.gpuConfiguration (hasKey .Values.gpuConfiguration "nvidia.com/gpu") (gt (get .Values.gpuConfiguration "nvidia.com/gpu" | toDecimal) 0) }}
{{ $envList = mustAppend $envList (dict "name" "NVIDIA_DRIVER_CAPABILITIES" "value" "all") }}
{{ end }}
{{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }}
readinessProbe:
httpGet:
path: /emby/System/Ping
port: 8096
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
livenessProbe:
httpGet:
path: /emby/System/Ping
port: 8096
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
startupProbe:
httpGet:
path: /emby/System/Ping
port: 8096
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }}
{{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }}
- name: extrappvolume-{{ $index }}
hostPath:
path: {{ $hostPathConfiguration.hostPath }}
{{ end }}
+10
View File
@@ -0,0 +1,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: portal
data:
{{- if .Values.hostNetwork }}
port: "8096"
{{- else }}
port: {{ .Values.embyServerHttp.port | quote }}
{{- end }}
@@ -0,0 +1,17 @@
{{ $svc := .Values.embyServerHttp }}
{{ $ports := list }}
{{ if .Values.hostNetwork }}
{{ $ports = mustAppend $ports (dict "name" "http" "port" 8096 "targetPort" 8096) }}
{{ else }}
{{ $ports = mustAppend $ports (dict "name" "http" "port" $svc.port "nodePort" $svc.port "targetPort" 8096) }}
{{ end }}
{{ $params := . }}
{{ $_ := set $params "commonService" (dict "ports" $ports ) }}
{{ if .Values.hostNetwork }}
{{ $_ := set $params.commonService "nameSuffix" "tcp-cluster-ip" }}
{{ $_1 := set $params.commonService "type" "ClusterIP" }}
{{ else }}
{{ $_ := set $params.commonService "nameSuffix" "tcp" }}
{{ $_1 := set $params.commonService "type" "NodePort" }}
{{ end }}
{{ include "common.classes.service" $params }}
@@ -0,0 +1,6 @@
{{ $ports := list }}
{{ $ports = mustAppend $ports (dict "name" "emby-dlna" "port" 1900 "protocol" "UDP" "targetPort" "emby-dlna") }}
{{ $ports = mustAppend $ports (dict "name" "emby-lnd" "port" 7359 "protocol" "UDP" "targetPort" "emby-lnd") }}
{{ $params := . }}
{{ $_ := set $params "commonService" (dict "type" "ClusterIP" "ports" $ports "nameSuffix" "udp" ) }}
{{ include "common.classes.service" $params }}
+3
View File
@@ -0,0 +1,3 @@
categories:
- entertainment
icon_url: https://images-na.ssl-images-amazon.com/images/I/41NwssJC1iL.png