Commit new Chart releases for TrueCharts
Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
parent
6620f373d8
commit
262cd42c84
|
@ -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,31 @@
|
|||
---
|
||||
title: Changelog
|
||||
---
|
||||
|
||||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [kubeapps-1.0.0](https://github.com/truecharts/charts/compare/kubeapps-0.0.5...kubeapps-1.0.0) (2024-02-14)
|
||||
|
||||
|
||||
## [kubeapps-1.0.0](https://github.com/truecharts/charts/compare/kubeapps-0.0.5...kubeapps-1.0.0) (2024-02-14)
|
||||
|
||||
|
||||
## [kubeapps-0.0.5](https://github.com/truecharts/charts/compare/kubeapps-0.0.4...kubeapps-0.0.5) (2024-02-14)
|
||||
|
||||
|
||||
## [kubeapps-0.0.4](https://github.com/truecharts/charts/compare/kubeapps-0.0.3...kubeapps-0.0.4) (2024-02-13)
|
||||
|
||||
### Feat
|
||||
|
||||
|
||||
|
||||
- move to enterprise train, finished testing
|
|
@ -0,0 +1,45 @@
|
|||
annotations:
|
||||
max_scale_version: 23.10.2
|
||||
min_scale_version: 23.10.0
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/category: operators
|
||||
truecharts.org/max_helm_version: "3.14"
|
||||
truecharts.org/min_helm_version: "3.12"
|
||||
truecharts.org/train: enterprise
|
||||
apiVersion: v2
|
||||
appVersion: 0.0.3
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 17.4.2
|
||||
repository: oci://tccr.io/truecharts
|
||||
condition: ""
|
||||
alias: ""
|
||||
tags: []
|
||||
import-values: []
|
||||
- name: kubeapps
|
||||
version: 14.4.0
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
condition: ""
|
||||
alias: ogkubeapps
|
||||
tags: []
|
||||
import-values: []
|
||||
deprecated: false
|
||||
description: KubeApps is a Kubernetes-as-Apps solution
|
||||
home: https://truecharts.org/charts/enterprise/kubeapps
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/kubeapps.png
|
||||
keywords:
|
||||
- kubeapps
|
||||
- catalog
|
||||
kubeVersion: '>=1.24.0-0'
|
||||
maintainers:
|
||||
- name: TrueCharts
|
||||
email: info@truecharts.org
|
||||
url: https://truecharts.org
|
||||
name: kubeapps
|
||||
sources:
|
||||
- https://cert-manager.io/
|
||||
- https://github.com/cert-manager
|
||||
- https://github.com/truecharts/charts/tree/master/charts/enterprise/kubeapps
|
||||
- https://ghcr.io/xstar97/my-proxy-service
|
||||
type: application
|
||||
version: 1.2.1
|
|
@ -0,0 +1,106 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "MetalLB" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: 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/enterprise/kubeapps)
|
||||
|
||||
**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_
|
|
@ -0,0 +1,8 @@
|
|||
KubeApps is a Kubernetes-as-Apps solution
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/kubeapps](https://truecharts.org/charts/enterprise/kubeapps)
|
||||
|
||||
---
|
||||
|
||||
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!
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,94 @@
|
|||
image:
|
||||
pullPolicy: IfNotPresent
|
||||
repository: ghcr.io/xstar97/my-proxy-service
|
||||
tag: v0.0.3@sha256:272f4af7f79fac47de413b9a756d2ca23df27df4fb5af2e41a2c9f8cfe6ce642
|
||||
|
||||
operator:
|
||||
register: false
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
||||
|
||||
podOptions:
|
||||
automountServiceAccountToken: true
|
||||
|
||||
workload:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
type: Deployment
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
env:
|
||||
PORT: 3000
|
||||
API_FILE: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
PROXY_TARGET: http://tckubeapps:8080
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 3000
|
||||
readiness:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 3000
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 3000
|
||||
|
||||
service:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
expandObjectName: false
|
||||
ports:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 3000
|
||||
targetPort: 3000
|
||||
tckubeapps:
|
||||
enabled: true
|
||||
expandObjectName: false
|
||||
labels:
|
||||
truecharts.org/flagged: "true"
|
||||
selectorLabels:
|
||||
app.kubernetes.io/component: frontend
|
||||
truecharts.org/kahack: frontend
|
||||
ports:
|
||||
tckubeapps:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
|
||||
serviceAccount:
|
||||
kubeapps-operator:
|
||||
enabled: true
|
||||
primary: true
|
||||
targetSelectAll: true
|
||||
|
||||
rbac:
|
||||
kubeapps-operator:
|
||||
enabled: true
|
||||
primary: true
|
||||
clusterWide: true
|
||||
allServiceAccounts: true
|
||||
rules:
|
||||
- apiGroups: ["*"]
|
||||
resources: ["*"]
|
||||
verbs: ["*"]
|
||||
|
||||
ogkubeapps:
|
||||
frontend:
|
||||
podLabels:
|
||||
truecharts.org/kahack: frontend
|
||||
apprepository:
|
||||
initialRepos:
|
||||
- name: truecharts
|
||||
url: https://charts.truecharts.org
|
|
@ -0,0 +1,955 @@
|
|||
groups:
|
||||
- name: Container Image
|
||||
description: Image to be used for container
|
||||
- name: General Settings
|
||||
description: General Deployment Settings
|
||||
- name: Workload Settings
|
||||
description: Workload Settings
|
||||
- name: App Configuration
|
||||
description: App Specific Config Options
|
||||
- name: Networking and Services
|
||||
description: Configure Network and Services for Container
|
||||
- name: Storage and Persistence
|
||||
description: Persist and Share Data that is Separate from the Container
|
||||
- name: Ingress
|
||||
description: Ingress Configuration
|
||||
- name: Security and Permissions
|
||||
description: Configure Security Context and Permissions
|
||||
- name: Resources and Devices
|
||||
description: "Specify Resources/Devices to be Allocated to Workload"
|
||||
- name: Middlewares
|
||||
description: Traefik Middlewares
|
||||
- name: Metrics
|
||||
description: Metrics
|
||||
- name: Addons
|
||||
description: Addon Configuration
|
||||
- name: Backup Configuration
|
||||
description: Configure Velero Backup Schedule
|
||||
- name: Advanced
|
||||
description: Advanced Configuration
|
||||
- name: Postgresql
|
||||
description: Postgresql
|
||||
- name: Documentation
|
||||
description: Documentation
|
||||
|
||||
portals:
|
||||
open:
|
||||
protocols:
|
||||
- "$kubernetes-resource_configmap_tcportal-open_protocol"
|
||||
host:
|
||||
- "$kubernetes-resource_configmap_tcportal-open_host"
|
||||
ports:
|
||||
- "$kubernetes-resource_configmap_tcportal-open_port"
|
||||
|
||||
questions:
|
||||
- variable: global
|
||||
group: General Settings
|
||||
label: "Global Settings"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: stopAll
|
||||
label: Stop All
|
||||
description: "Stops All Running pods and hibernates cnpg"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: service
|
||||
group: Networking and Services
|
||||
label: Configure Service(s)
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
|
||||
- variable: main
|
||||
label: "token-bypass Service"
|
||||
description: "The token-bypass service"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable the Service
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: Service Type
|
||||
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: LoadBalancer
|
||||
enum:
|
||||
- value: LoadBalancer
|
||||
description: LoadBalancer (Expose Ports)
|
||||
- value: ClusterIP
|
||||
description: ClusterIP (Do Not Expose Ports)
|
||||
|
||||
- variable: loadBalancerIP
|
||||
label: LoadBalancer IP
|
||||
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
|
||||
- variable: main
|
||||
label: "token-bypass 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: 8080
|
||||
required: true
|
||||
- variable: tckubeapps
|
||||
label: "KubeApps Service"
|
||||
description: "The Primary service on which the healthcheck runs, often the webUI"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable the Service
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: type
|
||||
label: Service Type
|
||||
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: LoadBalancer
|
||||
enum:
|
||||
- value: LoadBalancer
|
||||
description: LoadBalancer (Expose Ports)
|
||||
- value: ClusterIP
|
||||
description: ClusterIP (Do Not Expose Ports)
|
||||
|
||||
- variable: loadBalancerIP
|
||||
label: LoadBalancer IP
|
||||
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ports
|
||||
label: "Service's Port(s) Configuration"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
|
||||
- variable: tckubeapps
|
||||
label: "KubeApps 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: 8080
|
||||
required: true
|
||||
- variable: serviceexpert
|
||||
group: Networking and Services
|
||||
label: Show Expert Config
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
|
||||
- variable: scaleExternalInterface
|
||||
description: Add External Interfaces
|
||||
label: Add external Interfaces
|
||||
group: Networking
|
||||
schema:
|
||||
type: list
|
||||
items:
|
||||
- variable: interfaceConfiguration
|
||||
description: Interface Configuration
|
||||
label: Interface Configuration
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
$ref:
|
||||
- "normalize/interfaceConfiguration"
|
||||
attrs:
|
||||
- variable: hostInterface
|
||||
description: Please Specify Host Interface
|
||||
label: Host Interface
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
$ref:
|
||||
- "definitions/interface"
|
||||
- variable: ipam
|
||||
description: Define how IP Address will be managed
|
||||
label: IP Address Management
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
required: true
|
||||
attrs:
|
||||
- variable: type
|
||||
description: Specify type for IPAM
|
||||
label: IPAM Type
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
enum:
|
||||
- value: dhcp
|
||||
description: Use DHCP
|
||||
- value: static
|
||||
description: Use Static IP
|
||||
- variable: staticIPConfigurations
|
||||
label: Static IP Addresses
|
||||
schema:
|
||||
type: list
|
||||
show_if: [["type", "=", "static"]]
|
||||
items:
|
||||
- variable: staticIP
|
||||
label: Static IP
|
||||
schema:
|
||||
type: ipaddr
|
||||
cidr: true
|
||||
- variable: staticRoutes
|
||||
label: Static Routes
|
||||
schema:
|
||||
type: list
|
||||
show_if: [["type", "=", "static"]]
|
||||
items:
|
||||
- variable: staticRouteConfiguration
|
||||
label: Static Route Configuration
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: destination
|
||||
label: Destination
|
||||
schema:
|
||||
type: ipaddr
|
||||
cidr: true
|
||||
required: true
|
||||
- variable: gateway
|
||||
label: Gateway
|
||||
schema:
|
||||
type: ipaddr
|
||||
cidr: false
|
||||
required: true
|
||||
|
||||
- variable: serviceList
|
||||
label: Add Manual Custom Services
|
||||
group: Networking and Services
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: serviceListEntry
|
||||
label: Custom Service
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable the service
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: Name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: type
|
||||
label: Service Type
|
||||
description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer"
|
||||
schema:
|
||||
type: string
|
||||
default: LoadBalancer
|
||||
enum:
|
||||
- value: LoadBalancer
|
||||
description: LoadBalancer (Expose Ports)
|
||||
- value: ClusterIP
|
||||
description: ClusterIP (Do Not Expose Ports)
|
||||
- value: Simple
|
||||
description: Deprecated CHANGE THIS
|
||||
- variable: loadBalancerIP
|
||||
label: LoadBalancer IP
|
||||
description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB"
|
||||
schema:
|
||||
show_if: [["type", "=", "LoadBalancer"]]
|
||||
type: string
|
||||
default: ""
|
||||
- variable: advancedsvcset
|
||||
label: Show Advanced Service Settings
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: externalIPs
|
||||
label: "External IP's"
|
||||
description: "External IP's"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: externalIP
|
||||
label: External IP
|
||||
schema:
|
||||
type: string
|
||||
- variable: ipFamilyPolicy
|
||||
label: IP Family Policy
|
||||
description: Specify the IP Policy
|
||||
schema:
|
||||
type: string
|
||||
default: SingleStack
|
||||
enum:
|
||||
- value: SingleStack
|
||||
description: SingleStack
|
||||
- value: PreferDualStack
|
||||
description: PreferDualStack
|
||||
- value: RequireDualStack
|
||||
description: RequireDualStack
|
||||
- variable: ipFamilies
|
||||
label: IP Families
|
||||
description: (Advanced) The IP Families that should be used
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: ipFamily
|
||||
label: IP Family
|
||||
schema:
|
||||
type: string
|
||||
- variable: portsList
|
||||
label: Additional Service Ports
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: portsListEntry
|
||||
label: Custom ports
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable the Port
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: Port Name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: protocol
|
||||
label: Port Type
|
||||
schema:
|
||||
type: string
|
||||
default: tcp
|
||||
enum:
|
||||
- value: http
|
||||
description: HTTP
|
||||
- value: https
|
||||
description: HTTPS
|
||||
- value: tcp
|
||||
description: TCP
|
||||
- value: udp
|
||||
description: UDP
|
||||
- variable: targetPort
|
||||
label: Target Port
|
||||
description: This port exposes the container port on the service
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
- variable: port
|
||||
label: Container Port
|
||||
schema:
|
||||
type: int
|
||||
required: true
|
||||
|
||||
- variable: ingress
|
||||
label: ""
|
||||
group: Ingress
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
|
||||
- variable: main
|
||||
label: "Main Ingress"
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable Ingress
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hosts
|
||||
label: Hosts
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: HostName
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: Paths
|
||||
schema:
|
||||
type: list
|
||||
default: [{path: "/", pathType: "Prefix"}]
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: path
|
||||
label: Path
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "/"
|
||||
- variable: pathType
|
||||
label: Path Type
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: Prefix
|
||||
|
||||
- variable: integrations
|
||||
label: Integrations
|
||||
description: Connect ingress with other charts
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: traefik
|
||||
label: Traefik
|
||||
description: Connect ingress with Traefik
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: allowCors
|
||||
label: 'Allow Cross Origin Requests (advanced)'
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: entrypoints
|
||||
label: Entrypoints
|
||||
schema:
|
||||
type: list
|
||||
default: ["websecure"]
|
||||
show_if: [["enabled", "=", true]]
|
||||
items:
|
||||
- variable: entrypoint
|
||||
label: Entrypoint
|
||||
schema:
|
||||
type: string
|
||||
- variable: middlewares
|
||||
label: Middlewares
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
show_if: [["enabled", "=", true]]
|
||||
items:
|
||||
- variable: middleware
|
||||
label: Middleware
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: namespace
|
||||
label: 'namespace (optional)'
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: certManager
|
||||
label: certManager
|
||||
description: Connect ingress with certManager
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: certificateIssuer
|
||||
label: certificateIssuer
|
||||
description: defaults to chartname
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: homepage
|
||||
label: Homepage
|
||||
description: Connect ingress with Homepage
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: name
|
||||
label: Name (Optional)
|
||||
description: Defaults to chart name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: description
|
||||
label: Description (Optional)
|
||||
description: Defaults to chart description
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: icon
|
||||
label: Icon (Optional)
|
||||
description: Defaults to chart icon
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: group
|
||||
label: Group
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "default"
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: widget
|
||||
label: Widget Settings
|
||||
schema:
|
||||
type: dict
|
||||
additional_attrs: true
|
||||
show_if: [["enabled", "=", true]]
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable Widget
|
||||
description: When disabled all widget annotations are skipped.
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: custom
|
||||
label: Options
|
||||
schema:
|
||||
type: dict
|
||||
additional_attrs: true
|
||||
attrs:
|
||||
- variable: key
|
||||
label: API-key (key)
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: customkv
|
||||
label: Custom Options
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: option
|
||||
label: Option
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: key
|
||||
label: Key
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: value
|
||||
label: Value
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: advanced
|
||||
label: Show Advanced Settings
|
||||
description: Advanced settings are not covered by TrueCharts Support
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: ingressClassName
|
||||
label: (Advanced/Optional) IngressClass Name
|
||||
schema:
|
||||
type: string
|
||||
show_if: [["advanced", "=", true]]
|
||||
default: ""
|
||||
- variable: tls
|
||||
label: TLS-Settings
|
||||
schema:
|
||||
type: list
|
||||
show_if: [["advanced", "=", true]]
|
||||
default: []
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: Certificate Hosts
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: Host
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
|
||||
- variable: certificateIssuer
|
||||
label: Use Cert-Manager clusterIssuer
|
||||
description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.'
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: clusterCertificate
|
||||
label: 'Cluster Certificate (Advanced)'
|
||||
description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
|
||||
schema:
|
||||
type: string
|
||||
show_if: [["certificateIssuer", "=", ""]]
|
||||
default: ""
|
||||
- variable: secretName
|
||||
label: 'Use Custom Certificate Secret (Advanced)'
|
||||
schema:
|
||||
show_if: [["certificateIssuer", "=", ""]]
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
- variable: ingressList
|
||||
label: Add Manual Custom Ingresses
|
||||
group: Ingress
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: ingressListEntry
|
||||
label: Custom Ingress
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: Enable Ingress
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
- variable: name
|
||||
label: Name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: ingressClassName
|
||||
label: IngressClass Name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: hosts
|
||||
label: Hosts
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: hostEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: host
|
||||
label: HostName
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: paths
|
||||
label: Paths
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: pathEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: path
|
||||
label: Path
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "/"
|
||||
- variable: pathType
|
||||
label: Path Type
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: Prefix
|
||||
- variable: overrideService
|
||||
label: Linked Service
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: Service Name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: port
|
||||
label: Service Port
|
||||
schema:
|
||||
type: int
|
||||
- variable: tls
|
||||
label: TLS-Settings
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
show_if: [["certificateIssuer", "=", ""]]
|
||||
items:
|
||||
- variable: tlsEntry
|
||||
label: Host
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: hosts
|
||||
label: Certificate Hosts
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: host
|
||||
label: Host
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: certificateIssuer
|
||||
label: Use Cert-Manager clusterIssuer
|
||||
description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.'
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: clusterCertificate
|
||||
label: 'Cluster Certificate (Advanced)'
|
||||
description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.'
|
||||
schema:
|
||||
type: string
|
||||
show_if: [["certificateIssuer", "=", ""]]
|
||||
default: ""
|
||||
- variable: secretName
|
||||
label: Use Custom Secret (Advanced)
|
||||
schema:
|
||||
type: string
|
||||
show_if: [["certificateIssuer", "=", ""]]
|
||||
default: ""
|
||||
- variable: integrations
|
||||
label: Integrations
|
||||
description: Connect ingress with other charts
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: traefik
|
||||
label: Traefik
|
||||
description: Connect ingress with Traefik
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: allowCors
|
||||
label: "Allow Cross Origin Requests"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: entrypoints
|
||||
label: Entrypoints
|
||||
schema:
|
||||
type: list
|
||||
default: ["websecure"]
|
||||
show_if: [["enabled", "=", true]]
|
||||
items:
|
||||
- variable: entrypoint
|
||||
label: Entrypoint
|
||||
schema:
|
||||
type: string
|
||||
- variable: middlewares
|
||||
label: Middlewares
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
show_if: [["enabled", "=", true]]
|
||||
items:
|
||||
- variable: middleware
|
||||
label: Middleware
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: name
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
required: true
|
||||
- variable: namespace
|
||||
label: namespace
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
- variable: certManager
|
||||
label: certManager
|
||||
description: Connect ingress with certManager
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: certificateIssuer
|
||||
label: certificateIssuer
|
||||
description: defaults to chartname
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: homepage
|
||||
label: Homepage
|
||||
description: Connect ingress with Homepage
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: enabled
|
||||
label: enabled
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
- variable: name
|
||||
label: Name
|
||||
description: defaults to chartname
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: description
|
||||
label: Description
|
||||
description: defaults to chart description
|
||||
schema:
|
||||
type: string
|
||||
default: ""
|
||||
show_if: [["enabled", "=", true]]
|
||||
- variable: group
|
||||
label: Group
|
||||
schema:
|
||||
type: string
|
||||
required: true
|
||||
default: "default"
|
||||
show_if: [["enabled", "=", true]]
|
||||
|
||||
- variable: docs
|
||||
group: Documentation
|
||||
label: Please read the documentation at https://truecharts.org
|
||||
description: Please read the documentation at
|
||||
<br /><a href="https://truecharts.org">https://truecharts.org</a>
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: confirmDocs
|
||||
label: I have checked the documentation
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
- variable: donateNag
|
||||
group: Documentation
|
||||
label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor
|
||||
description: Please consider supporting TrueCharts, see
|
||||
<br /><a href="https://truecharts.org/sponsor">https://truecharts.org/sponsor</a>
|
||||
schema:
|
||||
additional_attrs: true
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: confirmDonate
|
||||
label: I have considered donating
|
||||
schema:
|
||||
type: boolean
|
||||
default: true
|
||||
hidden: true
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
||||
|
||||
To generate a Login Token, run this in terminal:
|
||||
{{- $fullname := include "tc.v1.common.lib.chart.names.fullname" $ -}}
|
||||
(k3s) kubectl create token {{ $fullname }} -n {{ .Release.Namespace }}
|
|
@ -0,0 +1,5 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
Binary file not shown.
|
@ -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,99 @@
|
|||
---
|
||||
title: Changelog
|
||||
---
|
||||
|
||||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-28.2.0](https://github.com/truecharts/charts/compare/nextcloud-28.1.46...nextcloud-28.2.0) (2024-02-14)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image clamav/clamav to v1.3.0[@cb6da73](https://github.com/cb6da73) by renovate ([#18173](https://github.com/truecharts/charts/issues/18173))
|
||||
|
||||
|
||||
## [nextcloud-28.1.46](https://github.com/truecharts/charts/compare/nextcloud-28.1.43...nextcloud-28.1.46) (2024-02-12)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update nextcloud by renovate ([#18117](https://github.com/truecharts/charts/issues/18117))
|
||||
|
||||
|
||||
## [nextcloud-28.1.43](https://github.com/truecharts/charts/compare/nextcloud-28.1.42...nextcloud-28.1.43) (2024-02-12)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image clamav/clamav to v1.2.2[@1277222](https://github.com/1277222) by renovate ([#18123](https://github.com/truecharts/charts/issues/18123))
|
||||
|
||||
|
||||
## [nextcloud-28.1.42](https://github.com/truecharts/charts/compare/nextcloud-28.1.41...nextcloud-28.1.42) (2024-02-12)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image nginxinc/nginx-unprivileged to 1.25.3[@a0f8d9a](https://github.com/a0f8d9a) by renovate ([#18167](https://github.com/truecharts/charts/issues/18167))
|
||||
|
||||
|
||||
## [nextcloud-28.1.41](https://github.com/truecharts/charts/compare/nextcloud-28.1.40...nextcloud-28.1.41) (2024-02-12)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image nginxinc/nginx-unprivileged to 1.25.3[@190f524](https://github.com/190f524) by renovate ([#18100](https://github.com/truecharts/charts/issues/18100))
|
||||
|
||||
|
||||
## [nextcloud-28.1.40](https://github.com/truecharts/charts/compare/nextcloud-28.1.39...nextcloud-28.1.40) (2024-02-05)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image nginxinc/nginx-unprivileged to 1.25.3[@5c7c5f3](https://github.com/5c7c5f3) by renovate ([#17961](https://github.com/truecharts/charts/issues/17961))
|
||||
|
||||
|
||||
## [nextcloud-28.1.39](https://github.com/truecharts/charts/compare/nextcloud-28.1.38...nextcloud-28.1.39) (2024-02-05)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image clamav/clamav to 1.2.1[@e22d570](https://github.com/e22d570) by renovate ([#17953](https://github.com/truecharts/charts/issues/17953))
|
||||
|
||||
|
||||
## [nextcloud-28.1.38](https://github.com/truecharts/charts/compare/nextcloud-28.1.37...nextcloud-28.1.38) (2024-02-05)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image tccr.io/tccr/nextcloud-fpm to v28.0.2[@7e44e0f](https://github.com/7e44e0f) by renovate ([#17931](https://github.com/truecharts/charts/issues/17931))
|
||||
|
||||
|
||||
## [nextcloud-28.1.37](https://github.com/truecharts/charts/compare/nextcloud-28.1.36...nextcloud-28.1.37) (2024-02-03)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image clamav/clamav to 1.2.1[@283bb9e](https://github.com/283bb9e) by renovate ([#17796](https://github.com/truecharts/charts/issues/17796))
|
||||
|
||||
|
||||
## [nextcloud-28.1.36](https://github.com/truecharts/charts/compare/nextcloud-28.1.35...nextcloud-28.1.36) (2024-02-03)
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
annotations:
|
||||
max_scale_version: 23.10.2
|
||||
min_scale_version: 23.10.0
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/category: cloud
|
||||
truecharts.org/max_helm_version: "3.14"
|
||||
truecharts.org/min_helm_version: "3.12"
|
||||
truecharts.org/train: stable
|
||||
apiVersion: v2
|
||||
appVersion: 28.0.2
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 17.4.2
|
||||
repository: oci://tccr.io/truecharts
|
||||
condition: ""
|
||||
alias: ""
|
||||
tags: []
|
||||
import-values: []
|
||||
- name: redis
|
||||
version: 11.1.21
|
||||
repository: oci://tccr.io/truecharts
|
||||
condition: redis.enabled
|
||||
alias: ""
|
||||
tags: []
|
||||
import-values: []
|
||||
deprecated: false
|
||||
description: A private cloud server that puts the control and security of your own data back into your hands.
|
||||
home: https://truecharts.org/charts/stable/nextcloud
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png
|
||||
keywords:
|
||||
- nextcloud
|
||||
- storage
|
||||
- http
|
||||
- web
|
||||
- php
|
||||
kubeVersion: '>=1.24.0-0'
|
||||
maintainers:
|
||||
- name: TrueCharts
|
||||
email: info@truecharts.org
|
||||
url: https://truecharts.org
|
||||
name: nextcloud
|
||||
sources:
|
||||
- https://github.com/nextcloud/docker
|
||||
- https://github.com/nextcloud/helm
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud
|
||||
- https://github.com/truecharts/containers/tree/master/apps/nextcloud-push-notify
|
||||
- https://hub.docker.com/r/nginxinc/nginx-unprivileged
|
||||
- https://github.com/truecharts/containers/tree/master/apps/nextcloud-fpm
|
||||
- https://hub.docker.com/r/clamav/clamav
|
||||
- https://hub.docker.com/r/collabora/code
|
||||
- https://github.com/truecharts/containers/tree/master/apps/nextcloud-imaginary
|
||||
type: application
|
||||
version: 28.3.3
|
|
@ -0,0 +1,106 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Blocky" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: 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/stable/nextcloud)
|
||||
|
||||
**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_
|
|
@ -0,0 +1,8 @@
|
|||
A private cloud server that puts the control and security of your own data back into your hands.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/nextcloud](https://truecharts.org/charts/stable/nextcloud)
|
||||
|
||||
---
|
||||
|
||||
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!
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,516 @@
|
|||
image:
|
||||
repository: tccr.io/tccr/nextcloud-fpm
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v28.0.2@sha256:ad7a4cafee040de9b2f7dc295e3e8221563c36683934e4c40232a2e821fbecce
|
||||
nginxImage:
|
||||
repository: nginxinc/nginx-unprivileged
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.25.4@sha256:fc4bf78c004581ee6014d9fee0d6825854474c82918465ecb731cc4006a2dad5
|
||||
imaginaryImage:
|
||||
repository: tccr.io/tccr/nextcloud-imaginary
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v20230401@sha256:6be7b4432a536d6004b94edea7dd3573f0cc061328b729ed8043236a0784f98c
|
||||
hpbImage:
|
||||
repository: tccr.io/tccr/nextcloud-push-notify
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.6.9@sha256:1950fd07cc1292551b16c7080514c24d8c22ce7947e06cbb12fd968d13970373
|
||||
clamavImage:
|
||||
repository: clamav/clamav
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 1.3.0@sha256:426527229938cc5886873b2ad40193d45189476f9be81006d8103ef59c9e5e76
|
||||
collaboraImage:
|
||||
repository: collabora/code
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 23.05.9.1.1@sha256:e0c7ff3cf4ccd49a590980cf83f46f8efd9456f9d173f92d1acfd3f41be09319
|
||||
nextcloud:
|
||||
# Initial Credentials
|
||||
credentials:
|
||||
initialAdminUser: admin
|
||||
initialAdminPassword: adminpass
|
||||
# General settings
|
||||
general:
|
||||
# Custom Nextcloud Scripts
|
||||
run_optimize: true
|
||||
default_phone_region: GR
|
||||
# IP used for exposing nextcloud,
|
||||
# often the loadbalancer IP
|
||||
accessIP: ""
|
||||
# Allows Nextcloud to connect to unsecure (http) endpoints
|
||||
force_enable_allow_local_remote_servers: false
|
||||
# File settings
|
||||
files:
|
||||
shared_folder_name: Shared
|
||||
max_chunk_size: 10485760
|
||||
# Expiration settings
|
||||
expirations:
|
||||
activity_expire_days: 90
|
||||
trash_retention_obligation: auto
|
||||
versions_retention_obligation: auto
|
||||
# Previews settings
|
||||
previews:
|
||||
enabled: true
|
||||
# It will also deploy the container
|
||||
imaginary: true
|
||||
cron: true
|
||||
schedule: "*/30 * * * *"
|
||||
max_x: 2048
|
||||
max_y: 2048
|
||||
max_memory: 1024
|
||||
max_file_size_image: 50
|
||||
# Setting for Imaginary
|
||||
max_allowed_resolution: 18.0
|
||||
jpeg_quality: 60
|
||||
square_sizes: 32 256
|
||||
width_sizes: 256 384
|
||||
height_sizes: 256
|
||||
# Casings are important
|
||||
# https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269
|
||||
# Only the last part of the provider is needed
|
||||
providers:
|
||||
- PNG
|
||||
- JPEG
|
||||
# Logging settings
|
||||
logging:
|
||||
log_level: 2
|
||||
log_file: /var/www/html/data/logs/nextcloud.log
|
||||
log_audit_file: /var/www/html/data/logs/audit.log
|
||||
log_date_format: d/m/Y H:i:s
|
||||
# ClamAV settings
|
||||
clamav:
|
||||
# It will also deploy the container
|
||||
# Note that this runs as root
|
||||
enabled: false
|
||||
stream_max_length: 26214400
|
||||
file_max_size: -1
|
||||
infected_action: only_log
|
||||
# Notify Push settings
|
||||
notify_push:
|
||||
# It will also deploy the container
|
||||
enabled: true
|
||||
# Collabora settings
|
||||
collabora:
|
||||
# It will also deploy the container
|
||||
enabled: false
|
||||
# default|compact|tabbed
|
||||
interface_mode: default
|
||||
username: admin
|
||||
password: changeme
|
||||
dictionaries:
|
||||
- de_DE
|
||||
- en_GB
|
||||
- en_US
|
||||
- el_GR
|
||||
- es_ES
|
||||
- fr_FR
|
||||
- pt_BR
|
||||
- pt_PT
|
||||
- it
|
||||
- nl
|
||||
- ru
|
||||
onlyoffice:
|
||||
# It will not deploy the container
|
||||
# Only add the OnlyOffice settings
|
||||
enabled: false
|
||||
url: ""
|
||||
internal_url: ""
|
||||
verify_ssl: true
|
||||
jwt: ""
|
||||
jwt_header: Authorization
|
||||
# PHP settings
|
||||
php:
|
||||
memory_limit: 1G
|
||||
upload_limit: 10G
|
||||
pm_max_children: 180
|
||||
pm_start_servers: 18
|
||||
pm_min_spare_servers: 12
|
||||
pm_max_spare_servers: 30
|
||||
opcache:
|
||||
interned_strings_buffer: 32
|
||||
max_accelerated_files: 10000
|
||||
memory_consumption: 128
|
||||
revalidate_freq: 60
|
||||
jit_buffer_size: 128
|
||||
# Do NOT edit below this line
|
||||
workload:
|
||||
# Nextcloud php-fpm
|
||||
main:
|
||||
type: Deployment
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: nextcloud-config
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}"
|
||||
nginx:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
nginx:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: nginxImage
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
notify:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
notify:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: hpbImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hpb-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 7867
|
||||
imaginary:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
imaginary:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: imaginaryImage
|
||||
command: imaginary
|
||||
args:
|
||||
- -p
|
||||
- "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
- -concurrency
|
||||
- "10"
|
||||
- -max-allowed-resolution
|
||||
- "{{ .Values.nextcloud.previews.max_allowed_resolution }}"
|
||||
- -enable-url-source
|
||||
- -return-size
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
clamav:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
clamav:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: clamavImage
|
||||
# FIXME: https://github.com/Cisco-Talos/clamav/issues/478
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
readOnlyRootFilesystem: false
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: clamav-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.clamav.ports.clamav.targetPort }}"
|
||||
collabora:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
collabora:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: collaboraImage
|
||||
securityContext:
|
||||
runAsUser: 100
|
||||
runAsGroup: 102
|
||||
readOnlyRootFilesystem: false
|
||||
allowPrivilegeEscalation: true
|
||||
capabilities:
|
||||
add:
|
||||
- CHOWN
|
||||
- FOWNER
|
||||
- SYS_CHROOT
|
||||
- MKNOD
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: collabora-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /collabora/
|
||||
port: "{{ .Values.service.collabora.ports.collabora.targetPort }}"
|
||||
liveness:
|
||||
enabled: true
|
||||
type: http
|
||||
path: /collabora/
|
||||
port: "{{ .Values.service.collabora.ports.collabora.targetPort }}"
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.collabora.ports.collabora.targetPort }}"
|
||||
cronjobs:
|
||||
# Don't change names, it's used in the persistence
|
||||
- name: nextcloud-cron
|
||||
enabled: true
|
||||
schedule: "*/5 * * * *"
|
||||
cmd:
|
||||
- echo "Running [php -f /var/www/html/cron.php] ..."
|
||||
- php -f /var/www/html/cron.php
|
||||
- echo "Finished [php -f /var/www/html/cron.php]"
|
||||
- name: preview-cron
|
||||
enabled: "{{ .Values.nextcloud.previews.cron }}"
|
||||
schedule: "{{ .Values.nextcloud.previews.schedule }}"
|
||||
cmd:
|
||||
- echo "Running [occ preview:pre-generate] ..."
|
||||
- occ preview:pre-generate
|
||||
- echo "Finished [occ preview:pre-generate]"
|
||||
service:
|
||||
# Main service links to ingress easier
|
||||
# That's why the nginx is swapped with nextcloud
|
||||
main:
|
||||
targetSelector: nginx
|
||||
ports:
|
||||
main:
|
||||
targetSelector: nginx
|
||||
port: 8080
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
ports:
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
notify:
|
||||
enabled: true
|
||||
targetSelector: notify
|
||||
ports:
|
||||
notify:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 7867
|
||||
targetPort: 7867
|
||||
targetSelector: notify
|
||||
metrics:
|
||||
enabled: true
|
||||
port: 7868
|
||||
targetSelector: notify
|
||||
imaginary:
|
||||
enabled: true
|
||||
targetSelector: imaginary
|
||||
ports:
|
||||
imaginary:
|
||||
enabled: true
|
||||
port: 9090
|
||||
targetSelector: imaginary
|
||||
clamav:
|
||||
enabled: true
|
||||
targetSelector: clamav
|
||||
ports:
|
||||
clamav:
|
||||
enabled: true
|
||||
port: 3310
|
||||
targetPort: 3310
|
||||
targetSelector: clamav
|
||||
collabora:
|
||||
enabled: true
|
||||
targetSelector: collabora
|
||||
ports:
|
||||
collabora:
|
||||
enabled: true
|
||||
port: 9980
|
||||
targetPort: 9980
|
||||
targetSelector: collabora
|
||||
persistence:
|
||||
php-tune:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: php-tune
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf
|
||||
subPath: zz-tune.conf
|
||||
readOnly: true
|
||||
redis-session:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: redis-session
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php/conf.d/redis-session.ini
|
||||
subPath: redis-session.ini
|
||||
readOnly: true
|
||||
opcache-recommended:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: opcache
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php/conf.d/opcache-recommended.ini
|
||||
subPath: opcache-recommended.ini
|
||||
readOnly: true
|
||||
nginx:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: nginx-config
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /etc/nginx/nginx.conf
|
||||
subPath: nginx.conf
|
||||
readOnly: true
|
||||
nginx-temp:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /tmp/nginx
|
||||
html:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html
|
||||
readOnly: true
|
||||
config:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/config
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/config
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/config
|
||||
notify:
|
||||
notify:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
data:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/data
|
||||
init-perms:
|
||||
mountPath: /var/www/html/data
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/data
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/data
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/data
|
||||
readOnly: true
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
user: nextcloud
|
||||
database: nextcloud
|
||||
redis:
|
||||
enabled: true
|
||||
username: default
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
||||
updated: true
|
||||
|
||||
ingress:
|
||||
main:
|
||||
required: true
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -0,0 +1,443 @@
|
|||
{{- define "nextcloud.accessurl" -}}
|
||||
{{- $accessUrl := .Values.chartContext.appUrl -}}
|
||||
{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}}
|
||||
{{- if .Values.nextcloud.general.accessIP -}}
|
||||
{{- $prot := "http" -}}
|
||||
{{- $host := .Values.nextcloud.general.accessIP -}}
|
||||
{{- $port := .Values.service.main.ports.main.port -}}
|
||||
{{/*
|
||||
Allowing here to override protocol and port
|
||||
should be enough to make it work with any rev proxy
|
||||
*/}}
|
||||
{{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $accessUrl -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "nextcloud.accesshost" -}}
|
||||
{{- $accessUrl := (include "nextcloud.accessurl" $) -}}
|
||||
{{- $accessHost := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}}
|
||||
{{- $accessHost = regexReplaceAll "(.*):.*" $accessHost "${1}" -}}
|
||||
|
||||
{{- $accessHost -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Define the configmap */}}
|
||||
{{- define "nextcloud.configmaps" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $fqdn := (include "tc.v1.common.lib.chart.names.fqdn" $) -}}
|
||||
{{- $accessUrl := (include "nextcloud.accessurl" $) -}}
|
||||
{{- $accessHost := (include "nextcloud.accesshost" $) -}}
|
||||
{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}}
|
||||
{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}}
|
||||
{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}}
|
||||
{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}}
|
||||
{{- $healthHost := "kube.internal.healthcheck" -}}
|
||||
|
||||
php-tune:
|
||||
enabled: true
|
||||
data:
|
||||
zz-tune.conf: |
|
||||
[www]
|
||||
pm.max_children = {{ .Values.nextcloud.php.pm_max_children }}
|
||||
pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }}
|
||||
pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }}
|
||||
pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }}
|
||||
|
||||
opcache:
|
||||
enabled: true
|
||||
data:
|
||||
opcache-recommended.ini: |
|
||||
opcache.enable=1
|
||||
opcache.save_comments=1
|
||||
opcache.jit=1255
|
||||
opcache.interned_strings_buffer={{ .Values.nextcloud.opcache.interned_strings_buffer }}
|
||||
opcache.max_accelerated_files={{ .Values.nextcloud.opcache.max_accelerated_files }}
|
||||
opcache.memory_consumption={{ .Values.nextcloud.opcache.memory_consumption }}
|
||||
opcache.revalidate_freq={{ .Values.nextcloud.opcache.revalidate_freq }}
|
||||
opcache.jit_buffer_size={{ printf "%vM" .Values.nextcloud.opcache.jit_buffer_size }}
|
||||
|
||||
redis-session:
|
||||
enabled: true
|
||||
data:
|
||||
redis-session.ini: |
|
||||
session.save_handler = redis
|
||||
session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }}
|
||||
redis.session.locking_enabled = 1
|
||||
redis.session.lock_retries = -1
|
||||
redis.session.lock_wait_time = 10000
|
||||
|
||||
hpb-config:
|
||||
enabled: {{ .Values.nextcloud.notify_push.enabled }}
|
||||
data:
|
||||
NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }}
|
||||
HPB_HOST: {{ $healthHost }}
|
||||
CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }}
|
||||
METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }}
|
||||
|
||||
clamav-config:
|
||||
enabled: {{ .Values.nextcloud.clamav.enabled }}
|
||||
data:
|
||||
CLAMAV_NO_CLAMD: "false"
|
||||
CLAMAV_NO_FRESHCLAMD: "true"
|
||||
CLAMAV_NO_MILTERD: "true"
|
||||
CLAMD_STARTUP_TIMEOUT: "1800"
|
||||
|
||||
collabora-config:
|
||||
enabled: {{ .Values.nextcloud.collabora.enabled }}
|
||||
data:
|
||||
aliasgroup1: {{ $accessUrl }}
|
||||
server_name: {{ $accessHostPort }}
|
||||
dictionaries: {{ join " " .Values.nextcloud.collabora.dictionaries }}
|
||||
username: {{ .Values.nextcloud.collabora.username | quote }}
|
||||
password: {{ .Values.nextcloud.collabora.password | quote }}
|
||||
DONT_GEN_SSL_CERT: "true"
|
||||
# mount_jail_tree is only used for local storage
|
||||
# not needed for WOPI https://github.com/CollaboraOnline/online/issues/3604#issuecomment-989833814
|
||||
extra_params: |
|
||||
--o:ssl.enable=false
|
||||
--o:ssl.termination=true
|
||||
--o:net.service_root=/collabora
|
||||
--o:home_mode.enable=true
|
||||
--o:welcome.enable=false
|
||||
--o:logging.level=warning
|
||||
--o:logging.level_startup=warning
|
||||
--o:security.seccomp=true
|
||||
--o:mount_jail_tree=false
|
||||
--o:user_interface.mode={{ .Values.nextcloud.collabora.interface_mode }}
|
||||
|
||||
nextcloud-config:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* Database */}}
|
||||
POSTGRES_DB: {{ .Values.cnpg.main.database | quote }}
|
||||
POSTGRES_USER: {{ .Values.cnpg.main.user | quote }}
|
||||
POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }}
|
||||
POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }}
|
||||
|
||||
{{/* Redis */}}
|
||||
NX_REDIS_HOST: {{ $redisHost }}
|
||||
NX_REDIS_PASS: {{ $redisPass }}
|
||||
|
||||
{{/* Nextcloud INITIAL credentials */}}
|
||||
NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }}
|
||||
NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }}
|
||||
|
||||
{{/* PHP Variables */}}
|
||||
PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }}
|
||||
PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }}
|
||||
|
||||
{{/* Notify Push */}}
|
||||
NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }}
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push
|
||||
{{- end }}
|
||||
|
||||
{{/* Previews */}}
|
||||
NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }}
|
||||
NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }}
|
||||
NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }}
|
||||
NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }}
|
||||
NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }}
|
||||
NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }}
|
||||
NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }}
|
||||
NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }}
|
||||
NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }}
|
||||
NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }}
|
||||
|
||||
{{/* Imaginary */}}
|
||||
NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }}
|
||||
{{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }}
|
||||
NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Expirations */}}
|
||||
NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }}
|
||||
NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }}
|
||||
NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }}
|
||||
|
||||
{{/* General */}}
|
||||
NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }}
|
||||
NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }}
|
||||
NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
NX_FORCE_ENABLE_ALLOW_LOCAL_REMOTE_SERVERS: {{ .Values.nextcloud.general.force_enable_allow_local_remote_servers | quote }}
|
||||
|
||||
{{/* Files */}}
|
||||
NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }}
|
||||
NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }}
|
||||
|
||||
{{/* Logging */}}
|
||||
NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }}
|
||||
NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }}
|
||||
NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }}
|
||||
NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }}
|
||||
NX_LOG_TIMEZONE: {{ .Values.TZ | quote }}
|
||||
|
||||
{{/* ClamAV */}}
|
||||
NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }}
|
||||
{{- if .Values.nextcloud.clamav.enabled }}
|
||||
NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }}
|
||||
NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }}
|
||||
NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }}
|
||||
NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }}
|
||||
NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Collabora */}}
|
||||
NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }}
|
||||
{{- if .Values.nextcloud.collabora.enabled }}
|
||||
NX_COLLABORA_URL: {{ printf "%v/collabora" $accessUrl | quote }}
|
||||
# Ideally this would be a combo of: public ip, pod cidr, svc cidr
|
||||
# But not always people have static IP.
|
||||
NX_COLLABORA_ALLOWLIST: "0.0.0.0/0"
|
||||
{{- end }}
|
||||
|
||||
{{/* Only Office */}}
|
||||
NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }}
|
||||
{{- if .Values.nextcloud.onlyoffice.enabled }}
|
||||
NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }}
|
||||
NX_ONLYOFFICE_INTERNAL_URL: {{ .Values.nextcloud.onlyoffice.internal_url | quote }}
|
||||
NX_ONLYOFFICE_VERIFY_SSL: {{ .Values.nextcloud.onlyoffice.verify_ssl | quote }}
|
||||
NX_ONLYOFFICE_NEXTCLOUD_INTERNAL_URL: {{ printf "http://%v.svc.cluster.local:%v" $fqdn .Values.service.main.ports.main.port }}
|
||||
NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }}
|
||||
NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* URLs */}}
|
||||
NX_OVERWRITE_HOST: {{ $accessHostPort }}
|
||||
NX_OVERWRITE_CLI_URL: {{ $accessUrl }}
|
||||
# Return the protocol part of the URL
|
||||
NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }}
|
||||
# IP (or range in this case) of the proxy(ies)
|
||||
NX_TRUSTED_PROXIES: |
|
||||
{{ .Values.chartContext.podCIDR }}
|
||||
{{ .Values.chartContext.svcCIDR }}
|
||||
# fullname-* will allow access from the
|
||||
# other services in the same namespace
|
||||
NX_TRUSTED_DOMAINS: |
|
||||
127.0.0.1
|
||||
localhost
|
||||
{{ $fullname }}
|
||||
{{ printf "%v-*" $fullname }}
|
||||
{{ $healthHost }}
|
||||
{{- if not (contains "127.0.0.1" $accessHost) }}
|
||||
{{- $accessHost | nindent 6 }}
|
||||
{{- end -}}
|
||||
{{- with .Values.nextcloud.general.accessIP }}
|
||||
{{- . | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
# TODO: Replace locations with ingress
|
||||
# like /push, /.well-known/carddav, /.well-known/caldav
|
||||
# needs some work as nginx converts urls to pretty urls
|
||||
# before matching them to locations, so ingress needs to
|
||||
# take that into consideration.
|
||||
nginx-config:
|
||||
enabled: true
|
||||
data:
|
||||
nginx.conf: |
|
||||
worker_processes auto;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
# Set to /tmp so it can run as non-root
|
||||
pid /tmp/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# Set to /tmp so it can run as non-root
|
||||
client_body_temp_path /tmp/nginx/client_temp;
|
||||
proxy_temp_path /tmp/nginx/proxy_temp_path;
|
||||
fastcgi_temp_path /tmp/nginx/fastcgi_temp;
|
||||
uwsgi_temp_path /tmp/nginx/uwsgi_temp;
|
||||
scgi_temp_path /tmp/nginx/scgi_temp;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
# Prevent nginx HTTP Server Detection
|
||||
server_tokens off;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }};
|
||||
}
|
||||
|
||||
server {
|
||||
listen {{ .Values.service.main.ports.main.port }};
|
||||
absolute_redirect off;
|
||||
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
# Forward Notify_Push "High Performance Backend" to it's own container
|
||||
location ^~ /push/ {
|
||||
# The trailing "/" is important!
|
||||
proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
{{- end }}
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
# the consequences in https://hstspreload.org/. This option
|
||||
# will add the domain to a hardcoded list that is shipped
|
||||
# in all major browsers and getting removed from this list
|
||||
# could take several months.
|
||||
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
|
||||
|
||||
# Set max upload size
|
||||
client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }};
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
# Enable gzip but do not remove ETag headers
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_comp_level 4;
|
||||
gzip_min_length 256;
|
||||
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
|
||||
gzip_types application/atom+xml text/javascript application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
|
||||
|
||||
# Pagespeed is not supported by Nextcloud, so if your server is built
|
||||
# with the `ngx_pagespeed` module, uncomment this line to disable it.
|
||||
#pagespeed off;
|
||||
|
||||
include mime.types;
|
||||
types {
|
||||
text/javascript js mjs;
|
||||
}
|
||||
|
||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Download-Options "noopen" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Permitted-Cross-Domain-Policies "none" always;
|
||||
add_header X-Robots-Tag "noindex, nofollow" always;
|
||||
add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
||||
# Remove X-Powered-By, which is an information leak
|
||||
fastcgi_hide_header X-Powered-By;
|
||||
|
||||
# Path to the root of your installation
|
||||
root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }};
|
||||
|
||||
# Specify how to handle directories -- specifying `/index.php$request_uri`
|
||||
# here as the fallback means that Nginx always exhibits the desired behaviour
|
||||
# when a client requests a path that corresponds to a directory that exists
|
||||
# on the server. In particular, if that directory contains an index.php file,
|
||||
# that file is correctly served; if it doesn't, then the request is passed to
|
||||
# the front-end controller. This consistent behaviour means that we don't need
|
||||
# to specify custom rules for certain paths (e.g. images and other assets,
|
||||
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
|
||||
# `try_files $uri $uri/ /index.php$request_uri`
|
||||
# always provides the desired behaviour.
|
||||
index index.php index.html /index.php$request_uri;
|
||||
|
||||
# Rule borrowed from `.htaccess` to handle Microsoft DAV clients
|
||||
location = / {
|
||||
if ( $http_user_agent ~ ^DavClnt ) {
|
||||
return 302 /remote.php/webdav/$is_args$args;
|
||||
}
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Make a regex exception for `/.well-known` so that clients can still
|
||||
# access it despite the existence of the regex rule
|
||||
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
|
||||
# for `/.well-known`.
|
||||
location ^~ /.well-known {
|
||||
# The rules in this block are an adaptation of the rules
|
||||
# in `.htaccess` that concern `/.well-known`.
|
||||
|
||||
location = /.well-known/carddav { return 301 /remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 /remote.php/dav/; }
|
||||
|
||||
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
|
||||
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
|
||||
|
||||
# Let Nextcloud's API for `/.well-known` URIs handle all other
|
||||
# requests by passing them to the front-end controller.
|
||||
return 301 /index.php$request_uri;
|
||||
}
|
||||
|
||||
# Rules borrowed from `.htaccess` to hide certain paths from clients
|
||||
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
|
||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
|
||||
|
||||
# Ensure this block, which passes PHP files to the PHP process, is above the blocks
|
||||
# which handle static assets (as seen below). If this block is not declared first,
|
||||
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
|
||||
# to the URI, resulting in a HTTP 500 error response.
|
||||
location ~ \.php(?:$|/) {
|
||||
# Required for legacy support
|
||||
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
|
||||
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
#fastcgi_param HTTPS on;
|
||||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_read_timeout 3600s;
|
||||
fastcgi_send_timeout 3600s;
|
||||
fastcgi_read_timeout 3600s;
|
||||
}
|
||||
|
||||
location ~ \.(?:css|js|svg|gif)$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 6M; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
location ~ \.woff2?$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 7d; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
# Rule borrowed from `.htaccess`
|
||||
location /remote {
|
||||
return 301 /remote.php$request_uri;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$request_uri;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
|
@ -0,0 +1,34 @@
|
|||
{{- define "nextcloud.cronjobs" -}}
|
||||
{{- range $cj := .Values.cronjobs }}
|
||||
{{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}}
|
||||
{{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }}
|
||||
|
||||
{{ $name }}:
|
||||
enabled: {{ $cj.enabled | quote }}
|
||||
type: CronJob
|
||||
schedule: {{ $schedule | quote }}
|
||||
podSpec:
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
{{ $name }}:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
{{- range $cj.cmd }}
|
||||
{{- . | nindent 12 }}
|
||||
{{- else -}}
|
||||
{{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}}
|
||||
{{- end }}
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
{{- end }}
|
||||
{{- end -}}
|
|
@ -0,0 +1,23 @@
|
|||
{{- define "nextcloud.ingressInjector" -}}
|
||||
{{- if .Values.ingress.main.enabled -}}
|
||||
{{- $injectPaths := list -}}
|
||||
{{- if .Values.nextcloud.collabora.enabled -}}
|
||||
{{- $injectPaths = mustAppend $injectPaths (include "nextcloud.collabora.ingress" $ | fromYaml) -}}
|
||||
{{- end -}}
|
||||
{{/* Append more paths here if needed */}}
|
||||
|
||||
{{- range $host := .Values.ingress.main.hosts -}}
|
||||
{{- $paths := $host.paths -}}
|
||||
{{- $paths = concat $paths $injectPaths -}}
|
||||
{{- $_ := set $host "paths" $paths -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "nextcloud.collabora.ingress" -}}
|
||||
path: /collabora/
|
||||
pathType: Prefix
|
||||
overrideService:
|
||||
name: collabora
|
||||
port: {{ .Values.service.collabora.ports.collabora.port }}
|
||||
{{- end -}}
|
|
@ -0,0 +1,29 @@
|
|||
{{- define "nextcloud.init.perms" -}}
|
||||
{{- $uid := .Values.securityContext.container.runAsUser -}}
|
||||
{{- $gid := .Values.securityContext.container.runAsGroup -}}
|
||||
{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
enabled: true
|
||||
type: install
|
||||
imageSelector: alpineImage
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
capabilities:
|
||||
disableS6Caps: true
|
||||
add:
|
||||
- DAC_OVERRIDE
|
||||
- FOWNER
|
||||
- CHOWN
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Setting permissions to 700 on data directory [{{ $path }}] ..."
|
||||
chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]"
|
||||
|
||||
echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..."
|
||||
chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]"
|
||||
|
||||
echo "Finished."
|
||||
{{- end -}}
|
|
@ -0,0 +1,42 @@
|
|||
{{- define "nextcloud.validation" -}}
|
||||
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) -}}
|
||||
{{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}}
|
||||
{{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if contains "$" .Values.nextcloud.collabora.password -}}
|
||||
{{- fail "Nextcloud - Collabora [Password] cannot contain [$]" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Values.nextcloud.collabora.enabled -}}
|
||||
{{- if lt (len .Values.nextcloud.collabora.password) 8 -}}
|
||||
{{- fail "Nextcloud - Collabora [Password] must be at least 8 characters" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $collaboraUIModes := (list "default" "compact" "tabbed") -}}
|
||||
{{- if not (mustHas .Values.nextcloud.collabora.interface_mode $collaboraUIModes) -}}
|
||||
{{- fail (printf "Nextcloud - Expected [Interface Mode] in Collabora to be one of [%v], but got [%v]" (join "," $collaboraUIModes) .Values.nextcloud.collabora.interface_mode) -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if not .Values.nextcloud.collabora.dictionaries -}}
|
||||
{{- fail "Nextcloud - Expected non-empty Collabora [Dictionaries]" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if not (deepEqual .Values.nextcloud.collabora.dictionaries (uniq .Values.nextcloud.collabora.dictionaries)) -}}
|
||||
{{- fail "Nextcloud - Collabora [Dictionaries] must be unique" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- end -}}
|
|
@ -0,0 +1,25 @@
|
|||
{{- define "nextcloud.wait.nextcloud" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }}
|
||||
enabled: true
|
||||
type: init
|
||||
imageSelector: image
|
||||
securityContext:
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
until \
|
||||
REQUEST_METHOD="GET" \
|
||||
SCRIPT_NAME="status.php" \
|
||||
SCRIPT_FILENAME="status.php" \
|
||||
cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true';
|
||||
do
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo "Nextcloud is ready and installed..."
|
||||
echo "Starting Nginx..."
|
||||
{{- end -}}
|
|
@ -0,0 +1,92 @@
|
|||
{{- $selector := dict -}}
|
||||
{{- range $name := (list "main" "nextcloud-cron" "preview-cron") -}}
|
||||
{{/* creates main: {} */}}
|
||||
{{- $_ := set $selector $name dict -}}
|
||||
{{/* sets main: {} to main: { main: {} } */}}
|
||||
{{- $_ := set (get $selector $name) $name dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- range $item := .Values.persistenceList -}}
|
||||
{{- $_ := set $item "targetSelector" $selector -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . -}}
|
||||
|
||||
{{- include "nextcloud.validation" $ -}}
|
||||
|
||||
{{/* Render configmaps for all pods */}}
|
||||
{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}}
|
||||
{{- if $configmaps -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Create hostAliases (resolve ingress host to Node/LB IP) */}}
|
||||
{{- $hostAlias := (list (dict
|
||||
"ip" .Values.nextcloud.general.accessIP
|
||||
"hostnames" (
|
||||
list (include "nextcloud.accesshost" $)
|
||||
)
|
||||
)) -}}
|
||||
|
||||
{{/* Add [hostAliases] to nextcloud and collabora pod */}}
|
||||
{{- $_ := set .Values.workload.main.podSpec "hostAliases" $hostAlias -}}
|
||||
{{- $_ := set .Values.workload.collabora.podSpec "hostAliases" $hostAlias -}}
|
||||
|
||||
{{/* Add [init perms] container to nextcloud */}}
|
||||
{{- if not (get .Values.workload.main.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}}
|
||||
|
||||
{{/* Add [wait nextcloud] container to nginx */}}
|
||||
{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
|
||||
{{/* Disable [notify push] if requested */}}
|
||||
{{- if not .Values.nextcloud.notify_push.enabled -}}
|
||||
{{- $_ := set .Values.workload.notify "enabled" false -}}
|
||||
{{- $_ := set .Values.service.notify "enabled" false -}}
|
||||
{{- else -}}
|
||||
{{/* Add [wait nextcloud] container to notify push */}}
|
||||
{{- if not (get .Values.workload.notify.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [clamav] if requested */}}
|
||||
{{- if not .Values.nextcloud.clamav.enabled -}}
|
||||
{{- $_ := set .Values.workload.clamav "enabled" false -}}
|
||||
{{- $_ := set .Values.service.clamav "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [previews] if requested */}}
|
||||
{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}}
|
||||
{{- $_ := set .Values.workload.imaginary "enabled" false -}}
|
||||
{{- $_ := set .Values.service.imaginary "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [collabora] if requested */}}
|
||||
{{- if not .Values.nextcloud.collabora.enabled -}}
|
||||
{{- $_ := set .Values.workload.collabora "enabled" false -}}
|
||||
{{- $_ := set .Values.service.collabora "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Create [cronjobs] defined */}}
|
||||
{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}}
|
||||
{{- if $cronjobs -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* TODO: Do we have to cleanup when something (eg Collabora) is disabled? */}}
|
||||
{{- include "nextcloud.ingressInjector" $ -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{- include "tc.v1.common.loader.apply" . -}}
|
|
@ -1,76 +1 @@
|
|||
---
|
||||
title: Changelog
|
||||
---
|
||||
|
||||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [ollama-1.0.7](https://github.com/truecharts/charts/compare/ollama-1.0.6...ollama-1.0.7) (2024-02-12)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ollama/ollama to v0.1.24[@bb575e1](https://github.com/bb575e1) by renovate ([#18146](https://github.com/truecharts/charts/issues/18146))
|
||||
|
||||
|
||||
## [ollama-1.0.6](https://github.com/truecharts/charts/compare/ollama-1.0.5...ollama-1.0.6) (2024-02-08)
|
||||
|
||||
|
||||
## [ollama-1.0.5](https://github.com/truecharts/charts/compare/ollama-1.0.4...ollama-1.0.5) (2024-02-05)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ollama/ollama to v0.1.23[@3f2db54](https://github.com/3f2db54) by renovate ([#17925](https://github.com/truecharts/charts/issues/17925))
|
||||
|
||||
|
||||
## [ollama-1.0.4](https://github.com/truecharts/charts/compare/ollama-1.0.3...ollama-1.0.4) (2024-02-03)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update helm general non-major by renovate ([#17801](https://github.com/truecharts/charts/issues/17801))
|
||||
|
||||
|
||||
## [ollama-1.0.3](https://github.com/truecharts/charts/compare/ollama-1.0.2...ollama-1.0.3) (2024-01-29)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ollama/ollama to v0.1.22[@f6199bb](https://github.com/f6199bb) by renovate ([#17681](https://github.com/truecharts/charts/issues/17681))
|
||||
|
||||
- update container image ghcr.io/ollama-webui/ollama-webui to main[@06e060b](https://github.com/06e060b) by renovate ([#17730](https://github.com/truecharts/charts/issues/17730))
|
||||
|
||||
|
||||
## [ollama-1.0.2](https://github.com/truecharts/charts/compare/ollama-1.0.1...ollama-1.0.2) (2024-01-29)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ghcr.io/ollama-webui/ollama-webui to main[@6f95f4f](https://github.com/6f95f4f) by renovate ([#17629](https://github.com/truecharts/charts/issues/17629))
|
||||
|
||||
|
||||
## [ollama-1.0.1](https://github.com/truecharts/charts/compare/ollama-1.0.0...ollama-1.0.1) (2024-01-27)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update helm general non-major by renovate ([#17525](https://github.com/truecharts/charts/issues/17525))
|
||||
|
||||
|
||||
## [ollama-1.0.0](https://github.com/truecharts/charts/compare/ollama-0.0.5...ollama-1.0.0) (2024-01-26)
|
||||
# Changelog
|
||||
|
|
|
@ -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,99 @@
|
|||
---
|
||||
title: Changelog
|
||||
---
|
||||
|
||||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [tauticord-2.5.0](https://github.com/truecharts/charts/compare/tauticord-2.4.1...tauticord-2.5.0) (2024-02-05)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ghcr.io/nwithan8/tauticord to v3.16.2[@e6590dc](https://github.com/e6590dc) by renovate ([#17940](https://github.com/truecharts/charts/issues/17940))
|
||||
|
||||
|
||||
## [tauticord-2.4.1](https://github.com/truecharts/charts/compare/tauticord-2.4.0...tauticord-2.4.1) (2024-02-03)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image common to v17.2.30[@19ad5ec](https://github.com/19ad5ec) by renovate ([#17804](https://github.com/truecharts/charts/issues/17804))
|
||||
|
||||
|
||||
## [tauticord-2.4.0](https://github.com/truecharts/charts/compare/tauticord-2.3.0...tauticord-2.4.0) (2024-01-29)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ghcr.io/nwithan8/tauticord to v3.15.0[@37331af](https://github.com/37331af) by renovate ([#17734](https://github.com/truecharts/charts/issues/17734))
|
||||
|
||||
|
||||
## [tauticord-2.3.0](https://github.com/truecharts/charts/compare/tauticord-2.2.5...tauticord-2.3.0) (2024-01-29)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image ghcr.io/nwithan8/tauticord to v3.14.1[@cae8d3d](https://github.com/cae8d3d) by renovate ([#17693](https://github.com/truecharts/charts/issues/17693))
|
||||
|
||||
|
||||
## [tauticord-2.2.5](https://github.com/truecharts/charts/compare/tauticord-2.2.4...tauticord-2.2.5) (2024-01-26)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image common to v17.2.29[@d7c41a3](https://github.com/d7c41a3) by renovate ([#17545](https://github.com/truecharts/charts/issues/17545))
|
||||
|
||||
|
||||
## [tauticord-2.2.4](https://github.com/truecharts/charts/compare/tauticord-2.2.3...tauticord-2.2.4) (2024-01-21)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image common to v17.2.28[@918b4c5](https://github.com/918b4c5) by renovate ([#17478](https://github.com/truecharts/charts/issues/17478))
|
||||
|
||||
|
||||
## [tauticord-2.2.3](https://github.com/truecharts/charts/compare/tauticord-2.2.2...tauticord-2.2.3) (2024-01-21)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image common to v17.2.26[@24c98f7](https://github.com/24c98f7) by renovate ([#17409](https://github.com/truecharts/charts/issues/17409))
|
||||
|
||||
|
||||
## [tauticord-2.2.2](https://github.com/truecharts/charts/compare/tauticord-2.2.1...tauticord-2.2.2) (2024-01-21)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update metadata in chart.yaml ([#17457](https://github.com/truecharts/charts/issues/17457))
|
||||
|
||||
|
||||
|
||||
|
||||
## [tauticord-2.2.1](https://github.com/truecharts/charts/compare/tauticord-2.2.0...tauticord-2.2.1) (2024-01-09)
|
||||
|
||||
### Chore
|
||||
|
||||
|
||||
|
||||
- update container image common to v17.2.22[@e7c9056](https://github.com/e7c9056) by renovate ([#16986](https://github.com/truecharts/charts/issues/16986))
|
||||
|
||||
|
||||
## [tauticord-2.2.0](https://github.com/truecharts/charts/compare/tauticord-2.1.5...tauticord-2.2.0) (2024-01-08)
|
||||
|
||||
### Chore
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
annotations:
|
||||
max_scale_version: 23.10.2
|
||||
min_scale_version: 23.10.0
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/category: discord
|
||||
truecharts.org/max_helm_version: "3.14"
|
||||
truecharts.org/min_helm_version: "3.12"
|
||||
truecharts.org/train: stable
|
||||
apiVersion: v2
|
||||
appVersion: 3.18.0
|
||||
dependencies:
|
||||
- name: common
|
||||
version: 17.4.2
|
||||
repository: oci://tccr.io/truecharts
|
||||
condition: ""
|
||||
alias: ""
|
||||
tags: []
|
||||
import-values: []
|
||||
deprecated: false
|
||||
description: A Discord bot that displays live data from Tautulli.
|
||||
home: https://truecharts.org/charts/stable/tauticord
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/tauticord.png
|
||||
keywords:
|
||||
- tauticord
|
||||
- tautulli
|
||||
- discord
|
||||
kubeVersion: '>=1.24.0-0'
|
||||
maintainers:
|
||||
- name: TrueCharts
|
||||
email: info@truecharts.org
|
||||
url: https://truecharts.org
|
||||
name: tauticord
|
||||
sources:
|
||||
- https://github.com/nwithan8/tauticord
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/tauticord
|
||||
- https://ghcr.io/nwithan8/tauticord
|
||||
type: application
|
||||
version: 2.7.0
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: 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/stable/tauticord)
|
||||
|
||||
**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_
|
|
@ -0,0 +1,8 @@
|
|||
A Discord bot that displays live data from Tautulli.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/tauticord](https://truecharts.org/charts/stable/tauticord)
|
||||
|
||||
---
|
||||
|
||||
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!
|
Binary file not shown.
|
@ -0,0 +1,156 @@
|
|||
image:
|
||||
repository: ghcr.io/nwithan8/tauticord
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 3.18.0@sha256:dbf1534746b8fb06bdf6e571c49e75b0b69e6f9b039c54504ddff3487b38cd1b
|
||||
securityContext:
|
||||
container:
|
||||
runAsNonRoot: false
|
||||
readOnlyRootFilesystem: false
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
service:
|
||||
main:
|
||||
enabled: false
|
||||
ports:
|
||||
main:
|
||||
enabled: false
|
||||
tauticord:
|
||||
refresh_seconds: 15
|
||||
terminate_message: "Your stream has ended."
|
||||
use_24_hour_time: false
|
||||
use_friendly_names: false
|
||||
allow_analytics: false
|
||||
discord:
|
||||
bot_token: ""
|
||||
server_id: ""
|
||||
admin_ids: []
|
||||
post_summary_message: true
|
||||
channel_name: "Tautulli Status"
|
||||
nitro: false
|
||||
tautulli:
|
||||
key: ""
|
||||
url: ""
|
||||
plex:
|
||||
pass: false
|
||||
server_name: "My Plex Server"
|
||||
hide:
|
||||
usernames: false
|
||||
platforms: false
|
||||
player_names: false
|
||||
quality: false
|
||||
bandwidth: false
|
||||
transcode: false
|
||||
progress: false
|
||||
eta: false
|
||||
cat_stats:
|
||||
name: "Tautulli Stats"
|
||||
stream_count_enabled: false
|
||||
stream_count_channel_id: 0
|
||||
stream_transcode_count_enabled: false
|
||||
stream_transcode_count_channel_id: 0
|
||||
stream_bandwidth_enabled: false
|
||||
stream_bandwidth_channel_id: 0
|
||||
stream_local_bandwidth_enabled: false
|
||||
stream_local_bandwidth_channel_id: 0
|
||||
stream_remote_bandwidth_enabled: false
|
||||
stream_remote_bandwidth_channel_id: 0
|
||||
stream_plex_status_enabled: false
|
||||
stream_plex_status_channel_id: 0
|
||||
cat_libraries:
|
||||
name: "Plex Library Stats"
|
||||
library_stats_enabled: false
|
||||
library_names:
|
||||
- TV SHows
|
||||
- Movies
|
||||
- Music
|
||||
refresh_seconds: 3600
|
||||
use_emojis: true
|
||||
tv_series_count_enabled: true
|
||||
tv_episode_count_enabled: true
|
||||
music_artist_count_enabled: true
|
||||
music_track_count_enabled: true
|
||||
cat_performance:
|
||||
name: "Performance"
|
||||
monitor_cpu_enabled: false
|
||||
monitor_memory_enabled: false
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
env:
|
||||
TC_USE_SELF_SIGNED_CERT: false
|
||||
TC_USE_24_HOUR_TIME: "{{.Values.tauticord.use_24_hour_time }}"
|
||||
TC_USE_FRIENDLY_NAMES: "{{.Values.tauticord.use_friendly_names }}"
|
||||
TC_REFRESH_SECONDS: "{{.Values.tauticord.refresh_seconds }}"
|
||||
TC_TERMINATE_MESSAGE: "{{.Values.tauticord.terminate_message }}"
|
||||
TC_ALLOWS_ANALYTICS: "{{.Values.tauticord.allow_analytics }}"
|
||||
# Discord
|
||||
TC_DISCORD_BOT_TOKEN: "{{.Values.tauticord.discord.bot_token }}"
|
||||
TC_DISCORD_SERVER_ID: "{{.Values.tauticord.discord.server_id }}"
|
||||
TC_DISCORD_ADMIN_IDS: '{{ join "," .Values.tauticord.discord.admin_ids }}'
|
||||
TC_DISCORD_POST_SUMMARY_MESSAGE: "{{.Values.tauticord.discord.post_summary_message }}"
|
||||
TC_DISCORD_CHANNEL_NAME: "{{.Values.tauticord.discord.channel_name }}"
|
||||
TC_DISCORD_NITRO: "{{.Values.tauticord.discord.nitro }}"
|
||||
# Tautulli
|
||||
TC_TAUTULLI_KEY: "{{.Values.tauticord.tautulli.key }}"
|
||||
TC_TAUTULLI_URL: "{{.Values.tauticord.tautulli.url }}"
|
||||
# Plex
|
||||
TC_PLEX_PASS: "{{.Values.tauticord.plex.pass }}"
|
||||
TC_SERVER_NAME: "{{.Values.tauticord.plex.server_name }}"
|
||||
# Hide Info
|
||||
TC_HIDE_USERNAMES: "{{.Values.tauticord.hide.usernames }}"
|
||||
TC_HIDE_PLATFORMS: "{{.Values.tauticord.hide.platforms }}"
|
||||
TC_HIDE_PLAYER_NAMES: "{{.Values.tauticord.hide.player_names }}"
|
||||
TC_HIDE_QUALITY: "{{.Values.tauticord.hide.quality }}"
|
||||
TC_HIDE_BANDWIDTH: "{{.Values.tauticord.hide.bandwidth }}"
|
||||
TC_HIDE_TRANSCODE: "{{.Values.tauticord.hide.transcode }}"
|
||||
TC_HIDE_PROGRESS: "{{.Values.tauticord.hide.progress }}"
|
||||
TC_HIDE_ETA: "{{.Values.tauticord.hide.eta }}"
|
||||
# Stats Cat
|
||||
TC_VC_STATS_CATEGORY_NAME: "{{.Values.tauticord.cat_stats.name }}"
|
||||
TC_VC_STREAM_COUNT: "{{.Values.tauticord.cat_stats.stream_count_enabled }}"
|
||||
TC_VC_STREAM_COUNT_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_count_channel_id }}"
|
||||
# Transcode
|
||||
TC_VC_TRANSCODE_COUNT: "{{.Values.tauticord.cat_stats.stream_transcode_count_enabled }}"
|
||||
TC_VC_TRANSCODE_COUNT_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_transcode_count_channel_id }}"
|
||||
# Bandwidth
|
||||
TC_VC_BANDWIDTH: "{{.Values.tauticord.cat_stats.stream_bandwidth_enabled }}"
|
||||
TC_VC_BANDWIDTH_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_bandwidth_channel_id }}"
|
||||
# Bandwidth
|
||||
TC_VC_LOCAL_BANDWIDTH: "{{.Values.tauticord.cat_stats.stream_local_bandwidth_enabled }}"
|
||||
TC_VC_LOCAL_BANDWIDTH_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_local_bandwidth_channel_id }}"
|
||||
# Bandwidth
|
||||
TC_VC_REMOTE_BANDWIDTH: "{{.Values.tauticord.cat_stats.stream_remote_bandwidth_enabled }}"
|
||||
TC_VC_REMOTE_BANDWIDTH_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_remote_bandwidth_channel_id }}"
|
||||
# Plex
|
||||
TC_VC_PLEX_STATUS: "{{.Values.tauticord.cat_stats.stream_plex_status_enabled }}"
|
||||
TC_VC_PLEX_STATUS_CHANNEL_ID: "{{.Values.tauticord.cat_stats.stream_plex_status_channel_id }}"
|
||||
# Libraries Cat
|
||||
TC_VC_LIBRARIES_CATEGORY_NAME: "{{.Values.tauticord.cat_libraries.name }}"
|
||||
TC_VC_LIBRARY_STATS: "{{.Values.tauticord.cat_libraries.library_stats_enabled }}"
|
||||
TC_VC_LIBRARY_NAMES: '{{ join "," .Values.tauticord.cat_libraries.library_names }}'
|
||||
TC_VC_LIBRARY_REFRESH_SECONDS: "{{.Values.tauticord.cat_libraries.refresh_seconds }}"
|
||||
TC_VC_LIBRARY_USE_EMOJIS: "{{.Values.tauticord.cat_libraries.use_emojis }}"
|
||||
TC_VC_TV_SERIES_COUNT: "{{.Values.tauticord.cat_libraries.tv_series_count_enabled }}"
|
||||
TC_VC_TV_EPISODE_COUNT: "{{.Values.tauticord.cat_libraries.tv_episode_count_enabled }}"
|
||||
TC_VC_MUSIC_ARTIST_COUNT: "{{.Values.tauticord.cat_libraries.music_artist_count_enabled }}"
|
||||
TC_VC_MUSIC_TRACK_COUNT: "{{.Values.tauticord.cat_libraries.music_track_count_enabled }}"
|
||||
# Performance Cat
|
||||
TC_VC_PERFORMANCE_CATEGORY_NAME: "{{.Values.tauticord.cat_performance.name }}"
|
||||
TC_MONITOR_CPU: "{{.Values.tauticord.cat_performance.monitor_cpu_enabled }}"
|
||||
TC_MONITOR_MEMORY: "{{.Values.tauticord.cat_performance.monitor_memory_enabled }}"
|
||||
persistence:
|
||||
logs:
|
||||
enabled: true
|
||||
mountPath: "/logs"
|
||||
portal:
|
||||
open:
|
||||
enabled: false
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -0,0 +1 @@
|
|||
{{ include "tc.v1.common.loader.all" . }}
|
Loading…
Reference in New Issue