migrate reservoir

This commit is contained in:
Morten Olsen
2026-01-02 13:37:22 +01:00
parent f203b6e4cd
commit 1a3c04df57
6 changed files with 48 additions and 82 deletions

View File

@@ -1,3 +1,7 @@
apiVersion: v2 apiVersion: v2
version: 1.0.0 version: 1.0.0
name: reservoir name: reservoir
dependencies:
- name: common
version: 1.0.0
repository: file://../../common

View File

@@ -1,6 +1 @@
apiVersion: homelab.mortenolsen.pro/v1 {{ include "common.database" . }}
kind: PostgresDatabase
metadata:
name: '{{ .Release.Name }}'
spec:
environment: '{{ .Values.globals.environment }}'

View File

@@ -1,41 +1 @@
apiVersion: apps/v1 {{ include "common.deployment" . }}
kind: Deployment
metadata:
name: "{{ .Release.Name }}"
spec:
strategy:
type: RollingUpdate
replicas: 1
revisionHistoryLimit: 0
selector:
matchLabels:
app: "{{ .Release.Name }}"
template:
metadata:
labels:
app: "{{ .Release.Name }}"
spec:
containers:
- name: "{{ .Release.Name }}"
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: "{{ .Values.image.pullPolicy }}"
ports:
- name: http
containerPort: 9111
protocol: TCP
livenessProbe:
tcpSocket:
port: http
readinessProbe:
tcpSocket:
port: http
env:
- name: TZ
value: "{{ .Values.globals.timezone }}"
- name: DB_CLIENT
value: pg
- name: DB_URL
valueFrom:
secretKeyRef:
name: "{{ .Release.Name }}-pg-connection"
key: url

View File

@@ -1,16 +1 @@
apiVersion: v1 {{ include "common.service" . }}
kind: Service
metadata:
name: "{{ .Release.Name }}"
labels:
app: "{{ .Release.Name }}"
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 9111
protocol: TCP
name: http
selector:
app: "{{ .Release.Name }}"

View File

@@ -1,19 +1 @@
apiVersion: networking.istio.io/v1 {{ include "common.virtualService" . }}
kind: VirtualService
metadata:
name: "{{ .Release.Name }}-private"
namespace: "{{ .Release.Namespace }}"
spec:
gateways:
- "{{ .Values.globals.istio.gateways.private }}"
- mesh
hosts:
- "{{ .Values.subdomain }}.{{ .Values.globals.domain }}"
- mesh
http:
- route:
- destination:
host: "{{ .Release.Name }}"
port:
number: 80

View File

@@ -2,4 +2,44 @@ image:
repository: ghcr.io/morten-olsen/reservoir repository: ghcr.io/morten-olsen/reservoir
tag: main@sha256:8b5b91771ec4b66d725fcd29adc8cf40e280a0533dbb757db27c429afc272d39 tag: main@sha256:8b5b91771ec4b66d725fcd29adc8cf40e280a0533dbb757db27c429afc272d39
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
subdomain: reservoir subdomain: reservoir
# Deployment configuration
deployment:
strategy: RollingUpdate
replicas: 1
# Container configuration
container:
port: 9111
healthProbe:
type: tcpSocket
port: http # Use named port
# Service configuration
service:
port: 80
type: ClusterIP
# VirtualService configuration
virtualService:
enabled: true
gateways:
public: false
private: true
# Database configuration
database:
enabled: true
# Environment variables
env:
TZ:
value: "{timezone}"
DB_CLIENT: pg
DB_URL:
valueFrom:
secretKeyRef:
name: "{release}-connection"
key: url