feat(lenpaste): add lenpaste (#3895)
* feat(lenpaste): add lenpaste * admin name mail * no ssl * add icon * Apply suggestions from code review Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com> Signed-off-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
@@ -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,29 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: "10.6.2"
|
||||||
|
dependencies:
|
||||||
|
- name: common
|
||||||
|
repository: https://library-charts.truecharts.org
|
||||||
|
version: 10.5.10
|
||||||
|
- condition: postgresql.enabled
|
||||||
|
name: postgresql
|
||||||
|
repository: https://charts.truecharts.org/
|
||||||
|
version: 8.0.78
|
||||||
|
description: Lenpaste is a web service that allows you to share notes anonymously
|
||||||
|
home: https://truecharts.org/docs/charts/stable/airsonic
|
||||||
|
icon: https://truecharts.org/img/hotlink-ok/chart-icons/airsonic.png
|
||||||
|
keywords:
|
||||||
|
- lenpaste
|
||||||
|
kubeVersion: ">=1.16.0-0"
|
||||||
|
maintainers:
|
||||||
|
- email: info@truecharts.org
|
||||||
|
name: TrueCharts
|
||||||
|
url: https://truecharts.org
|
||||||
|
name: lenpaste
|
||||||
|
sources:
|
||||||
|
- https://git.lcomrade.su/root/lenpaste
|
||||||
|
version: 0.0.1
|
||||||
|
annotations:
|
||||||
|
truecharts.org/catagories: |
|
||||||
|
- productivity
|
||||||
|
truecharts.org/SCALE-support: "true"
|
||||||
|
truecharts.org/grade: U
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,168 @@
|
|||||||
|
# Include{groups}
|
||||||
|
portals:
|
||||||
|
open:
|
||||||
|
# Include{portalLink}
|
||||||
|
questions:
|
||||||
|
# Include{global}
|
||||||
|
# Include{controller}
|
||||||
|
# Include{controllerDeployment}
|
||||||
|
# Include{replicas}
|
||||||
|
# Include{replica1}
|
||||||
|
# Include{strategy}
|
||||||
|
# Include{recreate}
|
||||||
|
# Include{controllerExpert}
|
||||||
|
# Include{controllerExpertExtraArgs}
|
||||||
|
- variable: env
|
||||||
|
group: Container Configuration
|
||||||
|
label: Image Environment
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
- variable: LENPASTE_ADMIN_NAME
|
||||||
|
label: Admin Name
|
||||||
|
description: Name of the administrator of this server.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
|
- variable: LENPASTE_ADMIN_MAIL
|
||||||
|
label: Admin Mail
|
||||||
|
description: Email of the administrator of this server.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
default: ""
|
||||||
|
- variable: LENPASTE_DB_CLEANUP_PERIOD
|
||||||
|
label: DB Cleanup Period
|
||||||
|
description: Interval at which the DB is cleared of expired but not yet deleted pastes.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
default: 3h
|
||||||
|
- variable: LENPASTE_ROBOTS_DISALLOW
|
||||||
|
label: Disallow Robots
|
||||||
|
description: Prohibits search engine crawlers from indexing site using robots.txt file.
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
- variable: LENPASTE_TITLE_MAX_LENGTH
|
||||||
|
label: Title Max Length
|
||||||
|
description: Maximum length of the paste title.
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 100
|
||||||
|
- variable: LENPASTE_BODY_MAX_LENGTH
|
||||||
|
label: Body Max Length
|
||||||
|
description: Maximum length of the paste body.
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 100
|
||||||
|
- variable: LENPASTE_MAX_PASTE_LIFETIME
|
||||||
|
label: Max Paste Lifetime
|
||||||
|
description: Maximum lifetime of the paste. Examples 10m, 1h 30m, 12h, 7w, 30d, 365d.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
default: unlimited
|
||||||
|
# Include{containerConfig}
|
||||||
|
# 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: 10326
|
||||||
|
required: true
|
||||||
|
# Include{advancedPortHTTP}
|
||||||
|
- variable: targetPort
|
||||||
|
label: Target Port
|
||||||
|
description: The internal(!) port on the container the Application runs on
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 10326
|
||||||
|
# Include{serviceExpertRoot}
|
||||||
|
default: false
|
||||||
|
# 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{persistenceAdvanced}
|
||||||
|
# Include{persistenceList}
|
||||||
|
# Include{ingressRoot}
|
||||||
|
- variable: main
|
||||||
|
label: Main Ingress
|
||||||
|
schema:
|
||||||
|
additional_attrs: true
|
||||||
|
type: dict
|
||||||
|
attrs:
|
||||||
|
# Include{ingressDefault}
|
||||||
|
# Include{ingressTLS}
|
||||||
|
# Include{ingressTraefik}
|
||||||
|
# Include{ingressExpert}
|
||||||
|
# Include{ingressList}
|
||||||
|
# Include{security}
|
||||||
|
# Include{securityContextAdvancedRoot}
|
||||||
|
- variable: privileged
|
||||||
|
label: Privileged mode
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- variable: readOnlyRootFilesystem
|
||||||
|
label: ReadOnly Root Filesystem
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
- variable: allowPrivilegeEscalation
|
||||||
|
label: Allow Privilege Escalation
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
- variable: runAsNonRoot
|
||||||
|
label: runAsNonRoot
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
# Include{securityContextAdvanced}
|
||||||
|
# Include{podSecurityContextRoot}
|
||||||
|
- variable: runAsUser
|
||||||
|
label: runAsUser
|
||||||
|
description: The UserID of the user running the application
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
- variable: runAsGroup
|
||||||
|
label: runAsGroup
|
||||||
|
description: The groupID this App of the user running the application
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
- variable: fsGroup
|
||||||
|
label: fsGroup
|
||||||
|
description: The group that should own ALL storage.
|
||||||
|
schema:
|
||||||
|
type: int
|
||||||
|
default: 568
|
||||||
|
# Include{podSecurityContextAdvanced}
|
||||||
|
# Include{resources}
|
||||||
|
# Include{advanced}
|
||||||
|
# Include{addons}
|
||||||
|
# Include{documentation}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{{ include "tc.common.loader.all" . }}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
image:
|
||||||
|
repository: tccr.io/truecharts/lenpaste
|
||||||
|
tag: 1.1.1@sha256:7b44286222485b37cb27b46b1208c3f1eac8abb6dac9ed3a123053524432862a
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
|
env:
|
||||||
|
LENPASTE_ADDRESS: ":{{ .Values.service.main.ports.main.port }}"
|
||||||
|
LENPASTE_DB_DRIVER: postgres
|
||||||
|
LENPASTE_DB_SOURCE:
|
||||||
|
secretKeyRef:
|
||||||
|
name: dbcreds
|
||||||
|
key: urlnossl
|
||||||
|
# User Defined
|
||||||
|
LENPASTE_ADMIN_NAME: admin
|
||||||
|
LENPASTE_ADMIN_MAIL: admin@example.com
|
||||||
|
LENPASTE_DB_CLEANUP_PERIOD: 3h
|
||||||
|
LENPASTE_ROBOTS_DISALLOW: true
|
||||||
|
LENPASTE_TITLE_MAX_LENGTH: 100
|
||||||
|
LENPASTE_BODY_MAX_LENGTH: 10000
|
||||||
|
LENPASTE_MAX_PASTE_LIFETIME: unlimited
|
||||||
|
|
||||||
|
service:
|
||||||
|
main:
|
||||||
|
ports:
|
||||||
|
main:
|
||||||
|
port: 10326
|
||||||
|
protocol: HTTP
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
data:
|
||||||
|
enabled: true
|
||||||
|
mountPath: "/data"
|
||||||
|
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
existingSecret: dbcreds
|
||||||
|
postgresqlUsername: lenpaste
|
||||||
|
postgresqlDatabase: lenpaste
|
||||||
|
|
||||||
|
portal:
|
||||||
|
enabled: true
|
||||||
@@ -113,6 +113,7 @@ words:
|
|||||||
- ldapmetrics
|
- ldapmetrics
|
||||||
- ldaps
|
- ldaps
|
||||||
- lebbing
|
- lebbing
|
||||||
|
- lenpaste
|
||||||
- letsencrypt
|
- letsencrypt
|
||||||
- lidarr
|
- lidarr
|
||||||
- linkwallet
|
- linkwallet
|
||||||
|
|||||||
Reference in New Issue
Block a user