Remove lingo

lingo-api ran PHP 8.1.34 (php:8.1-apache) and was reachable at
https://lingo.rubenhensen.nl/api/. PHP 8.1 is EOL and gets no fix for
CVE-2026-109618 and CVE-2026-109619, so it was exposed to the PHP2Shell
RCE. It is no longer used, so drop it entirely: the app, its Gatus
check, the DNS record and the node001 tunnel entry.
This commit is contained in:
Ruben Hensen committed 2026-10-22 09:06:52 +02:00
1 parent 842f087da7
commit 3e45ddaf4a
9 files changed
-171

No files matched your search

-21
View File
@@ -1,21 +0,0 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: lingo
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://github.com/rubenhensen/k8scd.git
targetRevision: HEAD
path: lingo
destination:
server: https://kubernetes.default.svc
namespace: lingo
syncPolicy:
syncOptions:
- CreateNamespace=true
automated:
selfHeal: true
-4
View File
@@ -43,10 +43,6 @@ records:
expire: 300
type: A
content: "46.224.26.65"
- name: "lingo"
expire: 300
type: A
content: "46.224.26.65"
- name: "blog"
expire: 300
type: A
-5
View File
@@ -73,11 +73,6 @@ endpoints:
conditions:
- "[STATUS] == 401"
- "[CERTIFICATE_EXPIRATION] > 168h"
- name: lingo
group: rubenhensen.nl
url: https://lingo.rubenhensen.nl
interval: 60s
conditions: *http-ok
- name: blog
group: rubenhensen.nl
url: https://blog.rubenhensen.nl
-32
View File
@@ -1,32 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: lingo-api
name: lingo-api
spec:
replicas: 1
selector:
matchLabels:
app: lingo-api
strategy:
type: Recreate
template:
metadata:
labels:
app: lingo-api
spec:
containers:
- image: ghcr.io/rubenhensen/lingo-api:master-4404fe5
name: lingo-api
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: Always
-13
View File
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: lingo-api
name: lingo-api
spec:
ports:
- name: "api"
port: 8000
targetPort: 80
selector:
app: lingo-api
-32
View File
@@ -1,32 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: lingo-frontend
name: lingo-frontend
spec:
replicas: 1
selector:
matchLabels:
app: lingo-frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: lingo-frontend
spec:
containers:
- image: ghcr.io/rubenhensen/lingo-frontend:master-46bddb5
name: lingo-frontend
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: Always
-13
View File
@@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: lingo-frontend
name: lingo-frontend
spec:
ports:
- name: "frontend"
port: 8001
targetPort: 80
selector:
app: lingo-frontend
-50
View File
@@ -1,50 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: lingo-api-ingress
annotations:
cert-manager.io/cluster-issuer: prod-cluster-issuer
nginx.ingress.kubernetes.io/ssl-passthrough: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
ingressClassName: nginx
rules:
- host: lingo.rubenhensen.nl
http:
paths:
- path: /api(/|$)(.*)
pathType: ImplementationSpecific
backend:
service:
name: lingo-api
port:
number: 8000
tls:
- secretName: letsencrypt-prod
hosts:
- lingo.rubenhensen.nl
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: lingo-frontend-ingress
annotations:
cert-manager.io/cluster-issuer: prod-cluster-issuer
nginx.ingress.kubernetes.io/ssl-passthrough: "false"
spec:
ingressClassName: nginx
rules:
- host: lingo.rubenhensen.nl
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: lingo-frontend
port:
number: 8001
tls:
- secretName: letsencrypt-prod
hosts:
- lingo.rubenhensen.nl
-1
View File
@@ -16,7 +16,6 @@ let
"argocd.rubenhensen.nl"
"ha.rubenhensen.nl"
"longhorn.rubenhensen.nl"
"lingo.rubenhensen.nl"
"blog.rubenhensen.nl"
"serpbear.rubenhensen.nl"
"git.rubenhensen.nl"