owncloud-docker / helm-charts Goto Github PK
View Code? Open in Web Editor NEWownCloud Server Helm charts
Home Page: https://owncloud-docker.github.io/helm-charts/
License: Apache License 2.0
ownCloud Server Helm charts
Home Page: https://owncloud-docker.github.io/helm-charts/
License: Apache License 2.0
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
This repository currently has no open or pending branches.
charts/owncloud/values.yaml
ci/k3d-drone.yaml
docker.io/rancher/k3s v1.29.2-k3s1
Makefile
norwoodj/helm-docs v1.13.1
.drone.star
docker.io/jnorwood/helm-docs v1.13.1
docker.io/bitnami/kubectl 1.29
ghcr.io/k3d-io/k3d 5-dind
charts/owncloud/Chart.yaml
owncloud/server 10.14.0
Theres is an discrepancy in the ingress template and the values yaml for the ingress class name
templates/ingress.yaml
:
{{- with .Values.ingress.className }}
ingressClassName: {{ . }}
{{- end }}
values.yaml
:
ingress:
# -- Enables the Ingress.
enabled: false
# -- Ingress class to use.
# Uses the default ingress class if not set.
ingressClassName: ""
{{- with .Values.ingress.className }}
should be {{- with .Values.ingress.ingressClassName }}
It's up to you to fix the naming but it should be correct :P
(The readme is also incorrect)
Currently the helm chart has no certificate management. In real world scenarios ownCloud might need to be enhanced by custom certificates for accessing external systems such as LDAP, object storages, mail servers which are secured by custom certificates.
The implementation should have a Secret
reference which will then be used as volume mount to enhance the systems SSL certificates.
Helm features chart hooks (https://helm.sh/docs/topics/charts_hooks/) which allow to execute Jobs in the Kubernetes cluster based on certain criteria. One scenario I see right now is the database backup before an upgrade is run. So that the chance for a rollback exists.
https://helm.sh/docs/topics/chart_tests/ describes how helm chart test could be written. Would be nice to have this for the owncloud chart as well
Right now we still use the crond started in the container itself to executed jobs periodically.
This feature request is about the implementation of this mechanism via the CronJob implemented in k8s: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
Note: We need to find a way to execute the job in the container without the triggering any updated of the oC system.
Hey! Storage class is hard coded in side the template with value "standard". Please remove it or better, make it configurable :)
Right now the docker containers and the helm charts each set the default values at two places (in the values.yaml and in the entrypoint.d directory in the docker container). Have those definitions twice usually tends to diverge over time. So we should find a solution to have the defaults definition only once which is then automatically transferred to helm charts and docker containers.
I started this helm with added:
nodeSelector:
kubernetes.io/hostname: hworker3
this deployed owncloud with pods running on this particular node, nodeSelector is added to deployments (and pods) correctly)
but it's not for CronJobs, those were created on different nodes and failed to do anything (because of storage avaiablibity)
Since helm 3 helm support input validation with a values.schema.json file, see https://helm.sh/docs/topics/charts/#schema-files. If would be good to have this validation for this chart as well.
Hi, I've deployed owncloud using this Helm chart to AWS EKS, and also configured an EFS ReadWriteMany persistent volume, so multiple pods can access the PV at the same time. This took some adjustments/fixes to the Helm chart, but it's running now successfully. When I try to login as the admin user though, I'm getting a 500 internal error. I enabled debug mode and got the output below. Any advice on how to fix this issue? I also have the objectstore s3 backend enabled, along with RDS mysql database. The DB connectivity looks good, and I don't see any issues the app is reporting with s3 connectivity, but I haven't been able to login to test it yet.
I should also note that I've configured an ingress - the cluster it's running on uses nginx ingress + cert manager for SSL certs. Health checks are passing and I'm able to access the UI via the ingress URL. This particular error only happens when I try to login as admin:
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times and include the technical details below in your report.
More details can be found in the [server log](https://doc.owncloud.com/server/10.13/go.php?to=admin-logfiles).
Technical details
Remote Address: 10.40.3.166
Request ID: a82b39dd233900784411777416bf99ab
Type: OCP\Files\NotFoundException
Code: 0
Message:
File: /var/www/owncloud/lib/private/Files/Node/Node.php
Line: 97
Trace
#0 /var/www/owncloud/lib/private/Files/Node/Node.php(217): OC\Files\Node\Node->getFileInfo()
#1 /var/www/owncloud/lib/private/Files/Node/Node.php(117): OC\Files\Node\Node->getPermissions()
#2 /var/www/owncloud/lib/private/Files/Node/File.php(109): OC\Files\Node\Node->checkPermissions()
#3 /var/www/owncloud/lib/private/legacy/util.php(433): OC\Files\Node\File->fopen()
#4 /var/www/owncloud/lib/private/legacy/util.php(426): OC_Util::copyr()
#5 /var/www/owncloud/lib/private/legacy/util.php(403): OC_Util::copyr()
#6 /var/www/owncloud/lib/private/User/Session.php(469): OC_Util::copySkeleton()
#7 /var/www/owncloud/lib/private/User/Session.php(1036): OC\User\Session->prepareUserLogin()
#8 /var/www/owncloud/lib/private/User/Session.php(543): OC\User\Session->loginInOwnCloud(*** sensitive parameters replaced ***)
#9 /var/www/owncloud/lib/private/User/Session.php(344): OC\User\Session->loginWithPassword(*** sensitive parameters replaced ***)
#10 /var/www/owncloud/core/Controller/LoginController.php(270): OC\User\Session->login(*** sensitive parameters replaced ***)
#11 /var/www/owncloud/lib/private/AppFramework/Http/Dispatcher.php(169): OC\Core\Controller\LoginController->tryLogin(*** sensitive parameters replaced ***)
#12 /var/www/owncloud/lib/private/AppFramework/Http/Dispatcher.php(89): OC\AppFramework\Http\Dispatcher->executeController()
#13 /var/www/owncloud/lib/private/AppFramework/App.php(99): OC\AppFramework\Http\Dispatcher->dispatch()
#14 /var/www/owncloud/lib/private/AppFramework/Routing/RouteActionHandler.php(47): OC\AppFramework\App::main()
#15 /var/www/owncloud/lib/private/Route/Router.php(344): OC\AppFramework\Routing\RouteActionHandler->__invoke()
#16 /var/www/owncloud/lib/kernel.php(913): OC\Route\Router->match()
#17 /var/www/owncloud/index.php(32): OC::handleRequest()
#18 {main}
Hello,
i could not start the owncloud deployment.
The Pod will not correctly start and i don'r really see an error.
the Pod Logs will only display:
3 Creating volume folders...
2 Creating hook folders...
1 Waiting for MySQL...
an the Pod will automatic terminated by the Readiness probe:
Readiness probe failed: Get "http://xx.xx.x.xxx:8080/status.php": dial tcp xx.xx.x.xx:8080: connect: connection refused
the only values what i have changed are the following:
owncloud:
adminPassword: "xxx"
adminUsername: "xxx"
db:
fail: "true"
host: "myhostname"
name: "owncloud"
password: "mypassword"
prefix: "oc_"
timeout: "30"
type: "mysql"
username: "owncloud"
domain: "clouddomain"
debug: true
defaultLanguage: "de"
persistence:
# -- Enables persistence.
enabled: true
owncloud:
accessMode:
- ReadWriteOnce
size: 40Gi
ingress:
enabled: true
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls.certresolver: le
tls: []
# - secretName: owncloud-tls
# hosts:
# - clouddomain
any idea where i have an typo or something ?
Kind Regards
The introduced configmap in https://github.com/owncloud-docker/helm-charts/pull/45/files might need extra handling to automatically recreate the deployment to apply config changes.
Ref: https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
Hey! If I enable ingress in the helm chart I get the following error:
Error: INSTALLATION FAILED: YAML parse error on owncloud/templates/ingress.yaml: error converting YAML to JSON: yaml: line 17: mapping values are not allowed in this context
yaml looks like this:
ingress:
enabled: true
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
tls:
- secretName: owncloud-tls
hosts:
- owncloud.domain.com
I found that my /mnt/data/sessions directory was filling up with old session files. up to 80k of them without any cleanup.
There's a crontab entry for it in cron.d, but that doesn't get called by anything, and not by the occ system:cron
background jobs either.
I solved this myself by adding a manual cronjob
like below, but ideally we'd include this in the helm chart or make sure the existing helm chart calls it after running the owncloud /usr/bin/cronjob
file.
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: owncloud-phpsessionclean
namespace: production
spec:
schedule: "@hourly"
concurrencyPolicy: Forbid
jobTemplate:
spec:
parallelism: 1
backoffLimit: 0
template:
spec:
restartPolicy: Never
containers:
- name: cronjob
image: docker.io/owncloud/server:10.13.3
imagePullPolicy: IfNotPresent
command: ["/bin/sh", "/usr/lib/php/sessionclean"]
envFrom:
- configMapRef:
name: owncloud-env-config
volumeMounts:
- name: owncloud-data
mountPath: /mnt/data
- name: config-volume
mountPath: /mnt/data/config/configmap.config.php
subPath: configmap.config.php
volumes:
- name: owncloud-data
persistentVolumeClaim:
claimName: owncloud
- name: config-volume
secret:
secretName: owncloud-config
Hi,
I tried to install this helm chart with almost same default values, and i got :
(combined from similar events): Error: container create failed: time="2023-12-24T05:33:49Z" level=error msg="runc create failed: unable to start container process: error during container init: error mounting \"/var/lib/kubelet/pods/047ce890-26dc-4462-b511-a46e61644a7f/volume-subpaths/config-volume/owncloud/1\" to rootfs at \"/mnt/data/config/configmap.config.php\": open /var/lib/containers/storage/overlay/bb1dbc56eee0cd15ad6b45469a9b6010d9db38c8df8ffd80a526d937cd2f73f7/merged/mnt/data/config/configmap.config.php: permission denied"
Environment:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.