Skip to content

Commit

Permalink
feat: add tautulli
Browse files Browse the repository at this point in the history
  • Loading branch information
zebernst committed Oct 21, 2024
1 parent 283c930 commit 81f3bb4
Show file tree
Hide file tree
Showing 4 changed files with 153 additions and 0 deletions.
108 changes: 108 additions & 0 deletions kubernetes/apps/default/tautulli/app/helmrelease.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
# 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: tautulli
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
dependsOn:
- name: synology-csi-driver
namespace: kube-system
- name: volsync
namespace: volsync-system
values:
controllers:
tautulli:
annotations:
reloader.stakater.com/auto: "true"
containers:
app:
image:
repository: ghcr.io/tautulli/tautulli
tag: v2.14.4@sha256:4316ed82bd1334852c56460d0dc2c3ff4fc84ac55e71944bcb0f27838ed7a53e
env:
TZ: America/New_York
command: ["/usr/local/bin/python", "Tautulli.py"]
args: [
"--config", "/config/config.ini",
"--datadir", "/config",
"--port", "80"
]
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /status
port: &port 80
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 10m
limits:
memory: 1Gi
defaultPodOptions:
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
seccompProfile: { type: RuntimeDefault }
service:
app:
controller: tautulli
ports:
http:
port: *port
ingress:
app:
annotations:
external-dns.alpha.kubernetes.io/target: internal.zebernst.dev
className: internal
hosts:
- host: "{{ .Release.Name }}.zebernst.dev"
paths:
- path: /
service:
identifier: app
port: http
persistence:
config:
existingClaim: tautulli
cache:
existingClaim: tautulli-cache
globalMounts:
- path: /config/cache
logs:
type: emptyDir
globalMounts:
- path: /config/logs
tmp:
type: emptyDir
9 changes: 9 additions & 0 deletions kubernetes/apps/default/tautulli/app/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./pvc.yaml
- ./helmrelease.yaml
- ../../../../templates/gatus/guarded
- ../../../../templates/volsync
11 changes: 11 additions & 0 deletions kubernetes/apps/default/tautulli/app/pvc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tautulli-cache
spec:
accessModes: ["ReadWriteMany"]
resources:
requests:
storage: 15Gi
storageClassName: iscsi
25 changes: 25 additions & 0 deletions kubernetes/apps/default/tautulli/ks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app tautulli
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/main/apps/default/tautulli/app
prune: true
sourceRef:
kind: GitRepository
name: home-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
VOLSYNC_CAPACITY: 5Gi

0 comments on commit 81f3bb4

Please sign in to comment.