Update catalog information

This commit is contained in:
sonicaj
2023-03-24 21:22:50 +00:00
parent 61d8b887e4
commit f12fa8459e
14 changed files with 421 additions and 4 deletions

View File

@@ -256,10 +256,10 @@
"healthy": true,
"healthy_error": null,
"location": "/__w/charts/charts/charts/syncthing",
"latest_version": "1.0.18",
"latest_version": "1.0.19",
"latest_app_version": "1.23.2",
"latest_human_version": "1.23.2_1.0.18",
"last_update": "2023-03-08 12:30:59",
"latest_human_version": "1.23.2_1.0.19",
"last_update": "2023-03-24 21:22:18",
"name": "syncthing",
"recommended": false,
"title": "Syncthing",
@@ -277,7 +277,7 @@
"latest_version": "1.0.17",
"latest_app_version": "4.7.11.0",
"latest_human_version": "4.7.11.0_1.0.17",
"last_update": "2023-03-24 21:21:30",
"last_update": "2023-03-24 21:22:08",
"name": "emby",
"recommended": false,
"title": "Emby Server",

View File

@@ -0,0 +1,2 @@
# Patterns to ignore when building packages.
*.png

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-21T16:55:13.420478187Z"

View File

@@ -0,0 +1,24 @@
name: syncthing
description: Syncthing is a continuous file synchronization program.
annotations:
title: Syncthing
type: application
version: 1.0.19
apiVersion: v2
appVersion: '1.23.2'
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://syncthing.net/
icon: https://play-lh.googleusercontent.com/KIy_dqUdZqcsTq4GDstHrHwLRvu60gT3v0p41gw792BC6OxamNhUw2eIy0-LI05qNEA=w240-h480
sources:
- https://syncthing.net
- https://github.com/truenas/charts/tree/master/library/ix-dev/charts/syncthing
keywords:
- storage
- backup

View File

@@ -0,0 +1,5 @@
# Syncthing
[syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or
more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose
where it is stored, whether it is shared with some third party, and how it's transmitted over the internet.

View File

@@ -0,0 +1,6 @@
# Syncthing
[syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or
more computers in real time, safely protected from prying eyes.
> **WARNING** Do check out https://docs.syncthing.net/users/faq.html#what-things-are-synced to see what is synced.

Binary file not shown.

View File

@@ -0,0 +1,16 @@
appVolumeMounts:
config:
emptyDir: true
mountPath: /config
dnsConfig:
options: []
emptyDirVolumes: true
environmentVariables: []
extraAppVolumeMounts: []
hostNetwork: false
ownerGID: 568
ownerUID: 568
tcp_port: 32001
timezone: Europe/London
udp_port: 32002
web_port: 32000

View File

@@ -0,0 +1,4 @@
image:
pullPolicy: IfNotPresent
repository: syncthing/syncthing
tag: 1.23.2

View File

@@ -0,0 +1,218 @@
groups:
- name: "Configuration"
description: "Syncthing application configuration"
- name: "Storage"
description: "Configure storage for syncthing"
- name: "Networking"
description: "Networking Configuration for syncthing"
- name: "Advanced DNS Settings"
description: "Configure DNS settings"
- name: "Resource Limits"
description: "Set CPU/memory limits for Kubernetes Pod"
portals:
web_portal:
protocols:
- "http"
host:
- "$node_ip"
ports:
- "$variable-web_port"
path: "/"
questions:
- variable: web_port
label: "Web Port for syncthing"
group: Networking
schema:
type: int
min: 8000
max: 65535
default: 20910
required: true
- variable: tcp_port
label: "TCP Port for syncthing"
group: Networking
schema:
type: int
min: 8000
max: 65535
default: 20978
required: true
- variable: udp_port
label: "UDP Port for syncthing"
group: Networking
schema:
type: int
min: 8000
max: 65535
default: 20979
required: true
- variable: hostNetwork
label: "Host Network"
group: Networking
schema:
type: boolean
default: false
- variable: dnsConfig
label: "DNS Configuration"
group: "Advanced DNS Settings"
schema:
type: dict
attrs:
- variable: options
label: "DNS Options"
schema:
type: list
items:
- variable: optionsEntry
label: "Option Entry Configuration"
schema:
type: dict
attrs:
- variable: name
label: "Option Name"
schema:
type: string
required: true
- variable: value
label: "Option Value"
schema:
type: string
required: true
- variable: ownerUID
label: "Owner User ID"
group: Configuration
schema:
type: int
default: 568
min: 1
max: 65535
- variable: ownerGID
label: "Owner Group ID"
group: Configuration
schema:
type: int
default: 568
min: 1
max: 65535
- variable: environmentVariables
label: "Syncthing environment"
group: "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
- variable: appVolumeMounts
label: "Syncthing Storage"
group: "Storage"
schema:
type: dict
attrs:
- variable: config
label: "Configuration Volume"
schema:
type: dict
attrs:
- variable: datasetName
label: "Configuration Volume Dataset Name"
schema:
type: string
hidden: true
$ref:
- "normalize/ixVolume"
show_if: [["hostPathEnabled", "=", false]]
default: "ix-syncthing_config"
editable: false
- variable: mountPath
label: "Configuration Mount Path"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
hidden: true
editable: true
default: "/var/syncthing"
- variable: hostPathEnabled
label: "Enable Custom Host Path for Syncthing Configuration Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Syncthing Configuration Volume"
schema:
type: hostpath
required: true
$ref:
- "validations/lockedHostPath"
- variable: extraAppVolumeMounts
label: "Extra Host Path Volumes"
group: "Storage"
schema:
type: list
items:
- variable: extraAppVolume
label: "Host Path Volume"
description: "Add an extra host path volume for Syncthing 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
$ref:
- "validations/lockedHostPath"
- variable: enableResourceLimits
label: "Enable Pod resource limits"
group: "Resource Limits"
schema:
type: boolean
default: false
- variable: cpuLimit
label: "CPU Limresource limitsit"
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"

View File

@@ -0,0 +1,89 @@
{{ include "common.storage.hostPathValidate" .Values }}
apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "common.names.fullname" . }}
labels:
app: {{ template "common.names.name" . }}
chart: {{ template "common.names.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
annotations:
rollme: {{ randAlphaNum 5 | quote }}
spec:
replicas: {{ (default 1 .Values.replicas) }}
strategy:
type: "Recreate"
selector:
matchLabels:
app: {{ template "common.names.name" . }}
release: {{ .Release.Name }}
template:
metadata:
name: {{ template "common.names.fullname" . }}
labels:
app: {{ template "common.names.name" . }}
release: {{ .Release.Name }}
{{- include "common.labels.selectorLabels" . | nindent 8 }}
annotations: {{ include "common.annotations" . | nindent 8 }}
spec:
hostNetwork: {{ .Values.hostNetwork }}
hostname: {{ .Release.Name }}
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 }}
{{ end }}
ports:
- name: web
containerPort: 8384
- name: tcp
containerPort: 22000
protocol: TCP
- name: udp
containerPort: 22000
protocol: UDP
readinessProbe:
httpGet:
path: /
port: 8384
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
livenessProbe:
httpGet:
path: /
port: 8384
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
startupProbe:
httpGet:
path: /
port: 8384
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
env:
{{ $envList := (default list .Values.environmentVariables) }}
{{ $envList = mustAppend $envList (dict "name" "PUID" "value" (printf "%d" (.Values.ownerUID | int))) }}
{{ $envList = mustAppend $envList (dict "name" "PGID" "value" (printf "%d" (.Values.ownerGID | int))) }}
{{ $envList = mustAppend $envList (dict "name" "STGUIADDRESS" "value" "0.0.0.0:8384") }}
{{ include "common.containers.environmentVariables" (dict "environmentVariables" $envList) | nindent 12 }}
{{ include "common.networking.dnsConfiguration" .Values | nindent 6 }}
volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }}
{{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }}
- name: extrappvolume-{{ $index }}
hostPath:
path: {{ $hostPathConfiguration.hostPath }}
{{ end }}

View File

@@ -0,0 +1,32 @@
apiVersion: batch/v1
kind: Job
metadata:
name: "{{ template "common.names.fullname" . }}-preinstall-job"
labels:
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
helm.sh/chart: {{ template "common.names.chart" . }}
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-delete-policy": hook-succeeded
spec:
template:
metadata:
name: "{{ template "common.names.fullname" . }}-preinstall-hook"
labels:
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
app.kubernetes.io/instance: {{ .Release.Name | quote }}
helm.sh/chart: {{ template "common.names.chart" . }}
spec:
restartPolicy: Never
containers:
- name: pre-install-job
image: "alpine:latest"
command:
- "chown"
- "-R"
- "{{ .Values.ownerUID }}:{{ .Values.ownerGID }}"
- "{{ .Values.appVolumeMounts.config.mountPath }}"
volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }}
volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }}

View File

@@ -0,0 +1,11 @@
{{ $selectors := list }}
{{ $selectors = mustAppend $selectors (dict "key" "app" "value" (include "common.names.name" .) ) }}
{{ $selectors = mustAppend $selectors (dict "key" "release" "value" .Release.Name ) }}
{{ $ports := list }}
{{ $ports = mustAppend $ports (dict "name" "web" "port" .Values.web_port "nodePort" .Values.web_port "targetPort" 8384) }}
{{ $ports = mustAppend $ports (dict "name" "tcp" "port" .Values.tcp_port "nodePort" .Values.tcp_port "targetPort" 22000) }}
{{ $ports = mustAppend $ports (dict "name" "udp" "port" .Values.udp_port "nodePort" .Values.udp_port "targetPort" 22000 "protocol" "UDP") }}
{{ $params := . }}
{{ $_ := set $params "commonService" (dict "type" "NodePort" "ports" $ports ) }}
{{ $_1 := set .Values "extraSelectorLabels" $selectors }}
{{ include "common.classes.service" $params }}

View File

@@ -0,0 +1,4 @@
icon_url: https://play-lh.googleusercontent.com/KIy_dqUdZqcsTq4GDstHrHwLRvu60gT3v0p41gw792BC6OxamNhUw2eIy0-LI05qNEA=w240-h480
categories:
- backup
- storage