mirror of
https://github.com/vhaudiquet/homeprod.git
synced 2026-09-13 12:41:13 +00:00
obsidian-livesync: deploy to kube
This commit is contained in:
@@ -51,6 +51,7 @@ updates:
|
|||||||
- "/kubernetes/personal/bookmarks/linkwarden"
|
- "/kubernetes/personal/bookmarks/linkwarden"
|
||||||
- "/kubernetes/personal/media/photoprism"
|
- "/kubernetes/personal/media/photoprism"
|
||||||
- "/kubernetes/personal/notes/notesnook"
|
- "/kubernetes/personal/notes/notesnook"
|
||||||
|
- "/kubernetes/personal/notes/obsidian-livesync"
|
||||||
- "/kubernetes/personal/paperless"
|
- "/kubernetes/personal/paperless"
|
||||||
- "/kubernetes/production/buildpath"
|
- "/kubernetes/production/buildpath"
|
||||||
- "/kubernetes/production/semery-fr"
|
- "/kubernetes/production/semery-fr"
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ resources:
|
|||||||
- personal/paperless
|
- personal/paperless
|
||||||
- personal/media/photoprism
|
- personal/media/photoprism
|
||||||
- personal/notes/notesnook
|
- personal/notes/notesnook
|
||||||
|
- personal/notes/obsidian-livesync
|
||||||
- personal/bookmarks/linkwarden
|
- personal/bookmarks/linkwarden
|
||||||
# Utilities (generic content-agnostic tools)
|
# Utilities (generic content-agnostic tools)
|
||||||
- utilities/dashy
|
- utilities/dashy
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: obsidian-livesync
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- repository.yaml
|
||||||
|
- release.yaml
|
||||||
|
secretGenerator:
|
||||||
|
- name: obsidian-livesync-values
|
||||||
|
files:
|
||||||
|
- values.yaml=values.yaml
|
||||||
|
configurations:
|
||||||
|
- kustomizeconfig.yaml
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
nameReference:
|
||||||
|
- kind: Secret
|
||||||
|
version: v1
|
||||||
|
fieldSpecs:
|
||||||
|
- path: spec/valuesFrom/name
|
||||||
|
kind: HelmRelease
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: obsidian-livesync
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: obsidian-livesync
|
||||||
|
app.kubernetes.io/component: couchdb
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: obsidian-livesync
|
||||||
|
namespace: obsidian-livesync
|
||||||
|
spec:
|
||||||
|
interval: 1m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: couchdb
|
||||||
|
namespace: obsidian-livesync
|
||||||
|
chart: couchdb
|
||||||
|
version: "4.6.3"
|
||||||
|
interval: 1m
|
||||||
|
valuesFrom:
|
||||||
|
- kind: Secret
|
||||||
|
name: obsidian-livesync-values
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: couchdb
|
||||||
|
namespace: obsidian-livesync
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
url: https://apache.github.io/couchdb-helm/
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
# CouchDB for Obsidian LiveSync
|
||||||
|
# Single-node deployment with CORS configured for Obsidian plugin compatibility
|
||||||
|
clusterSize: 1
|
||||||
|
allowAdminParty: false
|
||||||
|
createAdminSecret: ENC[AES256_GCM,data:lWidwA==,iv:l31gazOZLrbCGCVg8ruT/nsNskSFPqJ8ZPmoZVGCSVU=,tag:dCAQhNlKQfl6SUTMyK+Dag==,type:bool]
|
||||||
|
adminUsername: obsidian
|
||||||
|
adminPassword: ENC[AES256_GCM,data:eGewMnDabPeSOBeIA5U=,iv:JpED4MpIRNfG5NdWAYW4pixwl9IoxZja3wz/zPbOgZs=,tag:FsO6A9WR4D+UdBfVd+UViw==,type:str]
|
||||||
|
image:
|
||||||
|
repository: couchdb
|
||||||
|
tag: 3.5.2
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# Enable CORS for Obsidian LiveSync plugin
|
||||||
|
# Equivalent to the Traefik CORS middleware in the Docker setup,
|
||||||
|
# but handled natively by CouchDB (cleaner and more reliable)
|
||||||
|
couchdbConfig:
|
||||||
|
chttpd:
|
||||||
|
bind_address: any
|
||||||
|
require_valid_user: false
|
||||||
|
httpd:
|
||||||
|
enable_cors: "true"
|
||||||
|
cors:
|
||||||
|
credentials: "true"
|
||||||
|
origins: app://obsidian.md,capacitor://localhost,http://localhost
|
||||||
|
headers: accept,authorization,content-type,origin,referer
|
||||||
|
methods: GET,PUT,POST,HEAD,DELETE
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
storageClass: longhorn
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: traefik
|
||||||
|
hosts:
|
||||||
|
- host: obsidian-livesync.lan
|
||||||
|
path: /
|
||||||
|
annotations: {}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
sops:
|
||||||
|
lastmodified: "2026-08-16T20:13:44Z"
|
||||||
|
mac: ENC[AES256_GCM,data:JSyVuN5cDYDBeG8bwbh638OmWtRnxq6Bhv56H0zm89YltsDawNCdJCl4n6fsbwRINpvciwBzq8meKMBWzT7AyxzbmW+MVGVWN0tngndaykbcdLmd1Q0zXrCQZ2DHOAntHuamqpOAgqsdFRdHq/X27vz4hDxUf6cldFYKbbbIdo8=,iv:Tu7+WVI7bdpvav7X5KH7Uy2/Jeowp5InNFq/7LNgvm0=,tag:LnoV9jJV+ObR6RwWLf75Tw==,type:str]
|
||||||
|
pgp:
|
||||||
|
- created_at: "2026-08-16T20:13:44Z"
|
||||||
|
enc: |-
|
||||||
|
-----BEGIN PGP MESSAGE-----
|
||||||
|
|
||||||
|
hQIMA7uy4qQr71wiAQ/9Ev+q8m2Tnrb1Htu4H40erWgPazfhHYPb3X1uh3fmKz5R
|
||||||
|
GprOjYCdRi9vRrb0Sgph5kXPaikxMBtmyTUqg4nXUowR+JL0yXZHHqLQX3n5MsHm
|
||||||
|
s7jETzGIcsJFr7JusBeAkkU/ygpydedfXlQmPy4Fu1kzAyae8DoDRL1TH1czYhMY
|
||||||
|
bdb+lE0HvuRDCrUKxRjsXs4U01+aRry/wTEpJE+YPFcIKxF87EZpYi77eRBurxbY
|
||||||
|
oiuF0A+Foe+vvQNsWUW9PoGAVzKM1gQsmjdCZPv0h30C/EB+g1zOJkY6Y1XZHzqu
|
||||||
|
JI1HXwyglwdK7wmIZmN042+pgQV7Gf0e9RKK6XdzkyVHvtPERDRCB95orLf5XGW8
|
||||||
|
BAxjQ8V7jAnLQe+rgpI+Y0dWjTWKdk8osta0KDxKGOdETKe5QgipS0WHkrlUK/J2
|
||||||
|
Ce4yDP0nhxzNY+FJLyBK9azI1WO7h41yXAcMGg1oPThwj/aoWbUGgeZc+X0kSXON
|
||||||
|
dPH4IAu/NpSfj2ivSEXmZ1+nx9LcmZEUkLh0tMeFsYJVxzhqlsM4FnA8o8i/buGe
|
||||||
|
Ey9Ltw+HLMnt8lbpoKl8BLEqdPShWSmxT178xXYtAoHAupBDukN766wOhTxHy8kc
|
||||||
|
70+g9tTEWu23A8qtByeqeQXP07Ya8SlcD+cR7aozcB6oWFXavm0Ayg6tvuyPL83S
|
||||||
|
XgHNnji+qpYfuhVocvQXYB8S7IBCiSXNFFU9sjU8HpXgmRgSXv4eymyzJKXeJN82
|
||||||
|
yJumYHpAMjtTqa4jb2etV04hrVZz73NPxJ3oTHVoaH+cRr+0hDFXAfBqhmgikaI=
|
||||||
|
=5B2o
|
||||||
|
-----END PGP MESSAGE-----
|
||||||
|
fp: DC6910268E657FF70BA7EC289974494E76938DDC
|
||||||
|
encrypted_regex: ^(password|value|ssh-key|api-key|user|username|privateKey|clientSecret|clientId|apiKey|extraArgs.*|.*Secret.*|extraEnvVars|.*SECRET.*|.*secret.*|key|.*Password|.*PASS|.*SOCIALACCOUNT_PROVIDERS|.*\.ya?ml)$
|
||||||
|
version: 3.10.2
|
||||||
@@ -53,7 +53,6 @@ data:
|
|||||||
jellyseerr IN A 10.1.2.212
|
jellyseerr IN A 10.1.2.212
|
||||||
mqtt IN A 10.1.2.212
|
mqtt IN A 10.1.2.212
|
||||||
n8n IN A 10.1.2.212
|
n8n IN A 10.1.2.212
|
||||||
obsidian-livesync IN A 10.1.2.212
|
|
||||||
proxy IN A 10.1.2.212
|
proxy IN A 10.1.2.212
|
||||||
radarr IN A 10.1.2.212
|
radarr IN A 10.1.2.212
|
||||||
radicale IN A 10.1.2.212
|
radicale IN A 10.1.2.212
|
||||||
|
|||||||
Reference in New Issue
Block a user