Compare commits
23 Commits
ecd37c7793
...
app/dokuwi
| Author | SHA1 | Date | |
|---|---|---|---|
| c796aacfec | |||
| 17dcd78a31 | |||
| 16d9f1df34 | |||
| 91a305117c | |||
| 62b8ddb6c7 | |||
| a44781a4c7 | |||
| 3e80270ec9 | |||
| d1c71b22af | |||
| 26727e23cd | |||
| 4324087ecb | |||
| 1f86ec4702 | |||
| 8fc1165cc0 | |||
| 72be4562ec | |||
| cd4269e485 | |||
| 55856e8a15 | |||
| ea6032d2fa | |||
| f4eb314c46 | |||
| 46515bdc6d | |||
|
|
a3d1fcd6cd | ||
| 0f014ec66d | |||
| 0581b3cb40 | |||
| d3e62ef96a | |||
| 3b5db030ee |
31
kubernetes/apps/dokuwiki/app/ingress.yaml
Normal file
31
kubernetes/apps/dokuwiki/app/ingress.yaml
Normal 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
|
||||
34
kubernetes/apps/dokuwiki/app/release.yaml
Normal file
34
kubernetes/apps/dokuwiki/app/release.yaml
Normal 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
|
||||
46
kubernetes/apps/dokuwiki/app/volume.yaml
Normal file
46
kubernetes/apps/dokuwiki/app/volume.yaml
Normal 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
|
||||
46
kubernetes/apps/dokuwiki/dokuwiki.yaml
Normal file
46
kubernetes/apps/dokuwiki/dokuwiki.yaml
Normal 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
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
38
kubernetes/apps/nexus/app/deployment.yaml
Normal file
38
kubernetes/apps/nexus/app/deployment.yaml
Normal 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
|
||||
17
kubernetes/apps/nexus/app/service.yaml
Normal file
17
kubernetes/apps/nexus/app/service.yaml
Normal 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
|
||||
15
kubernetes/apps/nexus/nexus.yaml
Normal file
15
kubernetes/apps/nexus/nexus.yaml
Normal 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
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: dokuwiki
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: nexus
|
||||
40
renovate.json
Normal file
40
renovate.json
Normal 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"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user