-
-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Chart Version
1.25.0
Bug Description
I reported this in Discord and they recommended I post it here. Copy and pasting below:
I'm running into an issue where when I deploy with persistent volumes, I get an upgrade failed error. I'm relatively new to K3s but despite desperate searching, I can't find anyone else that is running into this issue. The pod deploys cleanly and works perfectly without the persistence block, but I need to not lose my dashboards and data every time the server, vm, or pod needs to be restarted. Please help, I'm sure I'm missing something simple.
Here's the error:
Error: UPGRADE FAILED: failed to create resource: Deployment.apps "homarr" is invalid: [spec.template.spec.containers[0].volumeMounts[0].name: Not found: "homarr-database", spec.template.spec.containers[0].volumeMounts[1].name: Not found: "homarr-images", spec.template.spec.initContainers[0].volumeMounts[0].name: Not found: "homarr-images"]
Sorry, can't get logs since the pod isn't running, but happy to run checks as needed.
OS: Ubuntu 24.04.2 LTS running K3s deploying with helm. This is a VM on proxmox.
Not positive on version since it's not running currently. Image tag is 1.25.0
In addition, I am including the rendered output from the template as that's what I have in lieu of logs right now.
values.yaml
replicaCount: 1
strategyType: Recreate
image:
repository: ghcr.io/homarr-labs/homarr
pullPolicy: IfNotPresent
tag: "v1.25.0"
env:
TZ: "America/Chicago"
AUTH_PROVIDERS: "oidc"
AUTH_LOGOUT_REDIRECT_URL: "https://<redacted>"
AUTH_SESSION_EXPIRY_TIME: "30d"
AUTH_OIDC_ISSUER: "<redacted>"
AUTH_OIDC_CLIENT_NAME: "SSO"
AUTH_OIDC_AUTO_LOGIN: "true"
AUTH_OIDC_SCOPE_OVERWRITE: "openid email profile groups"
AUTH_OIDC_GROUPS_ATTRIBUTE: "groups"
envSecrets:
authOidcCredentials:
existingSecret: "auth-oidc-secret"
oidcClientId: "oidc-client-id"
oidcClientSecret: "oidc-client-secret"
service:
enabled: true
type: ClusterIP
ports:
app:
port: 7575
targetPort: http
protocol: TCP
ipFamilyPolicy: SingleStack
ipFamilies: []
livenessProbe:
httpGet:
path: /api/health/live
port: 7575
readinessProbe:
httpGet:
path: /api/health/ready
port: 7575
containerPorts:
http:
port: 7575
protocol: TCP
persistence:
homarrDatabase:
enabled: true
storageClassName: "local-path"
size: "1Gi"
volumeClaimName: "homarr-database"
homarrImages:
enabled: true
storageClassName: "local-path"
size: "1Gi"
volumeClaimName: "homarr-images"
imagesCopy:
enabled: true
pathToLocalImages: "/images"
hostAliases: []
additionalObjects: []Relevant log output
---
# Source: homarr/templates/homarr-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homarr-database
spec:
accessModes:
- ReadWriteOnce
storageClassName: "local-path"
resources:
requests:
storage: 1Gi
volumeName: "homarr-database"
---
# Source: homarr/templates/homarr-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homarr-images
spec:
accessModes:
- ReadWriteOnce
storageClassName: "local-path"
resources:
requests:
storage: 1Gi
volumeName: "homarr-images"
---
# Source: homarr/templates/homarr-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: homarr
labels:
helm.sh/chart: homarr-4.0.0
app.kubernetes.io/name: homarr
app.kubernetes.io/instance: homarr
app.kubernetes.io/version: "v1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ipFamilyPolicy: SingleStack
ports:
- name: app
port: 7575
protocol: TCP
targetPort: http
selector:
app.kubernetes.io/name: homarr
app.kubernetes.io/instance: homarr
---
# Source: homarr/templates/homarr-dc.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: homarr
labels:
helm.sh/chart: homarr-4.0.0
app.kubernetes.io/name: homarr
app.kubernetes.io/instance: homarr
app.kubernetes.io/version: "v1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: homarr
app.kubernetes.io/instance: homarr
template:
metadata:
labels:
helm.sh/chart: homarr-4.0.0
app.kubernetes.io/name: homarr
app.kubernetes.io/instance: homarr
app.kubernetes.io/version: "v1.25.0"
app.kubernetes.io/managed-by: Helm
spec:
securityContext:
{}
initContainers:
- name: image-copy-init
image: busybox
command: [ "/bin/sh", "-c" ]
args:
- "cp -r /images/* /images/"
volumeMounts:
- name: homarr-images
mountPath: /images
containers:
- name: homarr
securityContext:
{}
image: "ghcr.io/homarr-labs/homarr:v1.25.0"
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 7575
protocol: TCP
livenessProbe:
httpGet:
path: /api/health/live
port: 7575
initialDelaySeconds: 10
timeoutSeconds: 1
periodSeconds: 10
failureThreshold: 3
readinessProbe:
httpGet:
path: /api/health/ready
port: 7575
initialDelaySeconds: 10
timeoutSeconds: 1
periodSeconds: 10
failureThreshold: 3
env:
- name: ENABLE_DOCKER
value: "false"
- name: ENABLE_KUBERNETES
value: "false"
- name: AUTH_LDAP_BASE
value: ""
- name: AUTH_LDAP_BIND_DN
value: ""
- name: AUTH_LDAP_GROUP_CLASS
value: "groupOfUniqueNames"
- name: AUTH_LDAP_GROUP_FILTER_EXTRA_ARG
value: ""
- name: AUTH_LDAP_GROUP_MEMBER_ATTRIBUTE
value: "member"
- name: AUTH_LDAP_GROUP_MEMBER_USER_ATTRIBUTE
value: "dn"
- name: AUTH_LDAP_SEARCH_SCOPE
value: "base"
- name: AUTH_LDAP_URI
value: ""
- name: AUTH_LDAP_USERNAME_ATTRIBUTE
value: "uid"
- name: AUTH_LDAP_USERNAME_FILTER_EXTRA_ARG
value: ""
- name: AUTH_LDAP_USER_MAIL_ATTRIBUTE
value: "mail"
- name: AUTH_LOGOUT_REDIRECT_URL
value: "https://<redacted>"
- name: AUTH_OIDC_AUTO_LOGIN
value: "true"
- name: AUTH_OIDC_CLIENT_NAME
value: "SSO"
- name: AUTH_OIDC_GROUPS_ATTRIBUTE
value: "groups"
- name: AUTH_OIDC_ISSUER
value: "<redacted>"
- name: AUTH_OIDC_NAME_ATTRIBUTE_OVERWRITE
value: ""
- name: AUTH_OIDC_SCOPE_OVERWRITE
value: "openid email profile groups"
- name: AUTH_PROVIDERS
value: "oidc"
- name: AUTH_SESSION_EXPIRY_TIME
value: "30d"
- name: TZ
value: "America/Chicago"
- name: DB_MIGRATIONS_DISABLED
value: "false"
- name: DB_DRIVER
value: "better-sqlite3"
- name: DB_DIALECT
value: "sqlite"
- name: DB_URL
value: "/appdata/db/db.sqlite"
- name: AUTH_OIDC_CLIENT_ID
valueFrom:
secretKeyRef:
name: auth-oidc-secret
key: oidc-client-id
- name: AUTH_OIDC_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: auth-oidc-secret
key: oidc-client-secret
- name: SECRET_ENCRYPTION_KEY
valueFrom:
secretKeyRef:
name: db-secret
key: db-encryption-key
resources:
{}
volumeMounts:
- name: homarr-database
mountPath: /appdata/db
- name: homarr-images
mountPath: /images