diff --git a/bootstrap/helmrepositories/helmrepository-alekc.yaml b/bootstrap/helmrepositories/helmrepository-alekc.yaml new file mode 100644 index 0000000..5b37395 --- /dev/null +++ b/bootstrap/helmrepositories/helmrepository-alekc.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: alekc + namespace: flux-system +spec: + interval: 15m + url: https://charts.alekc.dev diff --git a/jellyfin/dns-endpoint-radarr.yaml b/jellyfin/dns-endpoint-radarr.yaml new file mode 100644 index 0000000..5ae9649 --- /dev/null +++ b/jellyfin/dns-endpoint-radarr.yaml @@ -0,0 +1,12 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: radarr.michaelthomson.dev + namespace: jellyfin +spec: + endpoints: + - dnsName: radarr.michaelthomson.dev + recordTTL: 180 + recordType: CNAME + targets: + - server.michaelthomson.dev diff --git a/jellyfin/helmrelease-jackett.yaml b/jellyfin/helmrelease-jackett.yaml index 532be90..e1b6cef 100644 --- a/jellyfin/helmrelease-jackett.yaml +++ b/jellyfin/helmrelease-jackett.yaml @@ -78,14 +78,14 @@ spec: affinity: {} persistence: - enabled: false + enabled: true ## If defined, storageClassName: ## If set to "-", storageClassName: "", which disables dynamic provisioning ## If undefined (the default) or set to null, no storageClassName spec is ## set, choosing the default provisioner. (gp2 on AWS, standard on ## GKE, AWS & OpenStack) ## - storageClassName: "" + storageClassName: longhorn accessModes: - ReadWriteOnce size: 1Gi diff --git a/jellyfin/helmrelease-radarr.yaml b/jellyfin/helmrelease-radarr.yaml new file mode 100644 index 0000000..0881921 --- /dev/null +++ b/jellyfin/helmrelease-radarr.yaml @@ -0,0 +1,130 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: radarr + namespace: jellyfin +spec: + chart: + spec: + chart: radarr + version: 0.1.3 + sourceRef: + kind: HelmRepository + name: alekc + namespace: flux-system + interval: 15m + timeout: 5m + releaseName: radarr + values: + # Default values for radarr. + # This is a YAML-formatted file. + # Declare variables to be passed into your templates. + replicaCount: 1 + + image: + repository: hotio/radarr + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + + deployment: + # -- Deployment strategy + strategy: + type: Recreate + + imagePullSecrets: [] + nameOverride: "" + fullnameOverride: "" + + serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + + podAnnotations: {} + + podSecurityContext: + {} + # fsGroup: 2000 + + securityContext: + {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + + service: + type: ClusterIP + port: 80 + + ingress: + enabled: true + # -- Ingress class name + className: traefik + # -- Annotations for the ingress + annotations: + traefik.ingress.kubernetes.io/router.tls: "true" + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.middlewares: traefik-authentik@kubernetescrd + # -- Ingress hosts configuration + # @default -- see [values.yaml](values.yaml) + hosts: + - host: radarr.michaelthomson.dev + paths: + - path: / + pathType: ImplementationSpecific + # -- The TLS configuration for the Ingress + tls: + - secretName: letsencrypt-wildcard-cert-michaelthomson.dev + hosts: + - radarr.michaelthomson.dev + + resources: + {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + env: + PUID: "1000" + PGID: "1000" + TZ: "America/Toronto" + UMASK: "002" + + persistence: + storageClass: "longhorn" + existingClaim: "" + enabled: true + accessMode: ReadWriteOnce + size: 800Mi + # if you need any additional volumes, you can define them here + additionalVolumes: [] + # if you need any additional volume mounts, you can define them here + additionalMounts: []