Conversation
ac1e1df to
f4e07e1
Compare
c418caa to
62bb840
Compare
|
docker build |
|
✅ Docker build and push successful! Image: |
|
docker deploy |
|
🚀 Deployment Successful! The instance at plik.root.gg has been redeployed with image |
|
docker deploy |
|
🚀 Deployment Successful! The instance at plik.root.gg has been redeployed with image |
|
docker deploy |
|
🚀 Deployment Successful! The instance at plik.root.gg has been redeployed with image |
|
docker build |
|
✅ Docker build and push successful! Image: |
36669da to
86579a5
Compare
- Add missing ingress.yaml template (was dead config in values.yaml) - Rewrite configmap.yaml with explicit key ordering (fix non-deterministic rendering) - Add NOTES.txt for post-install instructions - Add missing config fields: FeatureLocalLogin, FeatureDeleteAccount, OvhApiKey, OIDCProviderName, OIDCRequireVerifiedEmail - Fix DisableLocalLogin -> FeatureLocalLogin (match plikd config naming) - Add OvhApiKey env var injection to secret.yaml - Bump appVersion to 1.4-RC3 - Upgrade actions: gh-pages v4, setup-helm v4, chart-releaser v1.7.0 - Narrow .gitignore from */plik to client/plik (with comment) - Polish docs/guide/kubernetes.md - Update ARCHITECTURE.md, AGENTS.md, releaser/ARCHITECTURE.md with Helm references - Add .github/ARCHITECTURE.md documenting all workflows
86579a5 to
80fc467
Compare
| - ReadWriteOnce | ||
| size: 10Gi | ||
| # annotations: {} | ||
| path: /home/plik/server/files |
There was a problem hiding this comment.
I just tested this and I think this is not working as expected.
I installed the chart using persistence, uploaded a file and deleted the plik-0 pod. Afterwards the files are present in the PV, but of course the database (which is in /home/plik/server/) was gone, so the files were not known to Plik.
Unfortunately, just changing the path to /home/plik/server/ is not enough, as the executable and the configuration are also in this directory (and are being shadowed by the volumeMount....
As a crude hack I changed the database location to the files directory:
plikd:
MetadataBackendConfig:
ConnectionString: "/home/plik/server/files/plik.db"
This preserves the database as well as the files and a share survives a pod restart.
A cleaner solution would be a second PVC for the database...
There was a problem hiding this comment.
You're right, I'll prepare this :)
There was a problem hiding this comment.
Here it is :
1ae0175
Can you validate on your side ? :)
There was a problem hiding this comment.
Using the following values.yaml it worked out of the box:
kind: StatefulSet
ingress:
enabled: true
hosts:
- host: plik.example.org
paths:
- path: /
pathType: ImplementationSpecific
persistence:
enabled: true
size: 1Gi
dbPersistence:
enabled: true
size: 1Gi
There was a problem hiding this comment.
Yeah 🎉
We'll merge it soon for the 1.4-RC4 :)
Add a dedicated PersistentVolumeClaim for the SQLite metadata database, independent of the file data PVC. Previously, when persistence was enabled, the PVC only covered /home/plik/server/files. The database (plik.db) lived at /home/plik/server/plik.db which was not on the PV, causing all metadata to be lost on pod restart. Changes: - Add dbPersistence block to values.yaml (disabled by default, 1Gi, mounts at /home/plik/server/db) - Add second PVC <release>-db in pvc.yaml (Deployment kind only) - Add db volumeMount + volume in deployment.yaml (emptyDir or PVC) - Add db volumeClaimTemplate in StatefulSet spec - Change default MetadataBackendConfig.ConnectionString from relative 'plik.db' to absolute '/home/plik/server/db/plik.db' - Bump chart version to 0.3.0 The new path does not shadow the server binary or config in /home/plik/server/. Both persistence and dbPersistence default to emptyDir when disabled, making this fully backward-compatible.
Feat: add Helm Chart for Plik
Description
This PR introduces a comprehensive Helm chart to deploy Plik on Kubernetes.
It aims to provide a flexible and production-ready deployment method, supporting both stateless
Deployment(for S3/GCS/Swift backends) and statefulStatefulSet(for local file backend with persistence) architectures.Key Features
DeploymentandStatefulSetvia.Values.kind.plikd.cfggeneration fromvalues.yamlvia ConfigMap.Secretresource and injected as environment variables. Supports using anexistingSecretfor enhanced security.filebackend.pages.yml) to automatically build VitePress documentation and release the Helm chart to GitHub Pages on every push tomaster.CHANGELOG.mdand detailed guide indocs/guide/helm.md.Changelog
[0.1.1] - 2024-02-13
[0.1.0] - 2024-02-13
Configuration
The
values.yamlfile mirrors the defaultplikd.cfgconfiguration, making it intuitive for existing Plik users to migrate.Verification
The chart has been linted with
helm lint.To test the chart locally: