add openspeedtest

This commit is contained in:
2025-05-06 09:34:31 -05:00
parent 59734e07a5
commit 60053fb88a
6 changed files with 193 additions and 74 deletions

View File

@@ -1,74 +1,74 @@
apiVersion: v1
kind: Service
metadata:
name: speedtest
spec:
ports:
- name: app
port: 6580
protocol: TCP
targetPort: 6580
clusterIP: None
type: ClusterIP
---
apiVersion: v1
kind: Endpoints
metadata:
name: speedtest
subsets:
- addresses:
- ip: 192.168.21.200
ports:
- name: app
port: 6580
protocol: TCP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: speedtest-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`speedtest.durp.info`) && PathPrefix(`/`)
kind: Rule
middlewares:
- name: authentik-proxy-provider
namespace: traefik
services:
- name: speedtest
port: 6580
tls:
secretName: speedtest-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: speedtest-tls
spec:
secretName: speedtest-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "speedtest.durp.info"
dnsNames:
- "speedtest.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: speedtest-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: speedtest.durp.info
spec:
type: ExternalName
externalName: durp.info
#apiVersion: v1
#kind: Service
#metadata:
# name: speedtest
#spec:
# ports:
# - name: app
# port: 6580
# protocol: TCP
# targetPort: 6580
# clusterIP: None
# type: ClusterIP
#
#---
#
#apiVersion: v1
#kind: Endpoints
#metadata:
# name: speedtest
#subsets:
#- addresses:
# - ip: 192.168.21.200
# ports:
# - name: app
# port: 6580
# protocol: TCP
#
#---
#
#apiVersion: traefik.io/v1alpha1
#kind: IngressRoute
#metadata:
# name: speedtest-ingress
#spec:
# entryPoints:
# - websecure
# routes:
# - match: Host(`speedtest.durp.info`) && PathPrefix(`/`)
# kind: Rule
# middlewares:
# - name: authentik-proxy-provider
# namespace: traefik
# services:
# - name: speedtest
# port: 6580
# tls:
# secretName: speedtest-tls
#
#---
#
#apiVersion: cert-manager.io/v1
#kind: Certificate
#metadata:
# name: speedtest-tls
#spec:
# secretName: speedtest-tls
# issuerRef:
# name: letsencrypt-production
# kind: ClusterIssuer
# commonName: "speedtest.durp.info"
# dnsNames:
# - "speedtest.durp.info"
#
#---
#
#kind: Service
#apiVersion: v1
#metadata:
# name: speedtest-external-dns
# annotations:
# external-dns.alpha.kubernetes.io/hostname: speedtest.durp.info
#spec:
# type: ExternalName
# externalName: durp.info

View File

@@ -0,0 +1,7 @@
apiVersion: v2
name: openspeedtest
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"

View File

@@ -0,0 +1,33 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: openspeedtest
name: openspeedtest
labels:
app: openspeedtest
spec:
selector:
matchLabels:
app: openspeedtest
replicas: 1
template:
metadata:
labels:
app: openspeedtest
spec:
containers:
- name: openspeedtest
image: registry.durp.info/openspeedtest/latest
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /
port: 3000
readinessProbe:
httpGet:
path: /
port: 3000
env:
ports:
- name: http
containerPort: 3000

View File

@@ -0,0 +1,45 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: openspeedtest-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`speedtest.durp.info`) && PathPrefix(`/`)
kind: Rule
middlewares:
- name: authentik-proxy-provider
namespace: traefik
services:
- name: openspeedtest
port: 3000
tls:
secretName: openspeedtest-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: openspeedtest-tls
spec:
secretName: openspeedtest-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "speedtest.durp.info"
dnsNames:
- "speedtest.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: openspeedtest-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: speedtest.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: openspeedtest
spec:
ports:
- name: http
port: 3000
targetPort: 3000
protocol: TCP
selector:
app: openspeedtest

View File

@@ -0,0 +1,22 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: openspeedtest
namespace: argocd
spec:
project: default
source:
repoURL: https://gitlab.com/developerdurp/homelab.git
targetRevision: main
path: dmz/openspeedtest
directory:
recurse: true
destination:
name: dmz
namespace: openspeedtest
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true