Bläddra i källkod

Update catalog information

sonicaj 2 år sedan
förälder
incheckning
f5deb39d8d

+ 56 - 21
catalog.json

@@ -418,7 +418,7 @@
             "latest_version": "1.0.8",
             "latest_app_version": "8.8.0",
             "latest_human_version": "8.8.0_1.0.8",
-            "last_update": "2023-05-26 11:50:47",
+            "last_update": "2023-05-30 13:24:14",
             "name": "elastic-search",
             "recommended": false,
             "title": "Elastic Search",
@@ -455,7 +455,7 @@
             "latest_version": "1.0.8",
             "latest_app_version": "v2.44.0",
             "latest_human_version": "v2.44.0_1.0.8",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "prometheus",
             "recommended": false,
             "title": "Prometheus",
@@ -611,7 +611,7 @@
             "latest_version": "1.0.10",
             "latest_app_version": "2023-03-24",
             "latest_human_version": "2023-03-24_1.0.10",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "minio",
             "recommended": false,
             "title": "MinIO",
@@ -653,7 +653,7 @@
             "latest_version": "1.0.3",
             "latest_app_version": "latest",
             "latest_human_version": "latest_1.0.3",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "ddns-updater",
             "recommended": false,
             "title": "DDNS Updater",
@@ -690,7 +690,7 @@
             "latest_version": "1.0.10",
             "latest_app_version": "1.28.1",
             "latest_human_version": "1.28.1_1.0.10",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "vaultwarden",
             "recommended": false,
             "title": "Vaultwarden",
@@ -728,7 +728,7 @@
             "latest_version": "1.0.2",
             "latest_app_version": "1.4.4.9",
             "latest_human_version": "1.4.4.9_1.0.2",
-            "last_update": "2023-05-11 16:20:35",
+            "last_update": "2023-05-30 13:24:14",
             "name": "terraria",
             "recommended": false,
             "title": "Terraria",
@@ -765,7 +765,7 @@
             "latest_version": "1.0.2",
             "latest_app_version": "2023.3.0",
             "latest_human_version": "2023.3.0_1.0.2",
-            "last_update": "2023-05-11 16:20:35",
+            "last_update": "2023-05-30 13:24:14",
             "name": "minecraft",
             "recommended": false,
             "title": "Minecraft",
@@ -801,7 +801,7 @@
             "latest_version": "1.0.6",
             "latest_app_version": "1.19.0",
             "latest_human_version": "1.19.0_1.0.6",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "gitea",
             "recommended": false,
             "title": "Gitea",
@@ -838,7 +838,7 @@
             "latest_version": "1.0.11",
             "latest_app_version": "4.5.2",
             "latest_human_version": "4.5.2_1.0.11",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "qbittorrent",
             "recommended": false,
             "title": "qBittorrent",
@@ -876,7 +876,7 @@
             "latest_version": "1.0.5",
             "latest_app_version": "v0.107.26",
             "latest_human_version": "v0.107.26_1.0.5",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "adguard-home",
             "recommended": false,
             "title": "AdGuard Home",
@@ -950,7 +950,7 @@
             "latest_version": "1.0.4",
             "latest_app_version": "10.8.10",
             "latest_human_version": "10.8.10_1.0.4",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "jellyfin",
             "recommended": false,
             "title": "Jellyfin",
@@ -992,7 +992,7 @@
             "latest_version": "1.0.2",
             "latest_app_version": "v1.4.230",
             "latest_human_version": "v1.4.230_1.0.2",
-            "last_update": "2023-05-11 16:20:35",
+            "last_update": "2023-05-30 13:24:14",
             "name": "mumble",
             "recommended": false,
             "title": "Mumble",
@@ -1014,6 +1014,41 @@
             ],
             "icon_url": "https://github.com/mumble-voip/mumble/blob/master/icons/mumble.svg"
         },
+        "tftpd-hpa": {
+            "app_readme": "<h1>TFTP</h1>\n<p><a href=\"https://manpages.debian.org/testing/tftpd-hpa/tftpd.8.en.html\">TFTP</a> is a server for the Trivial File Transfer Protocol.</p>\n<p>The app runs as <code>root</code> user and drops privileges to <code>tftp</code> (9069) user for the TFTP service.</p>\n<blockquote>\n<p>On every application start, a container will be launched with <strong>root</strong> privileges.\nThis will check the parent directory permissions and ownership.\nIf there is a mismatch it will apply the correct permissions to the TFTP directories.\nWhen \"Allow Create\" is checked, the above container will also check and <code>chmod</code> if needed\nto <code>757</code> the TFTP directories and to <code>555</code> when not checked.\nAfterward, the <code>TFTP</code> container will run as a <strong>root</strong> user, dropping privileges\nto <code>tftp</code> (9069) user for the TFTP service.\nNote: You need to have configured DHCP server for network boot to work.</p>\n</blockquote>",
+            "categories": [
+                "networking"
+            ],
+            "description": "A lightweight tftp-server",
+            "healthy": true,
+            "healthy_error": null,
+            "home": "https://github.com/truenas/containers/tree/main/apps/tftpd-hpa",
+            "location": "/__w/charts/charts/community/tftpd-hpa",
+            "latest_version": "1.0.0",
+            "latest_app_version": "1.0.0",
+            "latest_human_version": "1.0.0_1.0.0",
+            "last_update": null,
+            "name": "tftpd-hpa",
+            "recommended": false,
+            "title": "TFTP Server",
+            "maintainers": [
+                {
+                    "name": "truenas",
+                    "url": "https://www.truenas.com/",
+                    "email": "dev@ixsystems.com"
+                }
+            ],
+            "tags": [
+                "tftp"
+            ],
+            "screenshots": [],
+            "sources": [
+                "https://github.com/truenas/containers/tree/main/apps/tftpd-hpa",
+                "https://github.com/truenas/charts/tree/master/community/tftpd-hpa",
+                "https://hub.docker.com/r/ixsystems/tftpd-hpa"
+            ],
+            "icon_url": "https://avatars.githubusercontent.com/u/53482242"
+        },
         "zerotier": {
             "app_readme": "<h1>Zerotier</h1>\n<p><a href=\"https://www.zerotier.com\">Zerotier</a> Securely connect any device, anywhere.</p>",
             "categories": [
@@ -1062,7 +1097,7 @@
             "latest_version": "1.0.11",
             "latest_app_version": "v0.20.0",
             "latest_human_version": "v0.20.0_1.0.11",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "ipfs",
             "recommended": false,
             "title": "IPFS",
@@ -1101,7 +1136,7 @@
             "latest_version": "1.0.10",
             "latest_app_version": "1.8.1",
             "latest_human_version": "1.8.1_1.0.10",
-            "last_update": "2023-05-18 10:50:24",
+            "last_update": "2023-05-30 13:24:14",
             "name": "chia",
             "recommended": false,
             "title": "Chia",
@@ -1137,7 +1172,7 @@
             "latest_version": "1.0.8",
             "latest_app_version": "3.0.10.1567",
             "latest_human_version": "3.0.10.1567_1.0.8",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "sonarr",
             "recommended": false,
             "title": "Sonarr",
@@ -1176,7 +1211,7 @@
             "latest_version": "1.0.2",
             "latest_app_version": "1.0.1",
             "latest_human_version": "1.0.1_1.0.2",
-            "last_update": "2023-05-11 16:20:35",
+            "last_update": "2023-05-30 13:24:14",
             "name": "clamav",
             "recommended": false,
             "title": "Clam AV",
@@ -1211,7 +1246,7 @@
             "latest_version": "1.0.3",
             "latest_app_version": "1.32.5",
             "latest_human_version": "1.32.5_1.0.3",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "overseerr",
             "recommended": false,
             "title": "Overseerr",
@@ -1251,7 +1286,7 @@
             "latest_version": "1.0.11",
             "latest_app_version": "4.5.2.7388",
             "latest_human_version": "4.5.2.7388_1.0.11",
-            "last_update": "2023-05-29 11:16:26",
+            "last_update": "2023-05-30 13:24:14",
             "name": "radarr",
             "recommended": false,
             "title": "Radarr",
@@ -1291,7 +1326,7 @@
             "latest_version": "1.0.6",
             "latest_app_version": "2.00.20.1",
             "latest_human_version": "2.00.20.1_1.0.6",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "tdarr",
             "recommended": false,
             "title": "Tdarr",
@@ -1366,7 +1401,7 @@
             "latest_version": "1.0.7",
             "latest_app_version": "2.10.3",
             "latest_human_version": "2.10.3_1.0.7",
-            "last_update": "2023-05-23 17:13:41",
+            "last_update": "2023-05-30 13:24:14",
             "name": "nginx-proxy-manager",
             "recommended": false,
             "title": "Nginx Proxy Manager",
@@ -1406,7 +1441,7 @@
             "latest_version": "1.0.8",
             "latest_app_version": "1.1.3.2982",
             "latest_human_version": "1.1.3.2982_1.0.8",
-            "last_update": "2023-05-23 17:11:03",
+            "last_update": "2023-05-30 13:24:14",
             "name": "lidarr",
             "recommended": false,
             "title": "Lidarr",

+ 6 - 0
community/tftpd-hpa/1.0.0/Chart.lock

@@ -0,0 +1,6 @@
+dependencies:
+- name: common
+  repository: file://../../../common
+  version: 1.0.8
+digest: sha256:254efaa1285f634b7a80b7baadeadbd20a680f7fee49d1d9d3c4618aa0d657ad
+generated: "2023-05-15T16:04:33.567206466+03:00"

+ 26 - 0
community/tftpd-hpa/1.0.0/Chart.yaml

@@ -0,0 +1,26 @@
+name: tftpd-hpa
+description: A lightweight tftp-server
+annotations:
+  title: TFTP Server
+type: application
+version: 1.0.0
+apiVersion: v2
+appVersion: 1.0.0
+kubeVersion: '>=1.16.0-0'
+maintainers:
+  - name: truenas
+    url: https://www.truenas.com/
+    email: dev@ixsystems.com
+dependencies:
+  - name: common
+    repository: file://../../../common
+    version: 1.0.8
+home: https://github.com/truenas/containers/tree/main/apps/tftpd-hpa
+icon: https://avatars.githubusercontent.com/u/53482242
+sources:
+  - https://github.com/truenas/containers/tree/main/apps/tftpd-hpa
+  - https://github.com/truenas/charts/tree/master/community/tftpd-hpa
+  - https://hub.docker.com/r/ixsystems/tftpd-hpa
+keywords:
+  - tftp
+  - netboot

+ 14 - 0
community/tftpd-hpa/1.0.0/README.md

@@ -0,0 +1,14 @@
+# TFTP
+
+[TFTP](https://manpages.debian.org/testing/tftpd-hpa/tftpd.8.en.html) is a server for the Trivial File Transfer Protocol.
+
+The app runs as `root` user and drops privileges to `tftp` (9069) user for the TFTP service.
+
+> On every application start, a container will be launched with **root** privileges.
+> This will check the parent directory permissions and ownership.
+> If there is a mismatch it will apply the correct permissions to the TFTP directories.
+> When "Allow Create" is checked, the above container will also check and `chmod` if needed
+> to `757` the TFTP directories and to `555` when not checked.
+> Afterward, the `TFTP` container will run as a **root** user, dropping privileges
+> to `tftp` (9069) user for the TFTP service.
+> Note: You need to have configured DHCP server for network boot to work.

+ 14 - 0
community/tftpd-hpa/1.0.0/app-readme.md

@@ -0,0 +1,14 @@
+# TFTP
+
+[TFTP](https://manpages.debian.org/testing/tftpd-hpa/tftpd.8.en.html) is a server for the Trivial File Transfer Protocol.
+
+The app runs as `root` user and drops privileges to `tftp` (9069) user for the TFTP service.
+
+> On every application start, a container will be launched with **root** privileges.
+> This will check the parent directory permissions and ownership.
+> If there is a mismatch it will apply the correct permissions to the TFTP directories.
+> When "Allow Create" is checked, the above container will also check and `chmod` if needed
+> to `757` the TFTP directories and to `555` when not checked.
+> Afterward, the `TFTP` container will run as a **root** user, dropping privileges
+> to `tftp` (9069) user for the TFTP service.
+> Note: You need to have configured DHCP server for network boot to work.

BIN
community/tftpd-hpa/1.0.0/charts/common-1.0.8.tgz


+ 6 - 0
community/tftpd-hpa/1.0.0/ci/create-values.yaml

@@ -0,0 +1,6 @@
+tftpStorage:
+  tftpboot:
+    type: hostPath
+    hostPath: /mnt/{{ .Release.Name }}/tftpboot
+tftpConfig:
+  allowCreate: true

+ 6 - 0
community/tftpd-hpa/1.0.0/ci/readonly-values.yaml

@@ -0,0 +1,6 @@
+tftpStorage:
+  tftpboot:
+    type: hostPath
+    hostPath: /mnt/{{ .Release.Name }}/tftpboot
+tftpConfig:
+  allowCreate: false

+ 21 - 0
community/tftpd-hpa/1.0.0/ix_values.yaml

@@ -0,0 +1,21 @@
+image:
+  repository: ixsystems/tftpd-hpa
+  pullPolicy: IfNotPresent
+  tag: '1.0.0'
+
+resources:
+  limits:
+    cpu: 4000m
+    memory: 8Gi
+
+tftpConfig:
+  allowCreate: true
+  additionalEnvs: []
+tftpNetwork:
+  hostNetwork: true
+  # Only used if hostNetwork is false
+  tftpPort: 30000
+tftpStorage:
+  tftpboot:
+    type: ixVolume
+    datasetName: tftpboot

+ 16 - 0
community/tftpd-hpa/1.0.0/metadata.yaml

@@ -0,0 +1,16 @@
+runAsContext:
+  - userName: root
+    groupName: root
+    gid: 0
+    uid: 0
+    description: TFTP requires root privileges to start it's processes.
+capabilities:
+  - name: NET_BIND_SERVICE
+    description: TFTP requires this ability to bind to port 69 for TFTP.
+  - name: SETUID
+    description: TFTP requires this ability to switch user for sub-processes.
+  - name: SETGID
+    description: TFTP requires this ability to switch group for sub-processes.
+  - name: SYS_CHROOT
+    description: TFTP requires this ability to use chroot for it's sub-processes.
+hostMounts: []

+ 155 - 0
community/tftpd-hpa/1.0.0/questions.yaml

@@ -0,0 +1,155 @@
+groups:
+  - name: TFTP Configuration
+    description: Configure TFTP
+  - name: Network Configuration
+    description: Configure Network for TFTP
+  - name: Storage Configuration
+    description: Configure Storage for TFTP
+  - name: Resources Configuration
+    description: Configure Resources for TFTP
+
+questions:
+  - variable: TZ
+    group: TFTP Configuration
+    label: Timezone
+    schema:
+      type: string
+      default: Etc/UTC
+      required: true
+      $ref:
+        - definitions/timezone
+
+  - variable: tftpConfig
+    label: ""
+    group: TFTP Configuration
+    schema:
+      type: dict
+      attrs:
+        - variable: allowCreate
+          label: Allow Create
+          description: |
+            Allow new files to be created. This is disabled by default.</br>
+            Enabling this will change the permissions of the tftpboot directory to 757.
+            Disabling this will change the permissions of the tftpboot directory to 555.
+          schema:
+            type: boolean
+            default: false
+        - variable: additionalEnvs
+          label: Additional Environment Variables
+          description: Configure additional environment variables for TFTP.
+          schema:
+            type: list
+            default: []
+            items:
+              - variable: env
+                label: Environment Variable
+                schema:
+                  type: dict
+                  attrs:
+                    - variable: name
+                      label: Name
+                      schema:
+                        type: string
+                        required: true
+                    - variable: value
+                      label: Value
+                      schema:
+                        type: string
+                        required: true
+
+  - variable: tftpNetwork
+    label: ""
+    group: Network Configuration
+    schema:
+      type: dict
+      attrs:
+        - variable: hostNetwork
+          label: Host Network
+          description: |
+            Bind to the host network. It's recommended to keep this disabled.</br>
+          schema:
+            type: boolean
+            default: true
+        - variable: tftpPort
+          label: TFTP Port
+          description: |
+            The port for TFTP.
+            When hostNetwork is enabled, the port tftp port will be 69.
+          schema:
+            type: int
+            default: 30000
+            show_if: [["hostNetwork", "=", false]]
+            min: 9000
+            max: 65535
+            required: true
+
+  - variable: tftpStorage
+    label: ""
+    group: Storage Configuration
+    schema:
+      type: dict
+      attrs:
+        - variable: tftpboot
+          label: TFTP Boot Storage
+          description: The path to store TFTP Boot files.
+          schema:
+            type: dict
+            attrs:
+              - variable: type
+                label: Type
+                description: |
+                  ixVolume: Is dataset created automatically by the system.</br>
+                  Host Path: Is a path that already exists on the system.
+                schema:
+                  type: string
+                  required: true
+                  default: "ixVolume"
+                  enum:
+                    - value: "hostPath"
+                      description: Host Path (Path that already exists on the system)
+                    - value: "ixVolume"
+                      description: ixVolume (Dataset created automatically by the system)
+              - variable: datasetName
+                label: Dataset Name
+                schema:
+                  type: string
+                  show_if: [["type", "=", "ixVolume"]]
+                  required: true
+                  hidden: true
+                  immutable: true
+                  default: "tftpboot"
+                  $ref:
+                    - "normalize/ixVolume"
+              - variable: hostPath
+                label: Host Path
+                schema:
+                  type: hostpath
+                  show_if: [["type", "=", "hostPath"]]
+                  immutable: true
+                  required: true
+
+  - variable: resources
+    group: Resources Configuration
+    label: ""
+    schema:
+      type: dict
+      attrs:
+        - variable: limits
+          label: Limits
+          schema:
+            type: dict
+            attrs:
+              - variable: cpu
+                label: CPU
+                description: CPU limit for TFTP.
+                schema:
+                  type: string
+                  default: "4000m"
+                  required: true
+              - variable: memory
+                label: Memory
+                description: Memory limit for TFTP.
+                schema:
+                  type: string
+                  default: "8Gi"
+                  required: true

+ 1 - 0
community/tftpd-hpa/1.0.0/templates/NOTES.txt

@@ -0,0 +1 @@
+{{ include "ix.v1.common.lib.chart.notes" $ }}

+ 102 - 0
community/tftpd-hpa/1.0.0/templates/_tftp.tpl

@@ -0,0 +1,102 @@
+{{- define "tftp.workload" -}}
+workload:
+  tftp:
+    enabled: true
+    primary: true
+    type: Deployment
+    podSpec:
+      hostNetwork: {{ .Values.tftpNetwork.hostNetwork }}
+      containers:
+        tftp:
+          enabled: true
+          primary: true
+          imageSelector: image
+          securityContext:
+            runAsUser: 0
+            runAsGroup: 0
+            runAsNonRoot: false
+            readOnlyRootFilesystem: false
+            capabilities:
+              add:
+                - NET_BIND_SERVICE
+                - SETGID
+                - SETUID
+                - SYS_CHROOT
+          env:
+            MAPFILE: ""
+            SECURE: "1"
+            CREATE: {{ ternary "1" "0" .Values.tftpConfig.allowCreate  | quote }}
+          fixedEnv:
+            UMASK: {{ ternary "020" "" .Values.tftpConfig.allowCreate  | quote }}
+          {{ with .Values.tftpConfig.additionalEnvs }}
+          envList:
+            {{ range $env := . }}
+            - name: {{ $env.name }}
+              value: {{ $env.value }}
+            {{ end }}
+          {{ end }}
+          probes:
+            liveness:
+              enabled: true
+              type: exec
+              command:
+                - /bin/sh
+                - -c
+                - |
+                  getent services tftp
+            readiness:
+              enabled: true
+              type: exec
+              command:
+                - /bin/sh
+                - -c
+                - |
+                  getent services tftp
+            startup:
+              enabled: true
+              type: exec
+              command:
+                - /bin/sh
+                - -c
+                - |
+                  getent services tftp
+      initContainers:
+      {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
+                                                        "UID" 9069
+                                                        "GID" 9069
+                                                        "mode" "check"
+                                                        "chmod" (ternary "757" "555" .Values.tftpConfig.allowCreate)
+                                                        "type" "init") | nindent 8 }}
+
+
+{{/* Service */}}
+service:
+  tftp:
+    enabled: true
+    primary: true
+    type: NodePort
+    targetSelector: tftp
+    ports:
+      tftp:
+        enabled: true
+        primary: true
+        port: {{ .Values.tftpNetwork.tftpPort }}
+        nodePort: {{ .Values.tftpNetwork.tftpPort }}
+        targetPort: 69
+        protocol: udp
+        targetSelector: tftp
+
+{{/* Persistence */}}
+persistence:
+  tftpboot:
+    enabled: true
+    type: {{ .Values.tftpStorage.tftpboot.type }}
+    datasetName: {{ .Values.tftpStorage.tftpboot.datasetName | default "" }}
+    hostPath: {{ .Values.tftpStorage.tftpboot.hostPath | default "" }}
+    targetSelector:
+      tftp:
+        tftp:
+          mountPath: /tftpboot
+        01-permissions:
+          mountPath: /mnt/directories/tftpboot
+{{- end -}}

+ 6 - 0
community/tftpd-hpa/1.0.0/templates/common.yaml

@@ -0,0 +1,6 @@
+{{- include "ix.v1.common.loader.init" . -}}
+
+{{/* Merge the templates with Values */}}
+{{- $_ := mustMergeOverwrite .Values (include "tftp.workload" $ | fromYaml) -}}
+
+{{- include "ix.v1.common.loader.apply" . -}}

+ 6 - 0
community/tftpd-hpa/item.yaml

@@ -0,0 +1,6 @@
+icon_url: https://avatars.githubusercontent.com/u/53482242
+screenshots: []
+categories:
+  - networking
+tags:
+  - tftp