73 Commits

Author SHA1 Message Date
Renovate Bot
25e0f45a53 chore(deps): update helm release penpot to v0.34.0 2026-02-11 00:02:49 +00:00
Daniël Groothuis
9073ff9094 chore(osx): Added OSX container 2026-02-02 11:52:14 +01:00
Daniël Groothuis
52b3ee5eaa chore(osx): Added OSX container 2026-02-02 11:51:30 +01:00
Daniël Groothuis
078148732b chore(osx): Added OSX container 2026-02-02 11:47:26 +01:00
Daniël Groothuis
5a5caf45ee chore(osx): Added OSX container 2026-02-02 11:46:29 +01:00
Daniël Groothuis
2080d3d913 chore(osx): Added OSX container 2026-02-02 11:43:49 +01:00
Daniël Groothuis
797dc958d2 chore(osx): Added OSX container 2026-02-02 11:39:46 +01:00
bbfc8bbb27 Merge pull request 'chore(deps): update dependency argoproj/argo-cd to v3.2.6' (#35) from renovate/argoproj-argo-cd-3.x into main
Reviewed-on: #35
2026-01-24 16:00:25 +00:00
a5f0a6b081 Merge pull request 'chore(deps): update helm release penpot to v0.32.0' (#37) from renovate/penpot-0.x into main
Reviewed-on: #37
2026-01-24 15:58:56 +00:00
1bf0be751b Merge pull request 'chore(deps): update helm release gitea to v12.5.0' (#39) from renovate/gitea-12.x into main
Reviewed-on: #39
2026-01-24 15:55:26 +00:00
91ecd3b4c1 Update clusters/artemis/apps/kustomization.yaml 2026-01-24 15:46:50 +00:00
f5b3b5efe5 Update manifests/artemis/immich/volumeClaims.yaml 2026-01-24 15:42:58 +00:00
657c26e122 Update manifests/artemis/immich/values.yaml 2026-01-24 15:41:53 +00:00
49aa5f32f0 Update clusters/artemis/apps/external-secrets/application.yaml 2026-01-24 15:36:11 +00:00
a186c62acd Update manifests/artemis/mailu/kustomization.yaml 2026-01-24 15:14:42 +00:00
3818186562 Update manifests/artemis/mailu/kustomization.yaml 2026-01-24 15:12:53 +00:00
e2517be2b6 Update manifests/artemis/gitea/values.yaml 2026-01-24 15:07:09 +00:00
Renovate Bot
db123ab04f chore(deps): update helm release gitea to v12.5.0 2026-01-24 15:06:33 +00:00
Renovate Bot
2a206af9f6 chore(deps): update dependency argoproj/argo-cd to v3.2.6 2026-01-23 00:02:35 +00:00
Renovate Bot
1f12d004d7 chore(deps): update helm release penpot to v0.32.0 2026-01-07 21:39:10 +00:00
a9dc9a5cb7 Merge pull request 'chore(deps): update helm release external-secrets to v1' (#28) from renovate/external-secrets-1.x into main
Reviewed-on: #28
2025-12-22 09:36:51 +00:00
bbe1014a37 Merge pull request 'chore(deps): update actions/checkout action to v6' (#31) from renovate/actions-checkout-6.x into main
Reviewed-on: #31
2025-12-22 09:35:16 +00:00
8ffb57e1b7 Merge pull request 'chore(deps): update helm release penpot to v0.30.0' (#30) from renovate/penpot-0.x into main
Reviewed-on: #30
2025-12-22 09:32:41 +00:00
09961b68f9 Merge pull request 'chore(deps): update helm release immich to v0.10.3' (#29) from renovate/immich-0.x into main
Reviewed-on: #29
2025-12-22 09:03:04 +00:00
1352394ca5 Merge pull request 'chore(deps): update helm release mailu to v2.6.3' (#25) from renovate/mailu-2.x into main
Reviewed-on: #25
2025-12-22 08:53:36 +00:00
4fd96cf953 Merge pull request 'chore(deps): update dependency argoproj/argo-cd to v3.2.2' (#33) from renovate/argoproj-argo-cd-3.x into main
Reviewed-on: #33
2025-12-22 08:51:20 +00:00
Renovate Bot
680e0822a6 chore(deps): update helm release external-secrets to v1 2025-12-22 08:07:23 +00:00
Renovate Bot
3c0f9a713d chore(deps): update helm release mailu to v2.6.3 2025-12-22 08:07:11 +00:00
Renovate Bot
f9e156e522 chore(deps): update dependency argoproj/argo-cd to v3.2.2 2025-12-22 08:07:01 +00:00
Renovate Bot
5861f677a4 chore(deps): update actions/checkout action to v6 2025-11-21 00:01:59 +00:00
Renovate Bot
aa92ad14ef chore(deps): update helm release penpot to v0.30.0 2025-11-15 00:02:32 +00:00
Renovate Bot
fd2df98297 chore(deps): update helm release immich to v0.10.3 2025-11-15 00:02:27 +00:00
Daniël Groothuis
4a17940c9f chore(osx): Added OSX container 2025-11-11 17:37:01 +01:00
Daniël Groothuis
01c5b31cbb chore(osx): Added OSX container 2025-11-11 17:32:41 +01:00
Daniël Groothuis
83a0e6b8ee chore(mailu): Reverted rate limit 2025-11-10 15:10:25 +01:00
Daniël Groothuis
0e40fc2ca4 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 22:49:02 +01:00
Daniël Groothuis
36548f1ec5 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 22:47:10 +01:00
Daniël Groothuis
c8b5e32163 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 22:41:27 +01:00
Daniël Groothuis
14b0561828 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 22:40:44 +01:00
Daniël Groothuis
de8b6e0001 Merge remote-tracking branch 'origin/main' 2025-11-06 22:32:25 +01:00
Daniël Groothuis
e99d6cd772 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 22:32:12 +01:00
9201b1ddc1 Merge pull request 'chore(deps): update helm release nextcloud to v8.5.2' (#27) from renovate/nextcloud-8.x into main
Reviewed-on: #27
2025-11-06 21:08:08 +00:00
Daniël Groothuis
2b31072b1d chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 21:54:13 +01:00
Daniël Groothuis
3c9c55b4d3 chore(backstage): Added SA for backstage to ArgoCD 2025-11-06 21:14:36 +01:00
Renovate Bot
afae9ae15b chore(deps): update helm release nextcloud to v8.5.2 2025-11-06 00:02:42 +00:00
Daniël Groothuis
0eda7b4ad2 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:56:30 +01:00
Daniël Groothuis
e3587553d7 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:50:48 +01:00
Daniël Groothuis
4c5dd7ae3d chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:43:31 +01:00
Daniël Groothuis
ee3048f478 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:37:49 +01:00
Daniël Groothuis
179eb7a6dc chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:37:01 +01:00
Daniël Groothuis
b1103e3136 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:36:25 +01:00
Daniël Groothuis
2cedf7f2b9 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:34:21 +01:00
Daniël Groothuis
c1a59cb710 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:30:04 +01:00
Daniël Groothuis
845ba4ead0 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:28:46 +01:00
Daniël Groothuis
001138f965 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:28:03 +01:00
Daniël Groothuis
5391a06e24 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:24:09 +01:00
Daniël Groothuis
e7b62d426c chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:17:08 +01:00
Daniël Groothuis
a64bdf2ed0 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:14:17 +01:00
Daniël Groothuis
4f5acfc9a6 chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:13:31 +01:00
Daniël Groothuis
c4754ea41a chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 21:00:46 +01:00
Daniël Groothuis
134581bcce chore(backstage): Added SA for backstage to ArgoCD 2025-11-05 20:54:00 +01:00
Daniël Groothuis
3f3d99e8d0 chore(backstage): Updated catalogs 2025-11-05 20:35:40 +01:00
Daniël Groothuis
5e57066ccb chore(backstage): Updated catalogs 2025-11-05 20:34:39 +01:00
Daniël Groothuis
3e13ddb1cb feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 16:09:37 +01:00
Daniël Groothuis
16fcec670e feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:55:08 +01:00
Daniël Groothuis
c16d485a54 feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:52:37 +01:00
Daniël Groothuis
cf69895b68 feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:44:31 +01:00
Daniël Groothuis
e85a70957f feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:34:47 +01:00
Daniël Groothuis
82e626be39 feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:29:50 +01:00
Daniël Groothuis
aa4425cf19 feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:26:49 +01:00
Daniël Groothuis
06b192f780 feat(nextcloud): Added first draft for nextcloud deployment 2025-11-05 15:19:14 +01:00
7c2a40f2ac Merge pull request 'chore(deps): update dependency argoproj/argo-cd to v3.2.0' (#26) from renovate/argoproj-argo-cd-3.x into main
Reviewed-on: #26
2025-11-05 08:08:38 +00:00
Renovate Bot
c3068f9693 chore(deps): update dependency argoproj/argo-cd to v3.2.0 2025-11-05 00:02:07 +00:00
46 changed files with 477 additions and 352 deletions

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: 📥Checkout - name: 📥Checkout
uses: actions/checkout@v5 uses: actions/checkout@v6
- name: 🚀Validating the manifests - name: 🚀Validating the manifests
uses: frenck/action-yamllint@v1.5.0 uses: frenck/action-yamllint@v1.5.0
with: with:

26
catalog-info.yaml Normal file
View File

@@ -0,0 +1,26 @@
---
apiVersion: backstage.io/v1alpha1
kind: Domain
metadata:
name: dgse-cloud
description: "Infrastructure for DGSE Cloud services."
spec:
owner: dgse-cloud
---
apiVersion: backstage.io/v1alpha1
kind: Location
metadata:
name: artemis-cluster
description: A collection of all entities running on the Artemis cluster
spec:
targets:
- ./clusters/artemis/catalog.yaml
- ./clusters/artemis/apps/argocd/catalog.yaml
- ./clusters/artemis/apps/cnpg/catalog.yaml
- ./clusters/artemis/apps/digital-garden/catalog.yaml
- ./clusters/artemis/apps/external-secrets/catalog.yaml
- ./clusters/artemis/apps/gitea/catalog.yaml
- ./clusters/artemis/apps/gitea-runners/catalog.yaml
- ./clusters/artemis/apps/immich/catalog.yaml
- ./clusters/artemis/apps/mailu/catalog.yaml
- ./clusters/artemis/apps/nextcloud/catalog.yaml

View File

@@ -0,0 +1,18 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: argocd
description: "ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes."
links:
- url: https://cd.dgse.cloud
title: Dashboard
icon: dashboard
annotations:
argocd/app-name: argocd
argocd/app-namespace: argocd
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -0,0 +1,14 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: cnpg
description: "CloudNativePG is a Kubernetes operator that manages PostgreSQL databases in a cloud-native way."
annotations:
argocd/app-name: cnpg
argocd/app-namespace: cnpg-system
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -0,0 +1,18 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: digital-garden
description: "A collection of notes, essays, and other writing that is published on the web."
links:
- url: https://groothuis.io
title: Public Website
icon: web
annotations:
argocd/app-name: digital-garden
argocd/app-namespace: digital-garden
spec:
type: website
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -18,6 +18,7 @@ spec:
name: in-cluster name: in-cluster
syncPolicy: syncPolicy:
syncOptions: syncOptions:
- ServerSideApply=true
- CreateNamespace=true - CreateNamespace=true
automated: automated:
prune: true prune: true

View File

@@ -0,0 +1,14 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: external-secrets
description: "Vault Secrets Operator to sync secrets from Vault to Kubernetes"
annotations:
argocd/app-name: external-secrets
argocd/app-namespace: external-secrets
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -0,0 +1,16 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: gitea-runners
description: "Gitea Action Runners"
annotations:
argocd/app-name: gitea-runners
argocd/app-namespace: gitea-runners
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster
dependencyOf:
- component:gitea

View File

@@ -0,0 +1,20 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: gitea
description: "Self-hosted Git Server"
links:
- url: https://git.dgse.cloud
title: Git Server
icon: web
annotations:
argocd/app-name: gitea
argocd/app-namespace: gitea
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster
dependsOn:
- Component:gitea-runners

View File

@@ -0,0 +1,18 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: immich
description: "Self-hosted photo and video backup solution directly from your mobile phone."
links:
- url: https://photos.dgse.cloud
title: Git Server
icon: web
annotations:
argocd/app-name: immich
argocd/app-namespace: immich
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -2,15 +2,15 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: AppProject kind: AppProject
metadata: metadata:
name: kener name: kaneo
spec: spec:
description: Monitoring tool description: Project Management
sourceRepos: sourceRepos:
- '*' - '*'
sourceNamespaces: sourceNamespaces:
- '*' - '*'
destinations: destinations:
- namespace: 'kener' - namespace: 'kaneo'
server: '*' server: '*'
clusterResourceWhitelist: clusterResourceWhitelist:
- group: '*' - group: '*'

View File

@@ -1,20 +1,20 @@
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
metadata: metadata:
name: kener name: kaneo
namespace: kener namespace: kaneo
labels: labels:
platform.dgse.cloud/cluster: artemis platform.dgse.cloud/cluster: artemis
finalizers: finalizers:
- resources-finalizer.argocd.argoproj.io - resources-finalizer.argocd.argoproj.io
spec: spec:
project: kener project: kaneo
source: source:
repoURL: 'https://git.dgse.cloud/DGSE/kubernetes.git' repoURL: 'https://git.dgse.cloud/DGSE/kubernetes.git'
path: manifests/artemis/kener path: manifests/artemis/kaneo
targetRevision: main targetRevision: main
destination: destination:
namespace: kener namespace: kaneo
name: in-cluster name: in-cluster
syncPolicy: syncPolicy:
syncOptions: syncOptions:

View File

@@ -13,8 +13,7 @@ resources:
- pocket-id - pocket-id
- vaultwarden - vaultwarden
- mailu - mailu
- ntfy
- penpot - penpot
- immich - immich
- digital-garden - digital-garden
- nextcloud - kaneo

View File

@@ -0,0 +1,18 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: mailu
description: "Self-hosted mail server"
links:
- url: https://mail.dgse.cloud
title: Mail Server
icon: web
annotations:
argocd/app-name: mailu
argocd/app-namespace: mailu
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -0,0 +1,19 @@
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: nextcloud
description: "Self-hosted photo and video backup solution directly from your mobile phone."
links:
- url: https://nextcloud.dgse.cloud
title: Git Server
icon: web
annotations:
argocd/app-name: nextcloud
argocd/app-namespace: nextcloud
backstage.io/techdocs-ref: dir:.
spec:
type: service
lifecycle: production
owner: owners
system: artemis-cluster

View File

@@ -0,0 +1,9 @@
---
apiVersion: backstage.io/v1alpha1
kind: System
metadata:
name: artemis-cluster
description: "The Artemis cluster is a Kubernetes cluster hosting all infra for DGSE Cloud."
spec:
owner: owners
domain: dgse-cloud

1
docs/index.md Normal file
View File

@@ -0,0 +1 @@
# NextCloud

View File

@@ -0,0 +1,13 @@
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: backstage-argocd-server-access
subjects:
- kind: ServiceAccount
name: backstage-argocd
namespace: argocd
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: argocd-server

View File

@@ -0,0 +1,6 @@
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: backstage-argocd
namespace: argocd

View File

@@ -5,9 +5,11 @@ metadata:
name: argocd name: argocd
resources: resources:
- github.com/argoproj/argo-cd/manifests/cluster-install?ref=v3.1.9 - github.com/argoproj/argo-cd/manifests/cluster-install?ref=v3.2.6
- ingressRoute.yaml - ingressRoute.yaml
- certificate.yaml - certificate.yaml
- backstage-sa.yaml
- backstage-rbac.yaml
patches: patches:
- target: - target:
@@ -45,7 +47,9 @@ patches:
metadata: metadata:
name: argocd-cm name: argocd-cm
data: data:
admin.enabled: "false" accounts.admin: "apiKey, login"
accounts.backstage.enabled: "true"
admin.enabled: "true"
kustomize.buildOptions: --enable-helm kustomize.buildOptions: --enable-helm
url: https://cd.dgse.cloud url: https://cd.dgse.cloud
oidc.config: | oidc.config: |
@@ -118,3 +122,23 @@ patches:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: argocd-server name: argocd-server
# Map Backstage SA to Argo CD role:admin (full Argo CD permissions)
- target:
kind: ConfigMap
name: argocd-rbac-cm
patch: |-
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
data:
policy.csv: |
g, argocd_admins, role:admin
p, argocd_users, applications, list, *, allow
p, argocd_users, applications, sync, *, allow
p, argocd_users, applications, refresh, *, allow
p, argocd_users, applications, get, *, allow
g, system:serviceaccount:argocd:backstage-argocd, role:admin
p, system:serviceaccount:argocd:backstage-argocd, applications, *, */*, allow

View File

@@ -10,6 +10,6 @@ resources:
helmCharts: helmCharts:
- name: external-secrets - name: external-secrets
repo: https://charts.external-secrets.io/ repo: https://charts.external-secrets.io/
version: 0.20.4 version: 1.2.0
releaseName: external-secrets releaseName: external-secrets
namespace: external-secrets namespace: external-secrets

View File

@@ -7,7 +7,7 @@ metadata:
helmCharts: helmCharts:
- name: gitea - name: gitea
repo: https://dl.gitea.com/charts/ repo: https://dl.gitea.com/charts/
version: 12.4.0 version: 12.5.0
releaseName: gitea releaseName: gitea
namespace: gitea namespace: gitea
valuesFile: values.yaml valuesFile: values.yaml

View File

@@ -645,11 +645,11 @@ postgresql-ha:
password: changeme4 password: changeme4
resources: resources:
limits: limits:
cpu: 1000m cpu: 2000m
memory: 1Gi memory: 2Gi
requests: requests:
cpu: 750m cpu: 1500m
memory: 750Mi memory: 2Gi
## @param postgresql-ha.pgpool.adminPassword pgpool adminPassword ## @param postgresql-ha.pgpool.adminPassword pgpool adminPassword
## @param postgresql-ha.pgpool.image.repository Image repository, eg. `bitnamilegacy/pgpool`. ## @param postgresql-ha.pgpool.image.repository Image repository, eg. `bitnamilegacy/pgpool`.

View File

@@ -12,7 +12,7 @@ resources:
helmCharts: helmCharts:
- name: immich - name: immich
repo: https://immich-app.github.io/immich-charts repo: https://immich-app.github.io/immich-charts
version: 0.10.1 version: 0.10.3
releaseName: immich releaseName: immich
namespace: immich namespace: immich
valuesFile: values.yaml valuesFile: values.yaml

View File

@@ -94,7 +94,7 @@ server:
secretName: immich-tls secretName: immich-tls
machine-learning: machine-learning:
enabled: true enabled: false
controllers: controllers:
main: main:
containers: containers:

View File

@@ -1,15 +1,15 @@
--- # ---
apiVersion: v1 # apiVersion: v1
kind: PersistentVolumeClaim # kind: PersistentVolumeClaim
metadata: # metadata:
name: immich-ml-pvc # name: immich-ml-pvc
spec: # spec:
storageClassName: local-path # storageClassName: local-path
accessModes: # accessModes:
- ReadWriteOnce # - ReadWriteOnce
resources: # resources:
requests: # requests:
storage: 10Gi # storage: 10Gi
--- ---
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim

View File

@@ -0,0 +1,16 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: kaneo
#resources:
# - secret.yaml
helmCharts:
- name: charts/kaneo
repo: https://github.com/usekaneo/kaneo
version: 0.1.0
releaseName: kaneo
namespace: kaneo
valuesFile: values.yaml

View File

@@ -0,0 +1,183 @@
# Global values
nameOverride: ""
fullnameOverride: ""
replicaCount: 1
# Autoscaling configuration
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
# Pod configuration
podAnnotations: {}
podSecurityContext: {}
nodeSelector: {}
tolerations: []
affinity: {}
# Service account configuration
serviceAccount:
create: true
annotations: {}
name: ""
# PostgreSQL database configuration
postgresql:
# Set to true to deploy PostgreSQL as part of this chart
enabled: true
image:
repository: postgres
tag: 16-alpine
pullPolicy: IfNotPresent
# Database configuration
auth:
database: kaneo
username: kaneo_user
password: kaneo_password
# Use existing secret for database credentials (optional)
existingSecret: ""
secretKeys:
adminPasswordKey: postgres-password
userPasswordKey: password
# Persistence for PostgreSQL data
persistence:
enabled: true
size: 8Gi
storageClass: ""
accessMode: ReadWriteOnce
# PostgreSQL service configuration
service:
type: ClusterIP
port: 5432
# Resources for PostgreSQL
resources: {}
# resources:
# limits:
# cpu: 500m
# memory: 512Mi
# requests:
# cpu: 100m
# memory: 128Mi
# API backend configuration
api:
image:
repository: ghcr.io/usekaneo/api
tag: latest
pullPolicy: IfNotPresent
securityContext: {}
service:
type: ClusterIP
port: 1337
targetPort: 1337
# Resources are optional and disabled by default
resources: {}
# resources:
# limits:
# cpu: 500m
# memory: 512Mi
# requests:
# cpu: 100m
# memory: 128Mi
# Environment variables for the API
env:
jwtAccess: appelflap
existingSecret:
enabled: false
name: ""
key: jwt-access
disableRegistration: false
# Database configuration
database:
# Use external PostgreSQL (set postgresql.enabled to false)
# Important: when using external postgres, make sure you have set up the db user correctly:
# CREATE DATABASE kaneo;
# CREATE USER kaneo_user WITH PASSWORD 'your_password';
# GRANT ALL PRIVILEGES ON DATABASE kaneo TO kaneo_user;
# \c kaneo;
# GRANT USAGE ON SCHEMA public TO kaneo_user;
# GRANT CREATE ON SCHEMA public TO kaneo_user;
# ALTER SCHEMA public OWNER TO kaneo_user;
external:
enabled: false
host: ""
port: 5432
database: kaneo
username: kaneo_user
password: ""
# Use existing secret for external database credentials in the form of a uri, e.g.: "postgresql://user:pass@host:port/db"
existingSecret:
enabled: false
name: ""
passwordKey: postgres_uri
livenessProbe:
httpGet:
path: /me
port: api
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /me
port: api
initialDelaySeconds: 5
periodSeconds: 10
# Web frontend configuration
web:
image:
repository: ghcr.io/usekaneo/web
tag: latest
pullPolicy: IfNotPresent
# Environment variables for the Web
env:
# Optional: Override the default API URL (http://localhost:1337)
# The /api path will be automatically appended to the URL
# Make sure this url matches the ingress host
# apiUrl: "https://kaneo.example.com"
apiUrl: ""
securityContext: {}
service:
type: ClusterIP
port: 80
targetPort: 80
# Resources are optional and disabled by default
resources: {}
# resources:
# limits:
# cpu: 300m
# memory: 256Mi
# requests:
# cpu: 100m
# memory: 128Mi
livenessProbe:
httpGet:
path: /
port: web
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /
port: web
initialDelaySeconds: 5
periodSeconds: 10
# Ingress configuration
ingress:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt
hosts:
# Use the same host in the web env variable apiUrl (with http:// or https://)
- host: projects.dgse.cloud
paths:
- path: /?(.*)
pathType: ImplementationSpecific
service: web
port: 80
- path: /api/?(.*)
pathType: ImplementationSpecific
service: api
port: 1337
tls:
- projects.dgse.cloud

View File

@@ -1,21 +0,0 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: kener-postgres
spec:
instances: 1
managed:
roles:
- name: kener
superuser: true
login: true
bootstrap:
initdb:
database: kener
owner: kener
secret:
name: kener-postgres-user
storage:
size: 4Gi
storageClass: local-path

View File

@@ -1,79 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: kener
spec:
selector:
matchLabels:
app: kener
template:
metadata:
labels:
app: kener
spec:
containers:
- name: kener
image: rajnandan1/kener:latest
ports:
- containerPort: 3000
name: http
volumeMounts:
- name: kener-uploads
mountPath: "/app/uploads"
env:
- name: ORIGIN
valueFrom:
secretKeyRef:
name: kener-secret
key: ORIGIN
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: kener-secret
key: DATABASE_URL
- name: KENER_SECRET_KEY
valueFrom:
secretKeyRef:
name: kener-secret
key: KENER_SECRET_KEY
- name: SMTP_HOST
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_HOST
- name: SMTP_PORT
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_PORT
- name: SMTP_USER
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_USER
- name: SMTP_PASS
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_PASS
- name: SMTP_SECURE
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_SECURE
- name: SMTP_FROM_EMAIL
valueFrom:
secretKeyRef:
name: kener-secret
key: SMTP_FROM_EMAIL
- name: TZ
valueFrom:
secretKeyRef:
name: kener-secret
key: TZ
volumes:
- name: kener-uploads
persistentVolumeClaim:
claimName: kener-pvc

View File

@@ -1,22 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt
name: kener-ingress
spec:
rules:
- host: monitor.dgse.cloud
http:
paths:
- backend:
service:
name: kener
port:
number: 3000
path: /
pathType: Prefix
tls:
- hosts:
- monitor.dgse.cloud
secretName: letsencrypt

View File

@@ -1,13 +0,0 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: kener
resources:
- secret.yaml
- db-cluster.yaml
- service.yaml
- pvc.yaml
- deployment.yaml
- ingress.yaml

View File

@@ -1,11 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kener-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi

View File

@@ -1,74 +0,0 @@
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: kener-secret
spec:
refreshInterval: 1h
secretStoreRef:
name: platform
kind: ClusterSecretStore
target:
name: kener-secret
data:
- secretKey: ORIGIN
remoteRef:
key: kener
property: ORIGIN
- secretKey: DATABASE_URL
remoteRef:
key: kener
property: DATABASE_URL
- secretKey: KENER_SECRET_KEY
remoteRef:
key: kener
property: KENER_SECRET_KEY
- secretKey: SMTP_HOST
remoteRef:
key: kener
property: SMTP_HOST
- secretKey: SMTP_PORT
remoteRef:
key: kener
property: SMTP_PORT
- secretKey: SMTP_USER
remoteRef:
key: kener
property: SMTP_USER
- secretKey: SMTP_PASS
remoteRef:
key: kener
property: SMTP_PASS
- secretKey: SMTP_SECURE
remoteRef:
key: kener
property: SMTP_SECURE
- secretKey: SMTP_FROM_EMAIL
remoteRef:
key: kener
property: SMTP_FROM_EMAIL
- secretKey: TZ
remoteRef:
key: kener
property: TZ
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: kener-postgres-user
spec:
refreshInterval: 1h
secretStoreRef:
name: platform
kind: ClusterSecretStore
target:
name: kener-postgres-user
data:
- secretKey: username
remoteRef:
key: kener
property: postgres_username
- secretKey: password
remoteRef:
key: kener
property: postgres_password

View File

@@ -1,12 +0,0 @@
---
apiVersion: v1
kind: Service
metadata:
name: kener
spec:
selector:
app: kener
ports:
- protocol: TCP
port: 3000
targetPort: 3000

View File

@@ -10,7 +10,7 @@ resources:
helmCharts: helmCharts:
- name: mailu - name: mailu
repo: https://mailu.github.io/helm-charts/ repo: https://mailu.github.io/helm-charts/
version: 2.1.2 version: 2.6.3
releaseName: mailu releaseName: mailu
namespace: mailu namespace: mailu
valuesFile: values.yaml valuesFile: values.yaml

View File

@@ -166,7 +166,7 @@ limits:
ipv6Mask: 56 ipv6Mask: 56
user: 100/day user: 100/day
exemptionLength: 86400 exemptionLength: 86400
exemption: "10.42.0.0/16" exemption: "10.42.4.105"
# Configuration to reduce outgoing spam in case of a compromised account. See the documentation for further information: https://mailu.io/1.9/configuration.html?highlight=MESSAGE_RATELIMIT # Configuration to reduce outgoing spam in case of a compromised account. See the documentation for further information: https://mailu.io/1.9/configuration.html?highlight=MESSAGE_RATELIMIT
## @param limits.messageRatelimit.value Sets the `MESSAGE_RATELIMIT` environment variable in the `admin` pod ## @param limits.messageRatelimit.value Sets the `MESSAGE_RATELIMIT` environment variable in the `admin` pod

View File

@@ -10,7 +10,7 @@ resources:
helmCharts: helmCharts:
- name: nextcloud - name: nextcloud
repo: https://nextcloud.github.io/helm/ repo: https://nextcloud.github.io/helm/
version: 8.5.1 version: 8.5.2
releaseName: nextcloud releaseName: nextcloud
namespace: nextcloud namespace: nextcloud
valuesFile: values.yaml valuesFile: values.yaml

View File

@@ -1,8 +0,0 @@
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: basic-auth
spec:
basicAuth:
secret: basic-auth

View File

@@ -1,12 +0,0 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: ntfy
data:
server.yml: |
# Template: https://github.com/binwiederhier/ntfy/blob/main/server/server.yml
base-url: https://notifications.dgse.cloud
enable-login: true
enable-signup: false
upstream-base-url: "https://ntfy.sh"

View File

@@ -1,33 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ntfy
spec:
selector:
matchLabels:
app: ntfy
template:
metadata:
labels:
app: ntfy
spec:
containers:
- name: ntfy
image: binwiederhier/ntfy
args: ["serve"]
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
name: http
volumeMounts:
- name: config
mountPath: "/etc/ntfy"
readOnly: true
volumes:
- name: config
configMap:
name: ntfy

View File

@@ -1,18 +0,0 @@
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: ntfy-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`notifications.dgse.cloud`)
kind: Rule
middlewares:
- name: basic-auth
services:
- name: ntfy
port: 80
tls:
secretName: letsencrypt

View File

@@ -1,12 +0,0 @@
---
# Basic service for port 80
apiVersion: v1
kind: Service
metadata:
name: ntfy
spec:
selector:
app: ntfy
ports:
- port: 80
targetPort: 80

View File

@@ -10,7 +10,7 @@ resources:
helmCharts: helmCharts:
- name: penpot - name: penpot
repo: http://helm.penpot.app repo: http://helm.penpot.app
version: 0.28.0 version: 0.34.0
releaseName: penpot releaseName: penpot
namespace: penpot namespace: penpot
valuesFile: values.yaml valuesFile: values.yaml

7
mkdocs.yaml Normal file
View File

@@ -0,0 +1,7 @@
---
site_name: "Nextcloud"
site_description: "Self-hosted file hosting service"
nav:
- Introduction: index.md
plugins:
- techdocs-core