From f555332df0ce0e8d8dac6263b60e0fba8a43325c Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Sun, 28 Dec 2025 07:39:21 +0530 Subject: [PATCH] add ingress, pvc, secret, svc and deployment for speedtest --- .../speedtest/speedtest-ingress.yml | 27 ++++++++++ .../monitoring/speedtest/speedtest-pvc.yml | 14 +++++ .../monitoring/speedtest/speedtest-secret.yml | 14 +++++ .../monitoring/speedtest/speedtest-svc.yml | 13 +++++ .../ipv6/monitoring/speedtest/speedtest.yml | 52 +++++++++++++++++++ 5 files changed, 120 insertions(+) create mode 100644 clusters/ipv6/monitoring/speedtest/speedtest-ingress.yml create mode 100644 clusters/ipv6/monitoring/speedtest/speedtest-pvc.yml create mode 100644 clusters/ipv6/monitoring/speedtest/speedtest-secret.yml create mode 100644 clusters/ipv6/monitoring/speedtest/speedtest-svc.yml create mode 100644 clusters/ipv6/monitoring/speedtest/speedtest.yml diff --git a/clusters/ipv6/monitoring/speedtest/speedtest-ingress.yml b/clusters/ipv6/monitoring/speedtest/speedtest-ingress.yml new file mode 100644 index 0000000..3c7865c --- /dev/null +++ b/clusters/ipv6/monitoring/speedtest/speedtest-ingress.yml @@ -0,0 +1,27 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: speedtest-ingress + namespace: monitoring + annotations: + cert-manager.io/cluster-issuer: letsencrypt-cloudflare + traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + ingressClassName: traefik + tls: + - hosts: + - speedtest.akshun-lab.cc + secretName: speedtest-tls + rules: + - host: speedtest.akshun-lab.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: speedtest-service + port: + number: 80 diff --git a/clusters/ipv6/monitoring/speedtest/speedtest-pvc.yml b/clusters/ipv6/monitoring/speedtest/speedtest-pvc.yml new file mode 100644 index 0000000..f0fc169 --- /dev/null +++ b/clusters/ipv6/monitoring/speedtest/speedtest-pvc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: speedtest-longhorn + namespace: monitoring +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 100Mi + storageClassName: longhorn diff --git a/clusters/ipv6/monitoring/speedtest/speedtest-secret.yml b/clusters/ipv6/monitoring/speedtest/speedtest-secret.yml new file mode 100644 index 0000000..f543be8 --- /dev/null +++ b/clusters/ipv6/monitoring/speedtest/speedtest-secret.yml @@ -0,0 +1,14 @@ +--- +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: speedtest-secret + namespace: monitoring +spec: + encryptedData: + app_key: AgAmbtuB9SPP4+jweqUvcPj/9xGQBD28GtoRr85Cd66Lwm0FCI+CUQ6a2Yl/0R2MZdHbrbwPl/w5RwNUWUE06U5PemjO3IcVBRprf5Rzw1kHPTHazWUARL5AvdrY1gxT/yXck4v9ScqyHn2kXSvZgPNr3wGiLUP5nTwO8A4HNgdqs3UhjXxlKrtHvnlN0CM2jjtrd+mvnTs4jysBsx5ls9NtTN4eu+1o4quLZQDsHvbnDubzIbAyXuPPqXmHhvNLp0wJNIUphhr9SpE3vRjMuwnxjBIvPYNdzLk1gy2FwgSHXVc5Y+1tFNBrF81NOxjWaVlUSqDwU/VPWjrLieveqVT80Yk3kKbhPlboaK+S5MZiKSOcZc+NiW/yUuJi+y97y6MD28WgsrzFsdMcAWycqr0qmayV03/n9XlK0aXD/JjEkLGJBVwgn2Qz37YmfOcZ0m5hDrfig07ZzXXsVI0N2RWZ3Qii+cH2Lqa/Rlx/ITsAxlL2DJBXHEG8qzijGG3GicT6Bn1+zYIqFo3FKUc1xnD5T9YlbwGOqURo4bQ1Cg7sy5iF1kAgH/3IFXepmIjDLf4MkVrv6dbDgmlg5A8BowQz3VT03FA2CXp+IQdC5KEHq8TxpwYU/+y4bFcu53cfioXp2mQlChBgSNmRZkzi86IkK2w8wCynDHomRzZes/sh278sEwbo4cBloSQiBulCgTSNKhFV7b3mpz0p/QDBOYVVFphTBYDAv533eIEv6G6OXZQUyu/4vFT9thLcMWR1QlrnnV8= + template: + metadata: + name: speedtest-secret + namespace: monitoring + type: Opaque diff --git a/clusters/ipv6/monitoring/speedtest/speedtest-svc.yml b/clusters/ipv6/monitoring/speedtest/speedtest-svc.yml new file mode 100644 index 0000000..af45758 --- /dev/null +++ b/clusters/ipv6/monitoring/speedtest/speedtest-svc.yml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: speedtest-service + namespace: monitoring +spec: + selector: + app: speedtest + ports: + - port: 80 + targetPort: 80 + protocol: TCP diff --git a/clusters/ipv6/monitoring/speedtest/speedtest.yml b/clusters/ipv6/monitoring/speedtest/speedtest.yml new file mode 100644 index 0000000..3ed69ee --- /dev/null +++ b/clusters/ipv6/monitoring/speedtest/speedtest.yml @@ -0,0 +1,52 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: speedtest + namespace: monitoring +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: speedtest + template: + metadata: + labels: + app: speedtest + spec: + containers: + - name: speedtest + image: lscr.io/linuxserver/speedtest-tracker:1.13.3 + ports: + - containerPort: 80 + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "Asia/Kolkata" + - name: DB_CONNECTION + value: "sqlite" + - name: APP_KEY + valueFrom: + secretKeyRef: + name: speedtest-secret + key: app_key + - name: SPEEDTEST_SCHEDULE + value: "@hourly" + - name: PRUNE_RESULTS_OLDER_THAN + value: "7" + - name: DISPLAY_TIMEZONE + value: "Asia/Kolkata" + - name: APP_TIMEZONE + value: "Asia/Kolkata" + volumeMounts: + - name: config + mountPath: /config + volumes: + - name: config + persistentVolumeClaim: + claimName: speedtest-longhorn