From e2ad985dd688af9b4b61de3ac6f38525fa2ada4e Mon Sep 17 00:00:00 2001 From: sonicaj Date: Mon, 17 Jul 2023 13:10:07 +0000 Subject: [PATCH] Publish new changes in catalog --- community/searxng/1.0.0/Chart.lock | 6 + community/searxng/1.0.0/Chart.yaml | 25 ++ community/searxng/1.0.0/README.md | 3 + community/searxng/1.0.0/app-readme.md | 3 + .../searxng/1.0.0/charts/common-1.0.12.tgz | Bin 0 -> 56717 bytes community/searxng/1.0.0/ci/basic-values.yaml | 10 + community/searxng/1.0.0/ci/extra-values.yaml | 14 ++ .../searxng/1.0.0/ci/hostNet-values.yaml | 8 + community/searxng/1.0.0/ix_values.yaml | 23 ++ community/searxng/1.0.0/metadata.yaml | 12 + community/searxng/1.0.0/questions.yaml | 215 ++++++++++++++++++ community/searxng/1.0.0/templates/NOTES.txt | 1 + .../searxng/1.0.0/templates/_persistence.tpl | 34 +++ community/searxng/1.0.0/templates/_portal.tpl | 12 + .../searxng/1.0.0/templates/_searxng.tpl | 48 ++++ .../searxng/1.0.0/templates/_service.tpl | 15 ++ community/searxng/1.0.0/templates/common.yaml | 11 + community/searxng/item.yaml | 6 + 18 files changed, 446 insertions(+) create mode 100644 community/searxng/1.0.0/Chart.lock create mode 100644 community/searxng/1.0.0/Chart.yaml create mode 100644 community/searxng/1.0.0/README.md create mode 100644 community/searxng/1.0.0/app-readme.md create mode 100644 community/searxng/1.0.0/charts/common-1.0.12.tgz create mode 100644 community/searxng/1.0.0/ci/basic-values.yaml create mode 100644 community/searxng/1.0.0/ci/extra-values.yaml create mode 100644 community/searxng/1.0.0/ci/hostNet-values.yaml create mode 100644 community/searxng/1.0.0/ix_values.yaml create mode 100644 community/searxng/1.0.0/metadata.yaml create mode 100644 community/searxng/1.0.0/questions.yaml create mode 100644 community/searxng/1.0.0/templates/NOTES.txt create mode 100644 community/searxng/1.0.0/templates/_persistence.tpl create mode 100644 community/searxng/1.0.0/templates/_portal.tpl create mode 100644 community/searxng/1.0.0/templates/_searxng.tpl create mode 100644 community/searxng/1.0.0/templates/_service.tpl create mode 100644 community/searxng/1.0.0/templates/common.yaml create mode 100644 community/searxng/item.yaml diff --git a/community/searxng/1.0.0/Chart.lock b/community/searxng/1.0.0/Chart.lock new file mode 100644 index 0000000000..a6c095a482 --- /dev/null +++ b/community/searxng/1.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common + version: 1.0.12 +digest: sha256:debd30721d09ae8293b1cbdd9d0115981d40b47908be3035fc3cf657c9d5eedb +generated: "2023-07-15T23:16:41.80942906+03:00" diff --git a/community/searxng/1.0.0/Chart.yaml b/community/searxng/1.0.0/Chart.yaml new file mode 100644 index 0000000000..98e80fb310 --- /dev/null +++ b/community/searxng/1.0.0/Chart.yaml @@ -0,0 +1,25 @@ +name: searxng +description: SearXNG is a privacy-respecting, hackable metasearch engine +annotations: + title: SearXNG +type: application +version: 1.0.0 +apiVersion: v2 +appVersion: 2023.7.7 +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.12 +home: https://github.com/searxng/searxng +icon: https://raw.githubusercontent.com/searxng/searxng/master/src/brand/searxng.svg +sources: + - https://hub.docker.com/r/searxng/searxng + - https://github.com/truenas/charts/tree/master/library/ix-dev/community/searxng + - https://github.com/searxng/searxng +keywords: + - search diff --git a/community/searxng/1.0.0/README.md b/community/searxng/1.0.0/README.md new file mode 100644 index 0000000000..0512acbff1 --- /dev/null +++ b/community/searxng/1.0.0/README.md @@ -0,0 +1,3 @@ +# SearXNG + +[SearXNG](https://github.com/searxng/searxng) is a privacy-respecting, hackable metasearch engine diff --git a/community/searxng/1.0.0/app-readme.md b/community/searxng/1.0.0/app-readme.md new file mode 100644 index 0000000000..0512acbff1 --- /dev/null +++ b/community/searxng/1.0.0/app-readme.md @@ -0,0 +1,3 @@ +# SearXNG + +[SearXNG](https://github.com/searxng/searxng) is a privacy-respecting, hackable metasearch engine diff --git a/community/searxng/1.0.0/charts/common-1.0.12.tgz b/community/searxng/1.0.0/charts/common-1.0.12.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4823bbc188a4de2d3fc4904562e280cc1cbd0a14 GIT binary patch literal 56717 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 literal 0 HcmV?d00001 diff --git a/community/searxng/1.0.0/ci/basic-values.yaml b/community/searxng/1.0.0/ci/basic-values.yaml new file mode 100644 index 0000000000..c7d1640951 --- /dev/null +++ b/community/searxng/1.0.0/ci/basic-values.yaml @@ -0,0 +1,10 @@ +searxngConfig: + instanceName: SearXNG-Test + +searxngNetwork: + webPort: 31000 + +searxngStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config diff --git a/community/searxng/1.0.0/ci/extra-values.yaml b/community/searxng/1.0.0/ci/extra-values.yaml new file mode 100644 index 0000000000..3ecafccce8 --- /dev/null +++ b/community/searxng/1.0.0/ci/extra-values.yaml @@ -0,0 +1,14 @@ +searxngNetwork: + webPort: 31000 + +searxngStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config + additionalStorages: + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/data1 + mountPath: /data1 + - type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/data2 + mountPath: /data2 diff --git a/community/searxng/1.0.0/ci/hostNet-values.yaml b/community/searxng/1.0.0/ci/hostNet-values.yaml new file mode 100644 index 0000000000..555a1ffc98 --- /dev/null +++ b/community/searxng/1.0.0/ci/hostNet-values.yaml @@ -0,0 +1,8 @@ +searxngNetwork: + webPort: 30000 + hostNetwork: true + +searxngStorage: + config: + type: hostPath + hostPath: /mnt/{{ .Release.Namespace }}/config diff --git a/community/searxng/1.0.0/ix_values.yaml b/community/searxng/1.0.0/ix_values.yaml new file mode 100644 index 0000000000..94330bb6ef --- /dev/null +++ b/community/searxng/1.0.0/ix_values.yaml @@ -0,0 +1,23 @@ +image: + repository: searxng/searxng + pullPolicy: IfNotPresent + tag: 2023.7.7-cada89ee + +resources: + limits: + cpu: 4000m + memory: 8Gi + +searxngConfig: + instanceName: SearXNG + additionalEnvs: [] + +searxngNetwork: + webPort: 30053 + hostNetwork: false + +searxngStorage: + config: + type: ixVolume + datasetName: config + additionalStorages: [] diff --git a/community/searxng/1.0.0/metadata.yaml b/community/searxng/1.0.0/metadata.yaml new file mode 100644 index 0000000000..802e3508b2 --- /dev/null +++ b/community/searxng/1.0.0/metadata.yaml @@ -0,0 +1,12 @@ +runAsContext: + - userName: searxng + groupName: searxng + gid: 0 + uid: 0 + description: SearXNG requires root privileges to start it's sub-processes. +capabilities: + - name: SETUID + description: SearXNG requires this ability to switch user for sub-processes. + - name: SETGID + description: SearXNG requires this ability to switch group for sub-processes. +hostMounts: [] diff --git a/community/searxng/1.0.0/questions.yaml b/community/searxng/1.0.0/questions.yaml new file mode 100644 index 0000000000..d71ee75c0d --- /dev/null +++ b/community/searxng/1.0.0/questions.yaml @@ -0,0 +1,215 @@ +groups: + - name: SearXNG Configuration + description: Configure SearXNG + - name: Network Configuration + description: Configure Network for SearXNG + - name: Storage Configuration + description: Configure Storage for SearXNG + - name: Resources Configuration + description: Configure Resources for SearXNG + +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "$kubernetes-resource_configmap_portal_path" + +questions: + - variable: searxngConfig + label: "" + group: SearXNG Configuration + schema: + type: dict + attrs: + - variable: instanceName + label: Instance Name + description: The name of the SearXNG instance. + schema: + type: string + default: "SearXNG" + required: true + - variable: additionalEnvs + label: Additional Environment Variables + description: Configure additional environment variables for SearXNG. + 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: searxngNetwork + label: "" + group: Network Configuration + schema: + type: dict + attrs: + - variable: webPort + label: Web Port + description: The port for the SearXNG Web UI. + schema: + type: int + default: 30053 + min: 9000 + max: 65535 + required: true + - variable: hostNetwork + label: Host Network + description: | + Bind to the host network. It's recommended to keep this disabled.
+ schema: + type: boolean + default: false + + - variable: searxngStorage + label: "" + group: Storage Configuration + schema: + type: dict + attrs: + - variable: config + label: SearXNG Config Storage + description: The path to store SearXNG Configuration. + schema: + type: dict + attrs: + - variable: type + label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ 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: "config" + $ref: + - "normalize/ixVolume" + - variable: hostPath + label: Host Path + schema: + type: hostpath + show_if: [["type", "=", "hostPath"]] + immutable: true + required: true + - variable: additionalStorages + label: Additional Storage + description: Additional storage for SearXNG. + schema: + type: list + default: [] + items: + - variable: storageEntry + label: Storage Entry + schema: + type: dict + attrs: + - variable: type + label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ 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: mountPath + label: Mount Path + description: The path inside the container to mount the storage. + schema: + type: path + required: true + - variable: hostPath + label: Host Path + description: The host path to use for storage. + schema: + type: hostpath + show_if: [["type", "=", "hostPath"]] + required: true + - variable: datasetName + label: Dataset Name + description: The name of the dataset to use for storage. + schema: + type: string + show_if: [["type", "=", "ixVolume"]] + required: true + immutable: true + default: "storage_entry" + $ref: + - "normalize/ixVolume" + + - 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 SearXNG. + schema: + type: string + max_length: 6 + valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$' + valid_chars_error: | + Valid CPU limit formats are
+ - Plain Integer - eg. 1
+ - Float - eg. 0.5
+ - Milicpu - eg. 500m + default: "4000m" + required: true + - variable: memory + label: Memory + description: Memory limit for SearXNG. + schema: + type: string + max_length: 12 + valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$' + valid_chars_error: | + Valid Memory limit formats are
+ - Suffixed with E/P/T/G/M/K - eg. 1G
+ - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi
+ - Plain Integer in bytes - eg. 1024
+ - Exponent - eg. 134e6 + default: "8Gi" + required: true diff --git a/community/searxng/1.0.0/templates/NOTES.txt b/community/searxng/1.0.0/templates/NOTES.txt new file mode 100644 index 0000000000..ba4e01146c --- /dev/null +++ b/community/searxng/1.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{ include "ix.v1.common.lib.chart.notes" $ }} diff --git a/community/searxng/1.0.0/templates/_persistence.tpl b/community/searxng/1.0.0/templates/_persistence.tpl new file mode 100644 index 0000000000..a79f5fe5d7 --- /dev/null +++ b/community/searxng/1.0.0/templates/_persistence.tpl @@ -0,0 +1,34 @@ +{{- define "searxng.persistence" -}} +persistence: + config: + enabled: true + type: {{ .Values.searxngStorage.config.type }} + datasetName: {{ .Values.searxngStorage.config.datasetName | default "" }} + hostPath: {{ .Values.searxngStorage.config.hostPath | default "" }} + targetSelector: + searxng: + searxng: + mountPath: /etc/searxng + 01-permissions: + mountPath: /mnt/directories/searxng + tmp: + enabled: true + type: emptyDir + targetSelector: + searxng: + searxng: + mountPath: /tmp + {{- range $idx, $storage := .Values.searxngStorage.additionalStorages }} + {{ printf "searxng-%v" (int $idx) }}: + enabled: true + type: {{ $storage.type }} + datasetName: {{ $storage.datasetName | default "" }} + hostPath: {{ $storage.hostPath | default "" }} + targetSelector: + searxng: + searxng: + mountPath: {{ $storage.mountPath }} + 01-permissions: + mountPath: /mnt/directories{{ $storage.mountPath }} + {{- end }} +{{- end -}} diff --git a/community/searxng/1.0.0/templates/_portal.tpl b/community/searxng/1.0.0/templates/_portal.tpl new file mode 100644 index 0000000000..fd4b0edea7 --- /dev/null +++ b/community/searxng/1.0.0/templates/_portal.tpl @@ -0,0 +1,12 @@ +{{- define "searxng.portal" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + path: "/" + port: {{ .Values.searxngNetwork.webPort | quote }} + protocol: http + host: $node_ip +{{- end -}} diff --git a/community/searxng/1.0.0/templates/_searxng.tpl b/community/searxng/1.0.0/templates/_searxng.tpl new file mode 100644 index 0000000000..883975de24 --- /dev/null +++ b/community/searxng/1.0.0/templates/_searxng.tpl @@ -0,0 +1,48 @@ +{{- define "searxng.workload" -}} +workload: + searxng: + enabled: true + primary: true + type: Deployment + podSpec: + hostNetwork: {{ .Values.searxngNetwork.hostNetwork }} + containers: + searxng: + enabled: true + primary: true + imageSelector: image + securityContext: + runAsUser: 0 + runAsGroup: 0 + runAsNonRoot: false + capabilities: + add: + - SETUID + - SETGID + env: + BIND_ADDRESS: {{ printf "0.0.0.0:%v" .Values.searxngNetwork.webPort }} + INSTANCE_NAME: {{ .Values.searxngConfig.instanceName }} + {{ with .Values.searxngConfig.additionalEnvs }} + envList: + {{ range $env := . }} + - name: {{ $env.name }} + value: {{ $env.value }} + {{ end }} + {{ end }} + probes: + liveness: + enabled: true + type: http + port: "{{ .Values.searxngNetwork.webPort }}" + path: /healthz + readiness: + enabled: true + type: http + port: "{{ .Values.searxngNetwork.webPort }}" + path: /healthz + startup: + enabled: true + type: http + port: "{{ .Values.searxngNetwork.webPort }}" + path: /healthz +{{- end -}} diff --git a/community/searxng/1.0.0/templates/_service.tpl b/community/searxng/1.0.0/templates/_service.tpl new file mode 100644 index 0000000000..8a6c959eed --- /dev/null +++ b/community/searxng/1.0.0/templates/_service.tpl @@ -0,0 +1,15 @@ +{{- define "searxng.service" -}} +service: + searxng: + enabled: true + primary: true + type: NodePort + targetSelector: searxng + ports: + webui: + enabled: true + primary: true + port: {{ .Values.searxngNetwork.webPort }} + nodePort: {{ .Values.searxngNetwork.webPort }} + targetSelector: searxng +{{- end -}} diff --git a/community/searxng/1.0.0/templates/common.yaml b/community/searxng/1.0.0/templates/common.yaml new file mode 100644 index 0000000000..85143ea812 --- /dev/null +++ b/community/searxng/1.0.0/templates/common.yaml @@ -0,0 +1,11 @@ +{{- include "ix.v1.common.loader.init" . -}} + +{{/* Merge the templates with Values */}} +{{- $_ := mustMergeOverwrite .Values (include "searxng.workload" $ | fromYaml) -}} +{{- $_ := mustMergeOverwrite .Values (include "searxng.service" $ | fromYaml) -}} +{{- $_ := mustMergeOverwrite .Values (include "searxng.persistence" $ | fromYaml) -}} + +{{/* Create the configmap for portal manually*/}} +{{- include "searxng.portal" $ -}} + +{{- include "ix.v1.common.loader.apply" . -}} diff --git a/community/searxng/item.yaml b/community/searxng/item.yaml new file mode 100644 index 0000000000..0abef573ae --- /dev/null +++ b/community/searxng/item.yaml @@ -0,0 +1,6 @@ +icon_url: https://raw.githubusercontent.com/searxng/searxng/master/src/brand/searxng.svg +categories: + - productivity +screenshots: [] +tags: + - search