feat(digital-garden): Added digital garden deployment

This commit is contained in:
Daniël Groothuis
2025-10-31 17:01:55 +01:00
parent b3753b3400
commit 630efbeaaf
9 changed files with 138 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: digital-garden
spec:
description: My digital garden
sourceRepos:
- '*'
sourceNamespaces:
- '*'
destinations:
- namespace: 'digital-garden'
server: '*'
clusterResourceWhitelist:
- group: '*'
kind: '*'

View File

@@ -0,0 +1,24 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: digital-garden
namespace: digital-garden
labels:
platform.dgse.cloud/cluster: artemis
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: digital-garden
source:
repoURL: 'https://git.dgse.cloud/DGSE/kubernetes.git'
path: manifests/artemis/digital-garden
targetRevision: main
destination:
namespace: digital-garden
name: in-cluster
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
prune: true
selfHeal: true

View File

@@ -0,0 +1,7 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- app-project.yaml
- application.yaml

View File

@@ -16,3 +16,4 @@ resources:
- ntfy
- penpot
- immich
- digital-garden

View File

@@ -0,0 +1,21 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: digital-garden
spec:
replicas: 1
selector:
matchLabels:
app: digital-garden
template:
metadata:
labels:
app: digital-garden
spec:
containers:
- name: digital-garden
image: 'git.dgse.cloud/dgroothuis/garden:latest'
ports:
- containerPort: 8080
imagePullSecrets:
- name: regcred

View File

@@ -0,0 +1,23 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: digital-garden-ingress
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
rules:
- host: www.groothuis.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: digital-garden-svc
port:
number: 8080
tls:
- hosts:
- groothuis.io
- www.groothuis.io
secretName: letsencrypt

View File

@@ -0,0 +1,9 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- service.yaml
- ingress.yaml
- www-redirect.yaml
- deployment.yaml

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: digital-garden-svc
spec:
selector:
app: digital-garden
ports:
- protocol: TCP
port: 8080
targetPort: 8080

View File

@@ -0,0 +1,25 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: digital-garden-www-redirect
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`groothuis.io`)
middlewares:
- name: redirect-to-www
services:
- kind: TraefikService
name: noop@internal
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: redirect-to-www
spec:
redirectRegex:
permanent: true
regex: "^https?://(?:www\\.)?(.+)"
replacement: "https://www.${1}"