From dce990bc63a1ce0e623fe59949df8f3ee7d68166 Mon Sep 17 00:00:00 2001 From: Joseph Hanson Date: Wed, 30 Oct 2024 11:35:16 -0500 Subject: [PATCH] add morphos --- kubernetes/apps/default/kustomization.yaml | 1 + .../apps/default/morphos/app/helmrelease.yaml | 87 +++++++++++++++++++ .../default/morphos/app/kustomization.yaml | 7 ++ kubernetes/apps/default/morphos/ks.yaml | 23 +++++ 4 files changed, 118 insertions(+) create mode 100644 kubernetes/apps/default/morphos/app/helmrelease.yaml create mode 100644 kubernetes/apps/default/morphos/app/kustomization.yaml create mode 100644 kubernetes/apps/default/morphos/ks.yaml diff --git a/kubernetes/apps/default/kustomization.yaml b/kubernetes/apps/default/kustomization.yaml index 0631b973..4841e8a2 100644 --- a/kubernetes/apps/default/kustomization.yaml +++ b/kubernetes/apps/default/kustomization.yaml @@ -13,6 +13,7 @@ resources: - ./it-tools/ks.yaml - ./linkwarden/ks.yaml - ./maintainerr/ks.yaml + - ./morphos/ks.yaml - ./omegabrr/ks.yaml - ./overseerr/ks.yaml - ./piped/ks.yaml diff --git a/kubernetes/apps/default/morphos/app/helmrelease.yaml b/kubernetes/apps/default/morphos/app/helmrelease.yaml new file mode 100644 index 00000000..50cc7ff4 --- /dev/null +++ b/kubernetes/apps/default/morphos/app/helmrelease.yaml @@ -0,0 +1,87 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: morphos +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 3.5.1 + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + install: + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + strategy: rollback + retries: 3 + values: + controllers: + morphos: + annotations: + reloader.stakater.com/auto: "true" + containers: + app: + image: + repository: ghcr.io/danvergara/morphos-server + tag: 0.6.0@sha256:3d6f64ef386cbb6a7c5d55526e1a69da2d3661a1996d757897e92bf4369088f5 + probes: + liveness: &probes + enabled: true + custom: true + spec: + httpGet: + path: /healthz + port: &port 8080 + initialDelaySeconds: 0 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + readiness: *probes + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: { drop: ["ALL"] } + resources: + requests: + cpu: 100m + limits: + memory: 2Gi + defaultPodOptions: + securityContext: + runAsNonRoot: true + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + fsGroupChangePolicy: OnRootMismatch + supplementalGroups: [10000] + seccompProfile: { type: RuntimeDefault } + service: + app: + controller: morphos + ports: + http: + port: *port + ingress: + app: + className: internal-nginx + hosts: + - host: &host "{{ .Release.Name }}.jahanson.tech" + paths: + - path: / + service: + identifier: app + port: http + tls: + - hosts: + - *host + persistence: + tmp: + type: emptyDir diff --git a/kubernetes/apps/default/morphos/app/kustomization.yaml b/kubernetes/apps/default/morphos/app/kustomization.yaml new file mode 100644 index 00000000..4843fbb8 --- /dev/null +++ b/kubernetes/apps/default/morphos/app/kustomization.yaml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml + - ../../../../templates/gatus/internal diff --git a/kubernetes/apps/default/morphos/ks.yaml b/kubernetes/apps/default/morphos/ks.yaml new file mode 100644 index 00000000..c4b178a8 --- /dev/null +++ b/kubernetes/apps/default/morphos/ks.yaml @@ -0,0 +1,23 @@ +--- +# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app morphos + namespace: flux-system +spec: + targetNamespace: default + commonMetadata: + labels: + app.kubernetes.io/name: *app + path: ./kubernetes/apps/default/morphos/app + prune: true + sourceRef: + kind: GitRepository + name: theshire + wait: false + interval: 30m + timeout: 5m + postBuild: + substitute: + APP: *app