diff --git a/bootstrap/helmrepositories/helmrepository-wikijs.yaml b/bootstrap/helmrepositories/helmrepository-wikijs.yaml new file mode 100644 index 0000000..21e025a --- /dev/null +++ b/bootstrap/helmrepositories/helmrepository-wikijs.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: wikijs + namespace: flux-system +spec: + interval: 15m + url: https://charts.js.wiki diff --git a/bootstrap/kustomizations/kustomization-wikijs.yaml b/bootstrap/kustomizations/kustomization-wikijs.yaml new file mode 100644 index 0000000..e6abaa7 --- /dev/null +++ b/bootstrap/kustomizations/kustomization-wikijs.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: wikijs + namespace: flux-system +spec: + interval: 15m + path: ./wikijs + prune: true # remove any elements later removed from the above path + timeout: 2m # if not set, this defaults to interval duration, which is 1h + sourceRef: + kind: GitRepository + name: flux-system + healthChecks: + - apiVersion: helm.toolkit.fluxcd.io/v2beta2 + kind: HelmRelease + name: wikijs + namespace: wikijs diff --git a/bootstrap/namespaces/namespace-wikijs.yaml b/bootstrap/namespaces/namespace-wikijs.yaml new file mode 100644 index 0000000..ba55e00 --- /dev/null +++ b/bootstrap/namespaces/namespace-wikijs.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: wikijs diff --git a/wikijs/dns-endpoint.yaml b/wikijs/dns-endpoint.yaml new file mode 100644 index 0000000..345ebae --- /dev/null +++ b/wikijs/dns-endpoint.yaml @@ -0,0 +1,12 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: wiki.michaelthomson.dev + namespace: wikijs +spec: + endpoints: + - dnsName: wiki.michaelthomson.dev + recordTTL: 180 + recordType: CNAME + targets: + - server.michaelthomson.dev diff --git a/wikijs/helmrelease-wikijs.yaml b/wikijs/helmrelease-wikijs.yaml new file mode 100644 index 0000000..f38fcd8 --- /dev/null +++ b/wikijs/helmrelease-wikijs.yaml @@ -0,0 +1,38 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: wikijs + namespace: wikijs +spec: + chart: + spec: + chart: wikijs + version: 2.x + sourceRef: + kind: HelmRepository + name: wikijs + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: wikijs + values: + ingress: + enabled: true + className: "" + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + hosts: + - host: wiki.michaelthomson.dev + paths: + - path: "/" + pathType: Prefix + + tls: + - hosts: + - wiki.michaelthomson.dev + secretName: letsencrypt-wildcard-cert-michaelthomson.dev + + postgresql: + persistence: + size: 8Gi