23 Commits

Author SHA1 Message Date
c796aacfec Update app name 2024-06-26 01:15:57 +10:00
17dcd78a31 update container ports 2024-06-26 01:11:41 +10:00
16d9f1df34 using ClusterIP with ingress instead of NodePort 2024-06-26 00:59:06 +10:00
91a305117c add app dokuwiki 2024-06-26 00:50:00 +10:00
62b8ddb6c7 Merge pull request #316 from 3dwardch3ng/app/nexus
remove unneeded nexus ingress
2024-06-25 20:58:19 +10:00
a44781a4c7 remove unneeded nexus ingress 2024-06-25 20:57:50 +10:00
3e80270ec9 Merge pull request #315 from 3dwardch3ng/app/nexus
run docker as root user
2024-06-25 20:18:24 +10:00
d1c71b22af run docker as root user 2024-06-25 20:18:04 +10:00
26727e23cd Merge pull request #314 from 3dwardch3ng/app/nexus
update image
2024-06-25 20:01:17 +10:00
4324087ecb update image 2024-06-25 20:00:52 +10:00
1f86ec4702 Merge pull request #313 from 3dwardch3ng/app/nexus
App/nexus
2024-06-25 19:39:52 +10:00
8fc1165cc0 add app nexus 2024-06-25 19:39:32 +10:00
72be4562ec add app nexus 2024-06-25 19:39:10 +10:00
cd4269e485 Merge pull request #312 from 3dwardch3ng/infra/renovate
update gitea ingress configs
2024-06-25 19:12:07 +10:00
55856e8a15 update gitea ingress configs 2024-06-25 19:11:40 +10:00
ea6032d2fa Merge pull request #311 from 3dwardch3ng/infra/renovate
infra/renovate
2024-06-25 19:00:20 +10:00
f4eb314c46 update renovate configs 2024-06-25 18:59:26 +10:00
46515bdc6d Merge pull request #310 from 3dwardch3ng/renovate/configure
chore: Configure Renovate
2024-06-25 18:44:46 +10:00
renovate[bot]
a3d1fcd6cd chore(deps): add renovate.json 2024-06-25 08:41:20 +00:00
0f014ec66d Merge pull request #309 from 3dwardch3ng/app/gitea
update ingress service name
2024-06-25 18:29:21 +10:00
0581b3cb40 Merge pull request #308 from 3dwardch3ng/app/gitea
update the probes for statability
2024-06-25 16:19:37 +10:00
d3e62ef96a Merge pull request #307 from 3dwardch3ng/app/gitea
update the updateStrategy to avoid the new deployment to be stuck as …
2024-06-25 16:03:37 +10:00
3b5db030ee Merge pull request #306 from 3dwardch3ng/app/gitea
update the probes for statability
2024-06-25 15:58:08 +10:00
12 changed files with 278 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dokuwiki-ingress
namespace: dokuwiki
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "dokuwiki.cluster.local"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: dokuwiki-dokuwiki
port:
number: 18000
- host: "dokuwiki.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: dokuwiki-dokuwiki
port:
number: 18000

View File

@@ -0,0 +1,34 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: dokuwiki
namespace: dokuwiki
spec:
targetNamespace: dokuwiki
chart:
spec:
chart: dokuwiki
sourceRef:
kind: HelmRepository
name: bitnami
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
dokuwikiUsername: ${username}
dokuwikiPassword: ${password}
dokuwikiEmail: ${email}
dokuwikiFullName: "Edward Cheng"
dokuwikiWikiName: My Doku Wiki
containerPorts:
http: 18000
https: 18443
persistence:
existingClaim: "dokuwiki-pvc"
service:
type: ClusterIP
ports:
http: 18000
https: 18443

View File

@@ -0,0 +1,46 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: dokuwiki-pv
namespace: dokuwiki
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 12Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/dokuwiki"
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: dokuwiki-pvc
namespace: dokuwiki
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: dokuwiki-pvc
namespace: dokuwiki
labels:
name: dokuwiki-pvc
spec:
storageClassName: local-path
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 12Gi

View File

@@ -0,0 +1,46 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: dokuwiki-secrets
namespace: dokuwiki
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
targetNamespace: dokuwiki
path: ./dokuwiki
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: home-cluster-ops-secrets
dependsOn:
- name: repositories
namespace: flux-system
decryption:
provider: sops
secretRef:
name: dokuwiki-sops-age
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: dokuwiki
namespace: dokuwiki
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/dokuwiki/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system
dependsOn:
- name: dokuwiki-secrets
namespace: dokuwiki
postBuild:
substituteFrom:
- kind: Secret
name: dokuwiki-secrets

View File

@@ -6,6 +6,7 @@ metadata:
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
spec:
ingressClassName: nginx
rules:

View File

@@ -5,10 +5,12 @@ resources:
- ./capacitor/capacitor.yaml
- ./cert-manager/cert-manager.yaml
- ./code-server/code-server.yaml
- ./dokuwiki/dokuwiki.yaml
- ./gitea/gitea.yaml
- ./homer/homer.yaml
- ./jellyfin/jellyfin.yaml
- ./kavita/kavita.yaml
- ./nexus/nexus.yaml
- ./podinfo/podinfo.yaml
- ./postgresql/postgresql.yaml
- ./qbittorrent/qbittorrent.yaml

View File

@@ -0,0 +1,38 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nexus
namespace: nexus
spec:
replicas: 1
selector:
matchLabels:
app: nexus
template:
metadata:
labels:
app: nexus
spec:
securityContext:
runAsUser: 0
runAsGroup: 0
containers:
- name: nexus
image: klo2k/nexus3:3.68.1-02
resources:
limits:
memory: "3Gi"
cpu: "500m"
requests:
memory: "2Gi"
cpu: "500m"
ports:
- containerPort: 8081
volumeMounts:
- name: nexus-data
mountPath: /nexus-data
volumes:
- name: nexus-data
hostPath:
path: /mnt/nfs/AppData/nexus
type: Directory

View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: nexus
namespace: nexus
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: /
prometheus.io/port: '8081'
spec:
selector:
app: nexus
type: NodePort
ports:
- port: 8081
targetPort: 8081
nodePort: 32000

View File

@@ -0,0 +1,15 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nexus
namespace: nexus
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/nexus/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: dokuwiki

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: nexus

40
renovate.json Normal file
View File

@@ -0,0 +1,40 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>3dwardch3ng/renovate-config"
],
"kubernetes": {
"fileMatch": ["\\.yaml$"]
},
"helm-values": {
"fileMatch": ["\\.yaml$"]
},
"flux": {
"fileMatch": ["\\.yaml$"]
},
"packageRules": [
{
"matchDatasources": ["helm"],
"commitMessageTopic": "{{depName}} Helm release"
},
{
"matchDatasources": ["github-releases"],
"matchPackageNames": ["k3s-io/k3s"],
"separateMinorPatch": true
},
{
"matchPackagePrefixes": ["ghcr.io/immich-app/"],
"groupName": "Immich"
},
{
"matchDatasources": ["github-tags"],
"matchPackageNames": ["bjw-s/helm-charts"],
"versioning": "regex:^(?<compatibility>.+)-(?<major>\\d+)\\.(?<minor>\\d+)\\.(?<patch>\\d+)$"
},
{
"matchDatasources": ["docker", "github-tags"],
"matchPackageNames": ["ghcr.io/fluxcd/flux-manifests", "fluxcd/flux2"],
"groupName": "fluxcd/flux2"
}
]
}