Compare commits

...

11 commits

53 changed files with 252 additions and 53 deletions

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -22,7 +22,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,5 +20,4 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
@ -42,5 +41,4 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
@ -42,5 +41,4 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: false # no flux ks dependents
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -22,6 +22,7 @@ resources:
- ./recyclarr/ks.yaml
- ./redlib/ks.yaml
- ./sabnzbd/ks.yaml
- ./scrypted/ks.yaml
- ./searxng/ks.yaml
- ./sonarr/ks.yaml
- ./tautulli/ks.yaml

View file

@ -22,7 +22,6 @@ spec:
name: theshire
wait: false # no flux ks dependents
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
- name: volsync
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -69,7 +69,7 @@ spec:
app:
image:
repository: ghcr.io/bjw-s-labs/piped-frontend
tag: latest@sha256:c4cb0cfbdf149cdb738fb9e41a5cc748a7ea53053f4c5e036b9f7578d9273328
tag: latest@sha256:d9bcfa5f98214003d1c6b614c7b922159cdd321489d02502920b7d8e18fc96cf
env:
HTTP_PORT: 8080
HTTP_WORKERS: 4

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -22,7 +22,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -21,7 +21,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -0,0 +1,109 @@
---
# 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: scrypted
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.5.1
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
scrypted:
annotations:
reloader.stakater.com/auto: "true"
pod:
nodeSelector:
google.feature.node.kubernetes.io/coral: "true"
nvidia.com/gpu.present: "true"
securityContext:
supplementalGroups:
- 568
containers:
app:
image:
repository: ghcr.io/koush/scrypted
tag: v0.119.1-jammy-full
probes:
liveness:
enabled: true
readiness:
enabled: true
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 5
resources:
requests:
cpu: 136m
memory: 1024Mi
limits:
nvidia.com/gpu: 1
memory: 8192Mi
securityContext:
privileged: true
service:
app:
controller: scrypted
ports:
http:
port: 11080
primary: true
# rebroadcast1:
# port: 34135
# rebroadcast2:
# port: 34136
ingress:
app:
className: "internal-nginx"
annotations:
hosts:
- host: &host scrypted.jahanson.tech
paths:
- path: /
service:
identifier: app
port: http
tls:
- hosts:
- *host
persistence:
config:
existingClaim: scrypted
advancedMounts:
scrypted:
app:
- path: /server/volume
cache:
type: emptyDir
globalMounts:
- path: /.cache
cache-npm:
type: emptyDir
globalMounts:
- path: /.npm
dev-bus-usb:
type: hostPath
hostPath: /dev/bus/usb
hostPathType: Directory
sys-bus-usb:
type: hostPath
hostPath: /sys/bus/usb
hostPathType: Directory
recordings:
type: nfs
server: shadowfax.jahanson.tech
path: /nahar/scrypted
globalMounts:
- path: /recordings

View file

@ -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/volsync

View file

@ -0,0 +1,30 @@
---
# 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: &appname scrypted
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: *appname
interval: 30m
timeout: 5m
path: "./kubernetes/apps/default/scrypted/app"
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: false
dependsOn:
- name: rook-ceph-cluster
- name: volsync
- name: external-secrets-stores
postBuild:
substitute:
APP: *appname
APP_UID: "0"
APP_GID: "0"
VOLSYNC_CAPACITY: 5Gi

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -22,7 +22,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -20,7 +20,6 @@ spec:
- name: volsync
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -19,5 +19,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
@ -40,5 +39,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -0,0 +1,16 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/nfd.k8s-sigs.io/nodefeaturerule_v1alpha1.json
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeatureRule
metadata:
name: google-coral-device
spec:
rules:
- # Google Coral USB Accelerator
name: google.coral
labels:
google.feature.node.kubernetes.io/coral: "true"
matchFeatures:
- feature: usb.device
matchExpressions:
vendor: {op: In, value: ["1a6e", "18d1"]}

View file

@ -1,5 +1,5 @@
# yaml-language-server: $schema=https://ks.hsn.dev/nfd.k8s-sigs.io/nodefeaturerule_v1alpha1.json
---
# yaml-language-server: $schema=https://ks.hsn.dev/nfd.k8s-sigs.io/nodefeaturerule_v1alpha1.json
apiVersion: nfd.k8s-sigs.io/v1alpha1
kind: NodeFeatureRule
metadata:

View file

@ -4,13 +4,13 @@ metadata:
name: rocky-nenya
namespace: kube-system
spec:
# nodeName: nenya
nodeName: shadowfax-01
containers:
- name: rocky
image: rockylinux:9
securityContext:
privileged: true
command: ["/bin/bash", "-c", "while true; do sleep 10; done"]
command: ["/bin/bash", "-c", "dnf install -y iputils dnsutils && while true; do sleep 10; done"]
resources:
requests:
cpu: 100m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -13,7 +13,6 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
@ -32,5 +31,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -22,5 +22,4 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -1,5 +1,5 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
@ -21,3 +21,24 @@ spec:
dependsOn:
- name: external-secrets-stores
- name: rook-ceph-cluster
---
# 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 alertmanager-silencer
namespace: flux-system
spec:
targetNamespace: observability
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: "./kubernetes/apps/observability/alertmanager/silencer"
prune: true
sourceRef:
kind: GitRepository
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -0,0 +1,56 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: alertmanager-silencer
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.0.4
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
strategy: rollback
dependsOn:
- name: alertmanager
namespace: observability
values:
controllers:
alertmanager-silencer:
type: cronjob
cronjob:
schedule: "@daily"
containers:
app:
image:
repository: ghcr.io/onedr0p/kubanetics
tag: 2024.10.6
env:
SCRIPT_NAME: alertmanager-silencer.sh
ALERTMANAGER_URL: http://alertmanager.observability.svc.cluster.local:9093
MATCHERS_0: alertname=CephPGImbalance job=rook-ceph-exporter
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities: { drop: ["ALL"] }
resources:
requests:
cpu: 25m
limits:
memory: 128Mi
pod:
securityContext:
runAsUser: 568
runAsGroup: 568
runAsNonRoot: true

View file

@ -0,0 +1,6 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml

View file

@ -20,7 +20,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: true
interval: 30m
retryInterval: 1m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
@ -40,4 +39,3 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -19,7 +19,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -22,7 +22,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:

View file

@ -47,5 +47,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -17,7 +17,6 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
@ -38,5 +37,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 15m

View file

@ -17,5 +17,4 @@ spec:
name: theshire
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -2,7 +2,7 @@
# yaml-language-server: $schema=https://ks.hsn.dev/talconfig.json
clusterName: theshire
talosVersion: v1.8.0
talosVersion: v1.8.1
kubernetesVersion: 1.30.2
endpoint: "https://10.1.1.57:6444"