Files
infrastructure/clusters/cl01tl/manifests/headlamp/Deployment-headlamp.yaml
gitea-bot 8af57edd5e Automated Manifest Update (#5156)
This PR contains newly rendered Kubernetes manifests automatically generated by the CI workflow.

### Details
- **Trigger**: `schedule` by `@gitea-actions`
- **Commit**: `1d67ec7` (on `main`)
- **Charts Updated**: `site-profile`

### Update Details (2026-03-26 17:18 UTC)
- **Trigger**: `pull_request` by `@alexlebens`
- **Commit**: `c72a7fb` (on `c72a7fbd05d715f36d646cdafd09dd8b51fe6c18`)
- **Charts Updated**: `medialyze`

### Update Details (2026-03-26 17:19 UTC)
- **Trigger**: `pull_request` by `@alexlebens`
- **Commit**: `adef1fa` (on `adef1fa2ff6f3f60402535a000b309e91281a2e0`)
- **Charts Updated**: `headlamp`

### Update Details (2026-03-26 17:21 UTC)
- **Trigger**: `pull_request` by `@alexlebens`
- **Commit**: `1882c58` (on `1882c586f5e3d9af26ee60fbd741d8bf3d61ea71`)
- **Charts Updated**: `gitea,jellyfin,karakeep`

### Update Details (2026-03-26 17:25 UTC)
- **Trigger**: `pull_request` by `@alexlebens`
- **Commit**: `a9c7087` (on `a9c708726c1e17f2b61f520443ee5d1ec157ab1d`)
- **Charts Updated**: `directus`

Reviewed-on: #5156
Co-authored-by: gitea-bot <gitea-bot@alexlebens.net>
Co-committed-by: gitea-bot <gitea-bot@alexlebens.net>
2026-03-26 17:27:38 +00:00

99 lines
3.0 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: headlamp
namespace: headlamp
labels:
helm.sh/chart: headlamp-0.41.0
app.kubernetes.io/name: headlamp
app.kubernetes.io/instance: headlamp
app.kubernetes.io/version: "0.41.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 2
selector:
matchLabels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/instance: headlamp
template:
metadata:
labels:
app.kubernetes.io/name: headlamp
app.kubernetes.io/instance: headlamp
spec:
serviceAccountName: headlamp
automountServiceAccountToken: true
hostUsers: true
securityContext: {}
containers:
- name: headlamp
securityContext:
privileged: false
runAsGroup: 101
runAsNonRoot: true
runAsUser: 100
image: "ghcr.io/headlamp-k8s/headlamp:v0.41.0"
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: headlamp-oidc-secret
args:
- "-in-cluster"
- "-in-cluster-context-name=main"
- "-watch-plugins-changes"
- "-plugins-dir=/headlamp/plugins"
- "-oidc-client-id=$(OIDC_CLIENT_ID)"
- "-oidc-client-secret=$(OIDC_CLIENT_SECRET)"
- "-oidc-idp-issuer-url=$(OIDC_ISSUER_URL)"
- "-oidc-scopes=$(OIDC_SCOPES)"
ports:
- name: http
containerPort: 4466
protocol: TCP
livenessProbe:
httpGet:
path: "/"
port: http
readinessProbe:
httpGet:
path: "/"
port: http
resources:
requests:
cpu: 10m
memory: 128Mi
volumeMounts:
- name: plugins-dir
mountPath: /headlamp/plugins
- name: headlamp-plugin
image: node:lts-alpine
command: ["/bin/sh", "-c"]
args:
- |
if [ -f "/config/plugin.yml" ]; then
echo "Installing plugins from config..."
cat /config/plugin.yml
# Use a writable cache directory
export NPM_CONFIG_CACHE=/tmp/npm-cache
# Use a writable config directory
export NPM_CONFIG_USERCONFIG=/tmp/npm-userconfig
mkdir -p /tmp/npm-cache /tmp/npm-userconfig
npx --yes @headlamp-k8s/pluginctl@latest install --config /config/plugin.yml --folderName /headlamp/plugins --watch
fi
volumeMounts:
- name: plugins-dir
mountPath: /headlamp/plugins
- name: plugin-config
mountPath: /config
resources: null
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
runAsUser: 0
volumes:
- name: plugins-dir
emptyDir: {}
- name: plugin-config
configMap:
name: headlamp-plugin-config