feat(Linkwarden) move to stable (#15230)
**Description** Moves Linkwarden to stable and remove SMTP questions since it doesn't work in the official docker image without building it manually **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code **🧪 How Has This Been Tested?** Tested on Cobia 23.10.0.1 **✔️ Checklist:** - [x] ⚖️ My code follows the style guidelines of this project - [x] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [x] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [x] ⬆️ I increased versions for any altered app according to semantic versioning
This commit is contained in:
parent
172b6e9917
commit
49e0069649
|
@ -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 @@
|
|||
## Linkwarden
|
|
@ -0,0 +1,26 @@
|
|||
apiVersion: v2
|
||||
appVersion: "2.2.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 15.0.1
|
||||
description: Linkwarden is a self-hosted, open-source collaborative bookmark manager to collect, organize and archive webpages.
|
||||
home: https://truecharts.org/charts/stable/linkwarden
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/linkwarden.png
|
||||
keywords:
|
||||
- linkwarden
|
||||
- bookmark
|
||||
- manager
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: linkwarden
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/linkwarden
|
||||
- https://github.com/linkwarden/linkwarden
|
||||
version: 1.0.0
|
||||
annotations:
|
||||
truecharts.org/category: bookmarks
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -0,0 +1,27 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
Binary file not shown.
After Width: | Height: | Size: 115 KiB |
|
@ -0,0 +1,132 @@
|
|||
# Include{groups}
|
||||
portals:
|
||||
open:
|
||||
# Include{portalLink}
|
||||
questions:
|
||||
# Include{global}
|
||||
# Include{workload}
|
||||
# Include{workloadDeployment}
|
||||
|
||||
# Include{replicas1}
|
||||
# Include{podSpec}
|
||||
# Include{containerMain}
|
||||
# Include{containerBasic}
|
||||
# Include{containerAdvanced}
|
||||
# Include{containerConfig}
|
||||
# Include{podOptions}
|
||||
- variable: config
|
||||
label: ""
|
||||
group: "App Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: nextauth_url
|
||||
label: "Public URL"
|
||||
description: "This is the public-facing URL that Linkwarden will be hosted on."
|
||||
schema:
|
||||
type: string
|
||||
default: "http://example.com"
|
||||
- variable: pagination_take_count
|
||||
label: "Pagination Take Count"
|
||||
description: "The numbers of Links to fetch every time you reach to the bottom of the webpage."
|
||||
schema:
|
||||
type: int
|
||||
default: 20
|
||||
- variable: autoscroll_timeout
|
||||
label: "Autoscroll Timeout"
|
||||
description: "The amount of time to wait for the website to be archived (in seconds)."
|
||||
schema:
|
||||
type: int
|
||||
default: 30
|
||||
- variable: disable_registration
|
||||
label: "Disable User Registration"
|
||||
description: "If set to true, registration will be disabled."
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: archive_limit
|
||||
label: "Archive Limit"
|
||||
description: "Adjusts how often a user can trigger a new archive for each link (in minutes)."
|
||||
schema:
|
||||
type: int
|
||||
default: 5
|
||||
# Include{serviceRoot}
|
||||
- variable: main
|
||||
label: Main Service
|
||||
description: The Primary service on which the healthcheck runs, often the webUI
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{serviceSelectorLoadBalancer}
|
||||
# Include{serviceSelectorExtras}
|
||||
- variable: main
|
||||
label: Main Service Port Configuration
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: port
|
||||
label: Port
|
||||
description: This port exposes the container port on the service
|
||||
schema:
|
||||
type: int
|
||||
default: 2985
|
||||
required: true
|
||||
# Include{serviceExpertRoot}
|
||||
# Include{serviceExpert}
|
||||
# Include{serviceList}
|
||||
# Include{persistenceRoot}
|
||||
- variable: data
|
||||
label: "App Data Storage"
|
||||
description: "Stores the Application Data."
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{persistenceBasic}
|
||||
# Include{persistenceList}
|
||||
# Include{ingressRoot}
|
||||
- variable: main
|
||||
label: Main Ingress
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
# Include{ingressDefault}
|
||||
# Include{ingressTLS}
|
||||
# Include{ingressTraefik}
|
||||
# Include{ingressAdvanced}
|
||||
# Include{ingressList}
|
||||
|
||||
# Include{securityContextRoot}
|
||||
- variable: runAsUser
|
||||
label: "runAsUser"
|
||||
description: "The UserID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
- variable: runAsGroup
|
||||
label: "runAsGroup"
|
||||
description: "The groupID of the user running the application"
|
||||
schema:
|
||||
type: int
|
||||
default: 0
|
||||
# Include{securityContextContainer}
|
||||
# Include{securityContextAdvanced}
|
||||
# Include{securityContextPod}
|
||||
- variable: fsGroup
|
||||
label: "fsGroup"
|
||||
description: "The group that should own ALL storage."
|
||||
schema:
|
||||
type: int
|
||||
default: 568
|
||||
|
||||
# Include{resources}
|
||||
# Include{advanced}
|
||||
# Include{addons}
|
||||
# Include{codeserver}
|
||||
# Include{netshoot}
|
||||
# Include{vpn}
|
||||
# Include{documentation}
|
|
@ -0,0 +1 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -0,0 +1,10 @@
|
|||
{{- define "linkwarden.secrets" -}}
|
||||
{{- $secretName := (printf "%s-linkwarden-secrets" (include "tc.v1.common.lib.chart.names.fullname" $)) }}
|
||||
{{- $secret := randAlphaNum 32 -}}
|
||||
{{- with (lookup "v1" "Secret" .Release.Namespace $secretName) -}}
|
||||
{{- $secret = index .data "NEXTAUTH_SECRET" | b64dec -}}
|
||||
{{- end }}
|
||||
enabled: true
|
||||
data:
|
||||
NEXTAUTH_SECRET: {{ $secret }}
|
||||
{{- end -}}
|
|
@ -0,0 +1,11 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render secrets for Linkwarden */}}
|
||||
{{- $secrets := include "linkwarden.secrets" . | fromYaml -}}
|
||||
{{- if $secrets -}}
|
||||
{{- $_ := set .Values.secret "linkwarden-secrets" $secrets -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -0,0 +1,60 @@
|
|||
image:
|
||||
repository: ghcr.io/linkwarden/linkwarden
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v2.2.1@sha256:c948cdcf683ec7b6c634eb2a0e184e270e167401d41ef8e82f7ff64c61f39f9c
|
||||
|
||||
config:
|
||||
nextauth_url: "http://example.com"
|
||||
pagination_take_count: 20
|
||||
autoscroll_timeout: 30
|
||||
disable_registration: false
|
||||
archive_limit: 5
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsGroup: 0
|
||||
runAsUser: 0
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 2985
|
||||
targetPort: 3000
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
env:
|
||||
DATABASE_URL:
|
||||
secretKeyRef:
|
||||
name: cnpg-main-urls
|
||||
key: std
|
||||
NEXTAUTH_SECRET:
|
||||
secretKeyRef:
|
||||
name: linkwarden-secrets
|
||||
key: NEXTAUTH_SECRET
|
||||
NEXTAUTH_URL: "{{ .Values.config.nextauth_url }}"
|
||||
PAGINATION_TAKE_COUNT: "{{ .Values.config.pagination_take_count }}"
|
||||
STORAGE_FOLDER: "data"
|
||||
AUTOSCROLL_TIMEOUT: "{{ .Values.config.autoscroll_timeout }}"
|
||||
NEXT_PUBLIC_DISABLE_REGISTRATION: "{{ .Values.config.disable_registration }}"
|
||||
RE_ARCHIVE_LIMIT: "{{ .Values.config.archive_limit }}"
|
||||
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/data"
|
||||
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
database: linkwarden
|
||||
user: linkwarden
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
Loading…
Reference in New Issue