adapt owncloud helm chart from mumme-it/owncloud

This commit is contained in:
2025-01-14 20:13:16 +01:00
parent c3e37f9eac
commit 9961132e7b
18 changed files with 360 additions and 225 deletions

View File

@ -3,7 +3,7 @@ entries:
jackett:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.155765+01:00"
created: "2025-01-14T20:11:58.484744+01:00"
description: A Helm chart for Kubernetes
digest: cb583d90a982e50cb0028e2d8d2afce93ef8f64dc202ddffd59262a74ff33fe1
name: jackett
@ -14,7 +14,7 @@ entries:
overseerr:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.156331+01:00"
created: "2025-01-14T20:11:58.485298+01:00"
description: A Helm chart for Kubernetes
digest: ac634ebbb7000644e02606157bedbc8ab6e3dd59d22d8ee699093d0f683a2899
name: overseerr
@ -25,9 +25,9 @@ entries:
owncloud:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.156614+01:00"
created: "2025-01-14T20:11:58.486145+01:00"
description: A Helm chart for Kubernetes
digest: f42471e2be110e62316e7fdf4a6566f8046f221cf81dcf894f26f8e3137d5d52
digest: e4eacb10e0d2a53069a3ae82a1b7543548ae60964b1227794666d48edc3d1790
name: owncloud
type: application
urls:
@ -36,7 +36,7 @@ entries:
plex:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.157326+01:00"
created: "2025-01-14T20:11:58.487084+01:00"
description: A Helm chart for Kubernetes
digest: 565cd7f5ab705d99bb9d5c81b6e8b0e9168be4cf442e1e5daba18bfcf0b5d882
name: plex
@ -47,7 +47,7 @@ entries:
qbittorrent:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.157632+01:00"
created: "2025-01-14T20:11:58.487413+01:00"
description: A Helm chart for Kubernetes
digest: 962463c2a27832ad6dc9709a3be008f242e1b039d9da7579becfa0bb96f6e063
name: qbittorrent
@ -58,7 +58,7 @@ entries:
radarr:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.157927+01:00"
created: "2025-01-14T20:11:58.487722+01:00"
description: A Helm chart for Kubernetes
digest: 78b75bd7d472fadde70016881f54f3359293b39d6ea964344131cc5572bb2b2f
name: radarr
@ -69,7 +69,7 @@ entries:
sonarr:
- apiVersion: v2
appVersion: 1.16.0
created: "2025-01-14T03:42:07.158232+01:00"
created: "2025-01-14T20:11:58.48802+01:00"
description: A Helm chart for Kubernetes
digest: ba9b24a526270d72b33d1918755baa182095f97fb4f38df16b5a833c8138d6dc
name: sonarr
@ -77,4 +77,4 @@ entries:
urls:
- sonarr-0.1.0.tgz
version: 0.1.0
generated: "2025-01-14T03:42:07.155147+01:00"
generated: "2025-01-14T20:11:58.484018+01:00"

Binary file not shown.

View File

@ -1,23 +0,0 @@
# 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
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

View File

@ -20,5 +20,4 @@ version: 0.1.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
appVersion: 1.16.0

81
owncloud/README.md Normal file
View File

@ -0,0 +1,81 @@
![alt text](https://github.com/vnc-biz/owncloud/blob/main/owncloud.png?raw=true)
![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16.0](https://img.shields.io/badge/AppVersion-1.16.0-informational?style=flat-square)
# ownCloud; Chart packaged by VNC
What is ownCloud?
ownCloud is a file sync & share product, where you can fully control where your data is stored at all times.
You can deploy ownCloud in your own data center on-premises or at a trusted service provider.
Be confident your data storage and maintenance complies with regulation. Increase security through measures like multi-factor authentication, encryption and file lifecycle management.
VNC created this Helm Chart using our experience writing Helm Charts for our own [VNClagoon](http://www.vnclagoon.com/)
applications to deploy ownCloud on public cloud and bare metal Kubernetes clusters.
We enabled persistent data volumes so that we can scale ownCloud and enable HA.
## TL;DR
```bash
$ helm repo add owncloud
$ helm install my-release owncloud/owncloud
```
## Introduction
This chart bootstraps an ownCloud deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
This chart has been tested to work with NGINX/GCE Ingress, fluentd and Prometheus on top of the [GKE].
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| autoscaling.enabled | bool | `false` | |
| autoscaling.maxReplicas | int | `100` | |
| autoscaling.minReplicas | int | `1` | |
| autoscaling.targetCPUUtilizationPercentage | int | `80` | |
| externalDatabase.host | string | `""` | |
| externalDatabase.name | string | `"owncloud"` | |
| externalDatabase.password | string | `"owncloud"` | |
| externalDatabase.port | int | `3306` | |
| externalDatabase.type | string | `""` | |
| externalDatabase.user | string | `"owncloud"` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"docker.io/owncloud/server"` | |
| image.tag | float | `10.6` | |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | string | `nil` | |
| ingress.enabled | bool | `true` | |
| ingress.hosts[0].host | string | `"owncloud.chart.example"` | |
| ingress.hosts[0].paths[0] | string | `"/*"` | |
| ingress.hosts[0].servicePort | int | `80` | |
| ingress.tls[0].hosts[0] | string | `"owncloud.chart.example"` | |
| ingress.tls[0].secretName | string | `"owncloud"` | |
| mariadb.enabled | bool | `false` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| owncloud.domain | string | `"owncloud.chart.example"` | |
| owncloud.password | string | `"owncloud"` | |
| owncloud.username | string | `"owncloud"` | |
| persistence.enabled | bool | `true` | |
| persistence.owncloud.accessMode | string | `"ReadWriteOnce"` | |
| persistence.owncloud.nfs | string | `nil` | |
| persistence.owncloud.size | string | `"8Gi"` | |
| podAnnotations | object | `{}` | |
| podSecurityContext | object | `{}` | |
| redis.enabled | bool | `false` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `80` | |
| service.type | string | `"LoadBalancer"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tolerations | list | `[]` | |
----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)

BIN
owncloud/owncloud.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -2,7 +2,7 @@
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
@ -16,27 +16,6 @@
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "owncloud.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80
{{- end }}
2. Initial login credentials:
Username: {{ .Values.admin.username }}
Password: [stored in secret {{ .Values.admin.existingSecret }}]
3. Database configuration:
{{- if .Values.database.external.enabled }}
Using external database at {{ .Values.database.external.host }}:{{ .Values.database.external.port }}
Database: {{ .Values.database.external.database }}
Username: {{ .Values.database.external.username }}
Password: [stored in secret {{ .Values.database.external.existingSecret }}]
{{- else }}
Using internal database
{{- end }}
4. Persistence information:
Data directory: {{ .Values.persistence.mountPath }}
For more information about OwnCloud configuration, please refer to:
https://doc.owncloud.com/server/admin_manual/configuration/

View File

@ -5,12 +5,18 @@ metadata:
labels:
{{- include "owncloud.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "owncloud.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "owncloud.selectorLabels" . | nindent 8 }}
spec:
@ -18,84 +24,92 @@ spec:
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "owncloud.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.containerSecurityContext | nindent 12 }}
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: TZ
value: {{ .Values.env.TZ | quote }}
- name: OWNCLOUD_DOMAIN
value: {{ .Values.env.OWNCLOUD_DOMAIN | quote }}
- name: OWNCLOUD_TRUSTED_DOMAINS
value: {{ .Values.env.OWNCLOUD_TRUSTED_DOMAINS | quote }}
- name: OWNCLOUD_DB_TYPE
value: {{ .Values.database.type | quote }}
{{- if .Values.database.external.enabled }}
- name: OWNCLOUD_DB_HOST
value: {{ .Values.database.external.host | quote }}
- name: OWNCLOUD_DB_PORT
value: {{ .Values.database.external.port | quote }}
- name: OWNCLOUD_DB_NAME
value: {{ .Values.database.external.database | quote }}
- name: OWNCLOUD_DB_USERNAME
value: {{ .Values.database.external.username | quote }}
- name: OWNCLOUD_DB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.database.external.existingSecret }}
key: {{ .Values.database.external.existingSecretKey }}
{{- end }}
- name: OWNCLOUD_ADMIN_USERNAME
value: {{ .Values.admin.username | quote }}
- name: OWNCLOUD_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.admin.existingSecret }}
key: {{ .Values.admin.existingSecretKey }}
- name: OWNCLOUD_REDIS_ENABLED
value: {{ .Values.env.OWNCLOUD_REDIS_ENABLED | quote }}
- name: PHP_MEMORY_LIMIT
value: {{ .Values.env.PHP_MEMORY_LIMIT | quote }}
- name: PHP_UPLOAD_LIMIT
value: {{ .Values.env.PHP_UPLOAD_LIMIT | quote }}
- name: OWNCLOUD_DOMAIN
value: {{ .Values.owncloudDomain | quote }}
- name: OWNCLOUD_ADMIN_USERNAME
value: {{ .Values.owncloud.username | quote }}
- name: OWNCLOUD_ADMIN_PASSWORD
value: {{ .Values.owncloud.password | quote }}
- name: OWNCLOUD_INTEGRITY_CHECK_DISABLED
value: {{ .Values.owncloud.integrity.disabled | quote }}
- name: OWNCLOUD_UPDATE_CHECKER
value: {{ .Values.owncloud.updatecheck | quote }}
{{- if .Values.mariadb.enabled }}
- name: MARIADB_HOST
value: {{ template "owncloud.mariadb.fullname" . }}
- name: MARIADB_PORT_NUMBER
value: "3306"
- name: OWNCLOUD_DATABASE_NAME
value: {{ .Values.mariadb.db.name | quote }}
- name: OWNCLOUD_DATABASE_USER
value: {{ .Values.mariadb.db.user | quote }}
- name: OWNCLOUD_DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: {{ template "owncloud.mariadb.fullname" . }}
key: mariadb-password
{{- else }}
- name: OWNCLOUD_DB_TYPE
value: {{ .Values.externalDatabase.type | quote }}
- name: OWNCLOUD_DB_HOST
value: {{ .Values.externalDatabase.host | quote }}
- name: OWNCLOUD_DATABASE_PORT_NUMBER
value: {{ .Values.externalDatabase.port | quote }}
- name: OWNCLOUD_DB_NAME
value: {{ .Values.externalDatabase.name | quote }}
- name: OWNCLOUD_DB_USERNAME
value: {{ .Values.externalDatabase.user | quote }}
- name: OWNCLOUD_DB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ printf "%s-%s" .Release.Name "externaldb" }}
key: db-password
{{- end }}
{{- if .Values.redis.enabled }}
- name: OWNCLOUD_REDIS_ENABLED
value: true
- name: OWNCLOUD_REDIS_HOST
value: {{ .Values.redis.host | quote }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.service.port }}
containerPort: 8080
protocol: TCP
volumeMounts:
- name: owncloud-data
mountPath: {{ .Values.persistence.mountPath }}
livenessProbe:
httpGet:
path: /status.php
port: http
initialDelaySeconds: 30
periodSeconds: 10
httpHeaders:
- name: Host
value: {{ .Values.owncloud.domain | quote }}
initialDelaySeconds: 120
timeoutSeconds: 5
failureThreshold: 6
readinessProbe:
httpGet:
path: /status.php
port: http
httpHeaders:
- name: Host
value: {{ .Values.owncloud.domain | quote }}
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 3
periodSeconds: 5
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumes:
- name: owncloud-data
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
{{- if .Values.persistence.existingClaim }}
claimName: {{ .Values.persistence.existingClaim }}
{{- else }}
claimName: {{ include "owncloud.fullname" . }}-data
{{- end }}
{{- else }}
emptyDir: {}
{{- end }}
volumeMounts:
- name: owncloud-data
mountPath: /mnt/data
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
@ -108,3 +122,7 @@ spec:
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- name: owncloud-data
persistentVolumeClaim:
claimName: {{ include "owncloud.fullname" . }}

View File

@ -0,0 +1,28 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "owncloud.fullname" . }}
labels:
{{- include "owncloud.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "owncloud.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@ -1,20 +1,20 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "owncloud.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
apiVersion: networking.k8s.io/v1
{{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "owncloud.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
cert-manager.io/cluster-issuer: letsencrypt
nginx.ingress.kubernetes.io/proxy-body-size: 1000m
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
@ -31,13 +31,10 @@ spec:
http:
paths:
{{- range .paths }}
- path: {{ .path }}
pathType: {{ .pathType }}
- path: {{ . }}
backend:
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@ -1,17 +1,28 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
{{- if .Values.persistence.owncloud.nfs.enabled -}}
apiVersion: v1
kind: PersistentVolume
metadata:
name: {{ include "owncloud.fullname" . }}
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 100Gi
nfs:
server: {{ .Values.persistence.owncloud.nfs.server }}
path: {{ .Values.persistence.owncloud.nfs.path }}
{{end}}
---
{{- if .Values.persistence.enabled -}}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "owncloud.fullname" . }}-data
labels:
{{- include "owncloud.labels" . | nindent 4 }}
name: {{ include "owncloud.fullname" . }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
{{- if .Values.persistence.storageClass }}
storageClassName: {{ .Values.persistence.storageClass | quote }}
{{- end }}
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- end }}
storage: 100Gi
storageClassName: standard
{{- end -}}

View File

@ -0,0 +1,14 @@
{{- if not .Values.mariadb.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: {{ printf "%s-%s" .Release.Name "externaldb" }}
labels:
app: {{ printf "%s-%s" .Release.Name "externaldb" }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
type: Opaque
data:
db-password: {{ default "" .Values.externalDatabase.password | b64enc | quote }}
{{- end }}

View File

@ -8,11 +8,8 @@ spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
targetPort: 8080
protocol: TCP
name: http
{{- if and (eq .Values.service.type "NodePort") .Values.service.nodePort }}
nodePort: {{ .Values.service.nodePort }}
{{- end }}
selector:
{{- include "owncloud.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "owncloud.serviceAccountName" . }}
labels:
{{- include "owncloud.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,13 @@
{{- if .Values.persistence.enabled -}}
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: {{ include "owncloud.fullname" . }}
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
reclaimPolicy: Retain
allowVolumeExpansion: true
mountOptions:
- debug
{{- end -}}

View File

@ -1,15 +0,0 @@
apiVersion: v1
kind: Pod
metadata:
name: "{{ include "owncloud.fullname" . }}-test-connection"
labels:
{{- include "owncloud.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": test
spec:
containers:
- name: wget
image: busybox
command: ['wget']
args: ['{{ include "owncloud.fullname" . }}:{{ .Values.service.port }}']
restartPolicy: Never

View File

@ -4,87 +4,106 @@
replicaCount: 1
image:
repository: owncloud/server
pullPolicy: IfNotPresent
tag: "latest"
owncloud:
integrity:
disabled: false
updatecheck: false
domain: owncloud.chart.example
username: owncloud
password: owncloud
# Security context for the container
podSecurityContext: {}
mariadb:
enabled: false
containerSecurityContext: {}
externalDatabase:
type: ""
host: ""
port: 3306
name: owncloud
user: owncloud
password: owncloud
# Database configuration
database:
type: "pgsql" # can be pgsql or mysql
# External database configuration
external:
enabled: false
host: ""
port: 5432
database: "owncloud"
username: "owncloud"
# Secret containing the database password
existingSecret: ""
existingSecretKey: "password"
# Admin user configuration
admin:
username: "admin"
# Secret containing the admin password
existingSecret: ""
existingSecretKey: "password"
service:
type: ClusterIP
port: 8080
# Environment variables
env:
TZ: "UTC"
# Additional environment variables if needed
OWNCLOUD_DOMAIN: "cloud.local"
OWNCLOUD_TRUSTED_DOMAINS: "cloud.local"
OWNCLOUD_REDIS_ENABLED: "false"
# PHP settings
PHP_MEMORY_LIMIT: "512M"
PHP_UPLOAD_LIMIT: "512M"
# Persistence configuration
persistence:
enabled: true
storageClass: ""
accessMode: ReadWriteOnce
size: 100Gi
mountPath: /var/www/html
# Optional: Use existing PVC
existingClaim: ""
owncloud:
accessMode: ReadWriteOnce
size: 8Gi
nfs: {}
redis:
enabled: false
image:
repository: docker.io/owncloud/server
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: 10.6
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
podAnnotations: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: LoadBalancer
port: 80
ingress:
enabled: false
className: "nginx"
annotations: {}
enabled: true
annotations:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
# nginx.ingress.kubernetes.io/proxy-body-size: "512m"
hosts:
- host: cloud.local
paths:
- path: /
pathType: Prefix
tls: []
# - secretName: owncloud-tls
# hosts:
# - cloud.local
- host: "owncloud.chart.example"
paths: ["/*"]
servicePort: 80
tls:
- hosts:
- "owncloud.chart.example"
secretName: owncloud
resources:
limits:
cpu: 2000m
memory: 2Gi
requests:
cpu: 500m
memory: 512Mi
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}

5
sync-helm-index Executable file
View File

@ -0,0 +1,5 @@
#! /bin/bash
chart=${1}
helm package $chart -d .packaged && helm repo index .packaged