Skip to content

Commit 576a39f

Browse files
committed
feat: Add Outline application resources and configurations
1 parent 1111b19 commit 576a39f

File tree

9 files changed

+165
-2
lines changed

9 files changed

+165
-2
lines changed

gitops/apps/kustomization.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ resources:
2323
- omni
2424
- tailscale
2525
- alarik
26-
- uptime-kuma
26+
- uptime-kuma
27+
- outline
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
resources:
5+
- namespace.yaml
6+
- outline-pvc.yaml
7+
- outline-db-helmrelease.yaml
8+
- outline-helmrepo.yaml
9+
- outline-helmrelease.yaml
10+
- outline-httproute.yaml

gitops/apps/outline/namespace.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: outline
6+
labels:
7+
name: outline
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
apiVersion: helm.toolkit.fluxcd.io/v2
3+
kind: HelmRelease
4+
metadata:
5+
name: outline-database
6+
namespace: flux-system
7+
labels:
8+
app: outline
9+
spec:
10+
interval: 10m
11+
timeout: 5m
12+
targetNamespace: n8n
13+
chart:
14+
spec:
15+
chart: cluster
16+
version: ">=0.0.10"
17+
sourceRef:
18+
kind: HelmRepository
19+
name: cnpg
20+
namespace: flux-system
21+
interval: 1m
22+
install:
23+
createNamespace: true
24+
remediation:
25+
retries: 3
26+
upgrade:
27+
remediation:
28+
retries: 3
29+
dependsOn:
30+
- name: cnpg
31+
namespace: flux-system
32+
values:
33+
type: postgresql
34+
mode: standalone
35+
version:
36+
postgresql: "18"
37+
cluster:
38+
instances: 1
39+
initdb:
40+
database: outline
41+
encoding: UTF8
42+
localeCType: C
43+
localeCollate: C
44+
owner: outline
45+
backups:
46+
enabled: false
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
apiVersion: helm.toolkit.fluxcd.io/v2
3+
kind: HelmRelease
4+
metadata:
5+
name: actual
6+
namespace: flux-system
7+
labels:
8+
app: actual
9+
spec:
10+
interval: 10m
11+
timeout: 5m
12+
targetNamespace: actual
13+
chart:
14+
spec:
15+
chart: actualbudget
16+
sourceRef:
17+
kind: HelmRepository
18+
name: actual
19+
namespace: flux-system
20+
interval: 5m0s
21+
install:
22+
createNamespace: true
23+
remediation:
24+
retries: 3
25+
upgrade:
26+
remediation:
27+
retries: 3
28+
values:
29+
smtp:
30+
host: "smtp-relay.gmail.com"
31+
port: 587
32+
username: "alessandro@kubespaces.io"
33+
fromEmail: "outline@kubespaces.io"
34+
replyEmail: "no-reply@kubespaces.io"
35+
existingSecret:
36+
name: "outline-smtp"
37+
passwordKey: "password"
38+
secure: true
39+
fileStorage:
40+
mode: "local"
41+
42+
local:
43+
persistence:
44+
enabled: true
45+
existingClaim: "outline-pvc"
46+
externalPostgresql:
47+
host: "outline-outline-database-cluster-rw"
48+
database: "outline"
49+
existingSecret: "outline-outline-database-cluster-app"
50+
passwordSecretKey: "password"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
apiVersion: source.toolkit.fluxcd.io/v1
3+
kind: HelmRepository
4+
metadata:
5+
name: outline
6+
namespace: flux-system
7+
spec:
8+
interval: 1h
9+
url: https://community-charts.github.io/helm-charts
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
apiVersion: gateway.networking.k8s.io/v1
3+
kind: HTTPRoute
4+
metadata:
5+
name: outline
6+
namespace: outline
7+
spec:
8+
parentRefs:
9+
- name: gateway
10+
namespace: istio-system
11+
sectionName: http # listener name on the Gateway
12+
hostnames:
13+
- "outline.vps.kubespaces.cloud" # Change this to your actual domain
14+
rules:
15+
- matches:
16+
- path:
17+
type: PathPrefix
18+
value: /
19+
backendRefs:
20+
- name: outline-outline-outline-outline
21+
port: 5006
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: v1
2+
kind: PersistentVolumeClaim
3+
metadata:
4+
name: outline-pvc
5+
namespace: outline
6+
spec:
7+
accessModes:
8+
- ReadWriteOnce
9+
storageClassName: local-path
10+
resources:
11+
requests:
12+
storage: 5Gi

ingress/traefik/dynamic.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,20 @@ http:
1818
# Each domain gets its own router so Traefik can request
1919
# individual certs dynamically when new domains are added.
2020
# To add a new domain: copy any router block, change the name and Host.
21+
outline:
22+
rule: "Host(`outline.vps.kubespaces.cloud`)"
23+
entryPoints: [websecure]
24+
service: backend-service
25+
tls:
26+
certResolver: letsencrypt
27+
2128
uptime:
2229
rule: "Host(`uptime.vps.kubespaces.cloud`)"
2330
entryPoints: [websecure]
2431
service: backend-service
2532
tls:
2633
certResolver: letsencrypt
27-
34+
2835
draw:
2936
rule: "Host(`draw.vps.kubespaces.cloud`)"
3037
entryPoints: [websecure]

0 commit comments

Comments
 (0)