diff --git a/applications/ollama.yaml b/applications/ollama.yaml new file mode 100644 index 0000000..9ce546d --- /dev/null +++ b/applications/ollama.yaml @@ -0,0 +1,30 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: ollama + namespace: argocd +spec: + project: default + sources: + - repoURL: https://otwld.github.io/ollama-helm/ + chart: ollama + targetRevision: "*" + ref: charts + helm: + releaseName: ollama + valueFiles: + - $values/helm-values/ollama_values.yaml + - repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/turingpi.git + targetRevision: HEAD + ref: values + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + diff --git a/applications/transmission.yaml b/applications/transmission.yaml new file mode 100644 index 0000000..8b75ece --- /dev/null +++ b/applications/transmission.yaml @@ -0,0 +1,30 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: transmission + namespace: argocd +spec: + project: default + sources: + - repoURL: https://k8s-at-home.com/charts/ + chart: transmission-openvpn + targetRevision: "*" + ref: charts + helm: + releaseName: transmission + valueFiles: + - $values/helm-values/transmission_values.yml + - repoURL: http://gitea-http.gitea.svc.cluster.local:3000/admin/turingpi.git + targetRevision: HEAD + ref: values + destination: + server: https://kubernetes.default.svc + namespace: default + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true + diff --git a/helm-values/ollama_values.yaml b/helm-values/ollama_values.yaml new file mode 100644 index 0000000..17e1d5a --- /dev/null +++ b/helm-values/ollama_values.yaml @@ -0,0 +1,23 @@ +replicaCount: 1 +image: + repository: ollama/ollama + pullPolicy: IfNotPresent + tag: "latest" + + +# Ollama parameters +ollama: + models: + pull: + - TinyLlama + - llama3.1:8b +# Configure Service +service: + # -- Service type + type: LoadBalancer + # -- Service port + port: 11434 + +nodeSelector: + kubernetes.io/arch: amd64 + diff --git a/helm-values/transmission_values.yml b/helm-values/transmission_values.yml new file mode 100644 index 0000000..3033a33 --- /dev/null +++ b/helm-values/transmission_values.yml @@ -0,0 +1,61 @@ +## media.transmission-openvpn.values.yml +replicaCount: 1 + +image: + repository: "haugene/transmission-openvpn" + tag: "latest" + pullPolicy: "IfNotPresent" + +env: + - name: OPENVPN_PROVIDER + value: "custom" # VPN provider. List of supported providers: https://haugene.github.io/docker-transmission-openvpn/supported-providers/ + - name: OPENVPN_USERNAME + value: "username" + - name: OPENVPN_PASSWORD + value: "password" + - name: OPENVPN_CONFIG + value: "k3s_AirVPN_Europe_UDP-443-Entry3" + - name: LOCAL_NETWORK + value: "192.168.222.0/24" + - name: TRANSMISSION_PEER_PORT + value: "27860" + - name: TRANSMISSION_DOWNLOAD_DIR + value: "/nfs/torrent" + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: CREATE_TUN_DEVICE + value: "false" + +service: + type: ClusterIP + port: 9091 + +volumes: + - name: "plex-data" + persistentVolumeClaim: + claimName: "plex-data" # PersistentVolumeClaim created earlier + - name: "dev-tun" # Needed for VPN + hostPath: + path: "/dev/net/tun" + +volumeMounts: + - name: "plex-data" + mountPath: "/data" + subPath: "configs/transmission-data" # Path /mnt/ssd/media/configs/transmission-data where transmission writes the configuration + - name: "plex-data" + mountPath: "/nfs/torrent" + subPath: "torrent" # Path /mnt/ssd/media/downloads/transmission where transmission downloads Torrents + - name: "dev-tun" + mountPath: "/dev/net/tun" # Needed for VPN + - name: "plex-data" + mountPath: "/etc/openvpn/custom/" + subPath: "airvpn" + +securityContext: + privileged: true + +nodeSelector: + kubernetes.io/arch: arm64 +