Skip to content

Commit d116af0

Browse files
add radicale
1 parent 83028d3 commit d116af0

File tree

5 files changed

+157
-0
lines changed

5 files changed

+157
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
apiVersion: v1
3+
data:
4+
config: |+
5+
# -*- mode: conf -*-
6+
# vim:ft=cfg
7+
[server]
8+
# CalDAV server hostnames separated by a comma
9+
# IPv4 syntax: address:port
10+
# IPv6 syntax: [address]:port
11+
# For example: 0.0.0.0:9999, [::]:9999
12+
#hosts = localhost:5232
13+
hosts = 0.0.0.0:5232
14+
[encoding]
15+
# Encoding for responding requests
16+
request = utf-8
17+
# Encoding for storing local collections
18+
stock = utf-8
19+
[auth]
20+
# bcrypt requires the installation of radicale[bcrypt].
21+
htpasswd_encryption = bcrypt
22+
# Incorrect authentication delay (seconds)
23+
delay = 2
24+
# Message displayed in the client when a password is needed
25+
#realm = Radicale - Password Required
26+
[rights]
27+
# File for rights management from_file
28+
#file = /etc/radicale/rights
29+
[storage]
30+
type = multifilesystem
31+
# Folder for storing local collections, created if not present
32+
filesystem_folder = /data/collections
33+
# Delete sync token that are older (seconds)
34+
#max_sync_token_age = 2592000
35+
# Command that is run after changes to storage
36+
# Example: ([ -d .git ] || git init) && git add -A && (git diff --cached --quiet || git commit -m "Changes by "%(user)s)
37+
#hook =
38+
[web]
39+
# Web interface backend
40+
type = internal
41+
[logging]
42+
level = info
43+
# Don't include passwords in logs
44+
mask_passwords = True
45+
[headers]
46+
# Additional HTTP headers
47+
#Access-Control-Allow-Origin = *
48+
kind: ConfigMap
49+
metadata:
50+
name: radicale
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
apiVersion: "external-secrets.io/v1beta1"
3+
kind: "ExternalSecret"
4+
metadata:
5+
name: "radicale-restic-pvc"
6+
spec:
7+
refreshInterval: "1h"
8+
secretStoreRef:
9+
name: "vault"
10+
kind: "ClusterSecretStore"
11+
target:
12+
name: "radicale-restic-pvc"
13+
creationPolicy: "Owner"
14+
data:
15+
- secretKey: "AWS_ACCESS_KEY_ID"
16+
remoteRef:
17+
key: "secret/soeren.cloud/env/prod/restic/radicale/aws-credentials"
18+
property: "AWS_ACCESS_KEY_ID"
19+
- secretKey: "AWS_SECRET_ACCESS_KEY"
20+
remoteRef:
21+
key: "secret/soeren.cloud/env/prod/restic/radicale/aws-credentials"
22+
property: "AWS_SECRET_ACCESS_KEY"
23+
- secretKey: "RESTIC_PASSWORD"
24+
remoteRef:
25+
key: "secret/soeren.cloud/env/prod/restic/radicale/restic"
26+
property: "pass"
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
apiVersion: "external-secrets.io/v1beta1"
3+
kind: "ExternalSecret"
4+
metadata:
5+
name: "radicale"
6+
spec:
7+
refreshInterval: "1h"
8+
secretStoreRef:
9+
name: "vault"
10+
kind: "ClusterSecretStore"
11+
target:
12+
name: "radicale"
13+
creationPolicy: "Owner"
14+
data:
15+
- secretKey: "RADICALE_USERS"
16+
remoteRef:
17+
key: "secret/soeren.cloud/env/prod/radicale"
18+
property: "RADICALE_USERS"
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
namespace: radicale
5+
resources:
6+
- namespace.yaml
7+
- config-cm.yaml
8+
- external-secret-radicale.yaml
9+
- external-secret-radicale-restic.yaml
10+
- ../../../../apps/radicale
11+
components:
12+
- ../../../../apps/radicale/components/istio
13+
- ../../../../apps/radicale/components/istio-proxy
14+
- ../../../../apps/radicale/components/pvc
15+
patches:
16+
- target:
17+
kind: VirtualService
18+
name: radicale
19+
patch: |-
20+
- op: "replace"
21+
path: "/spec/hosts"
22+
value:
23+
- "radicale.svc.dd.soeren.cloud"
24+
- target:
25+
kind: Deployment
26+
name: radicale
27+
patch: |-
28+
- op: add
29+
path: /spec/template/spec/priorityClassName
30+
value: prod-default-prio
31+
- op: add
32+
path: /spec/template/spec/containers/0/volumeMounts/-
33+
value:
34+
name: config
35+
mountPath: /config
36+
- op: add
37+
path: /spec/template/spec/volumes/-
38+
value:
39+
name: config
40+
configMap:
41+
name: radicale
42+
- op: add
43+
path: /spec/template/spec/containers/0/volumeMounts/-
44+
value:
45+
name: users
46+
mountPath: /etc/radicale/users
47+
subPath: users
48+
- op: add
49+
path: /spec/template/spec/volumes/-
50+
value:
51+
name: users
52+
secret:
53+
secretName: radicale
54+
items:
55+
- key: RADICALE_USERS
56+
path: users
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
kind: Namespace
3+
apiVersion: v1
4+
metadata:
5+
name: radicale
6+
labels:
7+
name: radicale

0 commit comments

Comments
 (0)