From 29940766e4cf9e2e9f04d74ec6f2f6512a6ec2e2 Mon Sep 17 00:00:00 2001 From: Alex Lebens Date: Tue, 18 Feb 2025 20:41:54 -0600 Subject: [PATCH] add ollama --- .../platform/ollama/Chart.yaml | 0 .../ollama/templates/external-secret.yaml | 206 ++++++++++++++++++ .../ollama/templates/replication-source.yaml | 59 +++++ .../platform/ollama/templates/service.yaml | 0 .../platform/ollama/values.yaml | 8 +- .../ollama/templates/external-secret.yaml | 206 ------------------ .../ollama/templates/replication-source.yaml | 59 ----- 7 files changed, 269 insertions(+), 269 deletions(-) rename clusters/{standby => cl01tl}/platform/ollama/Chart.yaml (100%) create mode 100644 clusters/cl01tl/platform/ollama/templates/external-secret.yaml create mode 100644 clusters/cl01tl/platform/ollama/templates/replication-source.yaml rename clusters/{standby => cl01tl}/platform/ollama/templates/service.yaml (100%) rename clusters/{standby => cl01tl}/platform/ollama/values.yaml (98%) delete mode 100644 clusters/standby/platform/ollama/templates/external-secret.yaml delete mode 100644 clusters/standby/platform/ollama/templates/replication-source.yaml diff --git a/clusters/standby/platform/ollama/Chart.yaml b/clusters/cl01tl/platform/ollama/Chart.yaml similarity index 100% rename from clusters/standby/platform/ollama/Chart.yaml rename to clusters/cl01tl/platform/ollama/Chart.yaml diff --git a/clusters/cl01tl/platform/ollama/templates/external-secret.yaml b/clusters/cl01tl/platform/ollama/templates/external-secret.yaml new file mode 100644 index 000000000..59df6090b --- /dev/null +++ b/clusters/cl01tl/platform/ollama/templates/external-secret.yaml @@ -0,0 +1,206 @@ + +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: ollama-key-secret + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: ollama-key-secret + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: web + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: key + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /cl01tl/ollama/key + metadataPolicy: None + property: key + +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: ollama-oidc-secret + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: ollama-oidc-secret + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: auth + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: client + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /authentik/oidc/ollama + metadataPolicy: None + property: client + - secretKey: secret + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /authentik/oidc/ollama + metadataPolicy: None + property: secret + +# --- +# apiVersion: external-secrets.io/v1beta1 +# kind: ExternalSecret +# metadata: +# name: ollama-root-backup-secret +# namespace: {{ .Release.Namespace }} +# labels: +# app.kubernetes.io/name: ollama-root-backup-secret +# app.kubernetes.io/instance: {{ .Release.Name }} +# app.kubernetes.io/version: {{ .Chart.AppVersion }} +# app.kubernetes.io/component: backup +# app.kubernetes.io/part-of: {{ .Release.Name }} +# spec: +# secretStoreRef: +# kind: ClusterSecretStore +# name: vault +# target: +# template: +# mergePolicy: Merge +# engineVersion: v2 +# data: +# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-root" +# data: +# - secretKey: BUCKET_ENDPOINT +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: S3_BUCKET_ENDPOINT +# - secretKey: RESTIC_PASSWORD +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: RESTIC_PASSWORD +# - secretKey: AWS_DEFAULT_REGION +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: AWS_DEFAULT_REGION +# - secretKey: AWS_ACCESS_KEY_ID +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /digital-ocean/home-infra/volsync-backups +# metadataPolicy: None +# property: access_key +# - secretKey: AWS_SECRET_ACCESS_KEY +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /digital-ocean/home-infra/volsync-backups +# metadataPolicy: None +# property: secret_key + +# --- +# apiVersion: external-secrets.io/v1beta1 +# kind: ExternalSecret +# metadata: +# name: ollama-web-data-backup-secret +# namespace: {{ .Release.Namespace }} +# labels: +# app.kubernetes.io/name: ollama-web-data-backup-secret +# app.kubernetes.io/instance: {{ .Release.Name }} +# app.kubernetes.io/version: {{ .Chart.AppVersion }} +# app.kubernetes.io/component: backup +# app.kubernetes.io/part-of: {{ .Release.Name }} +# spec: +# secretStoreRef: +# kind: ClusterSecretStore +# name: vault +# target: +# template: +# mergePolicy: Merge +# engineVersion: v2 +# data: +# RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-web" +# data: +# - secretKey: BUCKET_ENDPOINT +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: S3_BUCKET_ENDPOINT +# - secretKey: RESTIC_PASSWORD +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: RESTIC_PASSWORD +# - secretKey: AWS_DEFAULT_REGION +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /cl01tl/volsync/restic/config +# metadataPolicy: None +# property: AWS_DEFAULT_REGION +# - secretKey: AWS_ACCESS_KEY_ID +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /digital-ocean/home-infra/volsync-backups +# metadataPolicy: None +# property: access_key +# - secretKey: AWS_SECRET_ACCESS_KEY +# remoteRef: +# conversionStrategy: Default +# decodingStrategy: None +# key: /digital-ocean/home-infra/volsync-backups +# metadataPolicy: None +# property: secret_key + +--- +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: ollama-web-postgresql-17-cluster-backup-secret + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: ollama-web-postgresql-17-cluster-backup-secret + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: database + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + secretStoreRef: + kind: ClusterSecretStore + name: vault + data: + - secretKey: ACCESS_KEY_ID + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /digital-ocean/home-infra/postgres-backups + metadataPolicy: None + property: access + - secretKey: ACCESS_SECRET_KEY + remoteRef: + conversionStrategy: Default + decodingStrategy: None + key: /digital-ocean/home-infra/postgres-backups + metadataPolicy: None + property: secret diff --git a/clusters/cl01tl/platform/ollama/templates/replication-source.yaml b/clusters/cl01tl/platform/ollama/templates/replication-source.yaml new file mode 100644 index 000000000..a531ac9a4 --- /dev/null +++ b/clusters/cl01tl/platform/ollama/templates/replication-source.yaml @@ -0,0 +1,59 @@ +# apiVersion: volsync.backube/v1alpha1 +# kind: ReplicationSource +# metadata: +# name: ollama-root-backup-source +# namespace: {{ .Release.Namespace }} +# labels: +# app.kubernetes.io/name: ollama-root-backup-source +# app.kubernetes.io/instance: {{ .Release.Name }} +# app.kubernetes.io/version: {{ .Chart.AppVersion }} +# app.kubernetes.io/component: backup +# app.kubernetes.io/part-of: {{ .Release.Name }} +# spec: +# sourcePVC: ollama-root +# trigger: +# schedule: 0 0 */3 * * +# restic: +# pruneIntervalDays: 14 +# repository: ollama-root-backup-secret +# retain: +# hourly: 1 +# daily: 1 +# weekly: 1 +# monthly: 2 +# yearly: 4 +# copyMethod: Snapshot +# storageClassName: ceph-block +# volumeSnapshotClassName: ceph-blockpool-snapshot + +# --- +# apiVersion: volsync.backube/v1alpha1 +# kind: ReplicationSource +# metadata: +# name: ollama-web-data-backup-source +# namespace: {{ .Release.Namespace }} +# labels: +# app.kubernetes.io/name: ollama-web-data-backup-source +# app.kubernetes.io/instance: {{ .Release.Name }} +# app.kubernetes.io/version: {{ .Chart.AppVersion }} +# app.kubernetes.io/component: backup +# app.kubernetes.io/part-of: {{ .Release.Name }} +# spec: +# sourcePVC: ollama-web-data +# trigger: +# schedule: 0 0 */3 * * +# restic: +# pruneIntervalDays: 14 +# repository: ollama-web-data-backup-secret +# retain: +# hourly: 1 +# daily: 1 +# weekly: 1 +# monthly: 2 +# yearly: 4 +# moverSecurityContext: +# runAsUser: 1337 +# runAsGroup: 1337 +# copyMethod: Snapshot +# storageClassName: ceph-block +# volumeSnapshotClassName: ceph-blockpool-snapshot diff --git a/clusters/standby/platform/ollama/templates/service.yaml b/clusters/cl01tl/platform/ollama/templates/service.yaml similarity index 100% rename from clusters/standby/platform/ollama/templates/service.yaml rename to clusters/cl01tl/platform/ollama/templates/service.yaml diff --git a/clusters/standby/platform/ollama/values.yaml b/clusters/cl01tl/platform/ollama/values.yaml similarity index 98% rename from clusters/standby/platform/ollama/values.yaml rename to clusters/cl01tl/platform/ollama/values.yaml index af3c265c0..2dd206263 100644 --- a/clusters/standby/platform/ollama/values.yaml +++ b/clusters/cl01tl/platform/ollama/values.yaml @@ -217,7 +217,7 @@ ollama: - ollama-cl01tl persistence: server-1: - storageClass: ceph-block-delete + storageClass: ceph-block accessMode: ReadWriteOnce size: 40Gi retain: true @@ -227,7 +227,7 @@ ollama: - path: /root/.ollama readOnly: false server-2: - storageClass: ceph-block-delete + storageClass: ceph-block accessMode: ReadWriteOnce size: 40Gi retain: true @@ -237,7 +237,7 @@ ollama: - path: /root/.ollama readOnly: false server-3: - storageClass: ceph-block-delete + storageClass: ceph-block accessMode: ReadWriteOnce size: 40Gi retain: true @@ -267,7 +267,7 @@ postgres-17-cluster: monitoring: enabled: true backup: - enabled: true + enabled: false endpointURL: https://nyc3.digitaloceanspaces.com destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/ollama/ollama-web-postgresql-17-cluster endpointCredentials: ollama-web-postgresql-17-cluster-backup-secret diff --git a/clusters/standby/platform/ollama/templates/external-secret.yaml b/clusters/standby/platform/ollama/templates/external-secret.yaml deleted file mode 100644 index 11aa2a5cc..000000000 --- a/clusters/standby/platform/ollama/templates/external-secret.yaml +++ /dev/null @@ -1,206 +0,0 @@ - -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ollama-key-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-key-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: web - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: key - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/ollama/key - metadataPolicy: None - property: key - ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ollama-oidc-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-oidc-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: auth - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: client - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /authentik/oidc/ollama - metadataPolicy: None - property: client - - secretKey: secret - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /authentik/oidc/ollama - metadataPolicy: None - property: secret - ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ollama-root-backup-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-root-backup-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: backup - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - target: - template: - mergePolicy: Merge - engineVersion: v2 - data: - RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-root" - data: - - secretKey: BUCKET_ENDPOINT - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: S3_BUCKET_ENDPOINT - - secretKey: RESTIC_PASSWORD - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: RESTIC_PASSWORD - - secretKey: AWS_DEFAULT_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: AWS_DEFAULT_REGION - - secretKey: AWS_ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: access_key - - secretKey: AWS_SECRET_ACCESS_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: secret_key - ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ollama-web-data-backup-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-web-data-backup-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: backup - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - target: - template: - mergePolicy: Merge - engineVersion: v2 - data: - RESTIC_REPOSITORY: "{{ `{{ .BUCKET_ENDPOINT }}` }}/ollama/ollama-web" - data: - - secretKey: BUCKET_ENDPOINT - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: S3_BUCKET_ENDPOINT - - secretKey: RESTIC_PASSWORD - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: RESTIC_PASSWORD - - secretKey: AWS_DEFAULT_REGION - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /cl01tl/volsync/restic/config - metadataPolicy: None - property: AWS_DEFAULT_REGION - - secretKey: AWS_ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: access_key - - secretKey: AWS_SECRET_ACCESS_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/volsync-backups - metadataPolicy: None - property: secret_key - ---- -apiVersion: external-secrets.io/v1beta1 -kind: ExternalSecret -metadata: - name: ollama-web-postgresql-17-cluster-backup-secret - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-web-postgresql-17-cluster-backup-secret - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: database - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - secretStoreRef: - kind: ClusterSecretStore - name: vault - data: - - secretKey: ACCESS_KEY_ID - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: access - - secretKey: ACCESS_SECRET_KEY - remoteRef: - conversionStrategy: Default - decodingStrategy: None - key: /digital-ocean/home-infra/postgres-backups - metadataPolicy: None - property: secret diff --git a/clusters/standby/platform/ollama/templates/replication-source.yaml b/clusters/standby/platform/ollama/templates/replication-source.yaml deleted file mode 100644 index 264f2ffa9..000000000 --- a/clusters/standby/platform/ollama/templates/replication-source.yaml +++ /dev/null @@ -1,59 +0,0 @@ -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: ollama-root-backup-source - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-root-backup-source - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: backup - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - sourcePVC: ollama-root - trigger: - schedule: 0 0 */3 * * - restic: - pruneIntervalDays: 14 - repository: ollama-root-backup-secret - retain: - hourly: 1 - daily: 1 - weekly: 1 - monthly: 2 - yearly: 4 - copyMethod: Snapshot - storageClassName: ceph-block-delete - volumeSnapshotClassName: ceph-blockpool-snapshot - ---- -apiVersion: volsync.backube/v1alpha1 -kind: ReplicationSource -metadata: - name: ollama-web-data-backup-source - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: ollama-web-data-backup-source - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: backup - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - sourcePVC: ollama-web-data - trigger: - schedule: 0 0 */3 * * - restic: - pruneIntervalDays: 14 - repository: ollama-web-data-backup-secret - retain: - hourly: 1 - daily: 1 - weekly: 1 - monthly: 2 - yearly: 4 - moverSecurityContext: - runAsUser: 1337 - runAsGroup: 1337 - copyMethod: Snapshot - storageClassName: ceph-block-delete - volumeSnapshotClassName: ceph-blockpool-snapshot