This commit is contained in:
Morten Olsen
2025-09-05 14:43:24 +02:00
parent 42cc50948d
commit eae83bf0dd
5 changed files with 67 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
apiVersion: v2
version: 1.0.0
name: monitoring

View File

@@ -0,0 +1,38 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: '{{ .Release.Name }}'
spec:
interval: 1h
url: https://helm.goharbor.io
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: '{{ .Release.Name }}'
spec:
chart:
spec:
chart: harbor
reconcileStrategy: ChartVersion
sourceRef:
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
name: '{{ .Release.Name }}'
namespace: '{{ .Release.Namespace }}'
interval: 1h
values:
persistence:
persistentVolumeClaim:
registry:
storageClass: '{{ .Values.globals.environment }}'
jobservice:
jobLog:
storageClass: '{{ .Values.globals.environment }}'
database:
storageClass: '{{ .Values.globals.environment }}'
redis:
storageClass: '{{ .Values.globals.environment }}'
trivy:
storageClass: '{{ .Values.globals.environment }}'

View File

@@ -0,0 +1,11 @@
apiVersion: homelab.mortenolsen.pro/v1
kind: HttpService
metadata:
name: '{{ .Release.Name }}'
spec:
environment: '{{ .Values.globals.environment }}'
subdomain: '{{ .Values.subdomain }}'
destination:
host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local'
port:
number: 80

View File

@@ -0,0 +1,3 @@
globals:
environment: prod
subdomain: harbor

View File

@@ -4,6 +4,7 @@ import { StorageClass } from '../storage-class/storage-class.ts';
import { PersistentVolume } from '../pv/pv.ts';
import { Resource, ResourceService, type ResourceOptions } from '#services/resources/resources.ts';
import { chmod, mkdir } from 'fs/promises';
const PROVISIONER = 'homelab-operator';
@@ -41,6 +42,12 @@ class PVC extends Resource<V1PersistentVolumeClaim> {
const resourceService = this.services.get(ResourceService);
const pv = resourceService.get(PersistentVolume, pvName);
try {
await mkdir(target, { recursive: true });
} catch (error) {
console.error('Error creating directory', error);
}
await pv.ensure({
metadata: {
name: pvName,
@@ -74,6 +81,11 @@ class PVC extends Resource<V1PersistentVolumeClaim> {
},
},
});
try {
await chmod(target, 0o777);
} catch (error) {
console.error('Error changing directory permissions', error);
}
};
}