doran/deploy/k8s/platform/base/headlamp.yaml
2026-03-29 10:28:09 +02:00

100 lines
2.3 KiB
YAML

apiVersion: v1
kind: ServiceAccount
metadata:
name: headlamp-admin
namespace: observability
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
project.pi.io/type: platform
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: headlamp-admin
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
project.pi.io/type: platform
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: headlamp-admin
namespace: observability
---
apiVersion: v1
kind: Secret
metadata:
name: headlamp-admin-token
namespace: observability
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
project.pi.io/type: platform
annotations:
kubernetes.io/service-account.name: headlamp-admin
type: kubernetes.io/service-account-token
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: headlamp
namespace: observability
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
project.pi.io/type: platform
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: headlamp
template:
metadata:
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
spec:
containers:
- name: headlamp
image: ghcr.io/headlamp-k8s/headlamp:v0.41.0
args:
- -in-cluster
- -plugins-dir=/headlamp/plugins
ports:
- name: http
containerPort: 4466
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 20
timeoutSeconds: 10
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 30
timeoutSeconds: 10
nodeSelector:
kubernetes.io/os: linux
---
apiVersion: v1
kind: Service
metadata:
name: headlamp
namespace: observability
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/part-of: observability
project.pi.io/type: platform
spec:
selector:
app.kubernetes.io/name: headlamp
ports:
- name: http
port: 80
targetPort: http