fmjstudios / helm

🪖 A collection of MIT-licensed Helm Charts
MIT License
13 stars 13 forks source link

Default redis configuration isn't working #14

Closed mike12806 closed 10 months ago

mike12806 commented 11 months ago

Name and Version

fmjstudios/paperless-ngx 0.2.2

What architecture are you using?

amd64

What steps will reproduce the bug?

Attempt to deploy helm chart without any pre-existing redis secrets, fresh namespace, etc., and pod fails to start

Are you using any custom parameters or values?

Not for Redis

What is the expected behavior?

Default redis values should work out of the box

What do you see instead?

2024-08-12T09:49:05.953671543-04:00 Waiting for Redis...
2024-08-12T09:49:05.993141773-04:00 Redis ping #0 failed.
2024-08-12T09:49:05.993167998-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:05.993176121-04:00 Waiting 5s
2024-08-12T09:49:11.025079826-04:00 Redis ping #1 failed.
2024-08-12T09:49:11.025108067-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:11.025116717-04:00 Waiting 5s
2024-08-12T09:49:16.043172219-04:00 Redis ping #2 failed.
2024-08-12T09:49:16.043199040-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:16.043205415-04:00 Waiting 5s
2024-08-12T09:49:21.062439880-04:00 Redis ping #3 failed.
2024-08-12T09:49:21.062478095-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:21.062485701-04:00 Waiting 5s
2024-08-12T09:49:26.082569282-04:00 Redis ping #4 failed.
2024-08-12T09:49:26.082615162-04:00 Error: Error -5 connecting to paperless-redis-master:6379. No address associated with hostname..
2024-08-12T09:49:26.082623103-04:00 Waiting 5s
2024-08-12T09:49:31.082749996-04:00 Failed to connect to redis using environment variable PAPERLESS_REDIS.

Additional information

Looks like there was a recent change to Redis secret handling?

mike12806 commented 11 months ago

Tried an earlier release (0.2.0) w/out success. Here's my values.yaml

affinity: {}
configMap:
  annotations: {}
  labels: {}
fullnameOverride: ''
gotenberg:
  enabled: true
  gotenberg:
    chromium:
      allowList: file:///tmp/.*
      disableJavaScript: true
    logging:
      level: warn
image:
  digest: ''
  pullPolicy: IfNotPresent
  pullSecrets: []
  registry: ghcr.io
  repository: paperless-ngx/paperless-ngx
  tag: 2.10.1
ingress:
  annotations: {}
  className: ''
  enabled: false
  extraHosts: []
  tls: []
  whitelist: ''
initContainers: []
livenessProbe:
  enabled: true
  failureThreshold: 10
  initialDelaySeconds: 120
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
nameOverride: ''
nodeSelector: {}
paperless:
  address: 0.0.0.0
  appLogo: ''
  appTitle: ''
  apps: ''
  auth:
    adminMail: REDACTED
    adminPassword: REDACTED
    adminUser: REDACTED
    allowSignups: ''
    autoLoginUsername: ''
    defaultHTTPProtocol: https
    disableRegularLogin: false
    emailVerification: optional
    existingSecret: ''
    sessionRemember: None
    social:
      accountProviders: ''
      allowSignups: false
      autoSignup: false
      existingSecret: ''
  binaries:
    convert: ''
    gs: ''
  consume:
    barcodeScanner: PYZBAR
    barcodes:
      ASNBarcodePrefix: ASN
      dpi: 300
      enableASNBarcode: ''
      enableTagBarcode: false
      enabled: false
      string: PATCHT
      tagBarcodeMapping: ''
      tiffSupport: false
      upscale: '0.0'
    collate:
      doubleSidedSubdirName: ''
      doubleSidedTiffSupport: false
      enableDoubleSided: false
    dateOrder: ''
    deleteDuplicates: false
    filenameDateOrder: ''
    iNotify:
      delay: '0.5'
    ignoreDates: ''
    ignorePatterns: ''
    numberOfSuggestedDates: 3
    polling:
      delay: 5
      enabled: 0
      retryCount: 5
    postConsumeScript: ''
    preConsumeScript: ''
    recursive: false
    subdirsAsTags: false
    thumbnailFontName: ''
  conversion:
    memoryLimit: ''
    tmpDir: ''
  cron:
    emailTask: '*/10 * * * *'
    emptyTrashTask: 30 0 * *
    indexTask: 0 0 * * *
    sanityTask: 30 0 * *
    trainTask: 5 */1 * * *
  data:
    paths:
      consumptionDir: ''
      dataDir: ''
      emailCertificateLocation: ''
      emptyTrashDir: ''
      filenameFormat: ''
      filenameFormatRemoveNone: false
      loggingDir: ''
      mediaRoot: ''
      modelFile: ''
      nltkDir: ''
      staticDir: ''
      supervisordWorkingDir: ''
      trashDir: ''
    pvc:
      existingClaim: ''
      reclaimPolicy: Retain
      size: 500Gi
      storageClass: longhorn
  domain: ''
  emptyTrashDelay: ''
  enableAuditLog: true
  enableCompression: '1'
  enableFlower: false
  enableNLTK: ''
  gid: 1000
  gotenberg:
    endpoint: ''
  hosting:
    HTTPRemoteUserHeaderName: ''
    allowedHosts: ''
    cookiePrefix: ''
    corsAllowedHosts: ''
    enableHTTPRemoteUser: false
    enableHTTPRemoteUserAPI: false
    forceScriptName: ''
    logoutRedirectURL: ''
    proxySSLHeader: ''
    staticURL: ''
    trustedOrigins: ''
    trustedProxies: ''
    useXForwardHost: false
    useXForwardPort: false
  logging:
    logrotateMaxBackups: ''
    logrotateMaxSize: ''
  maxImagePixels: ''
  ocr:
    additionalLanguages: ''
    clean: clean
    colorConversionStrategy: ''
    deskew: true
    imageDPI: ''
    language: eng
    maxImagePixels: ''
    mode: skip
    outputType: pdfa
    pages: ''
    rotatePages: true
    rotatePagesThreshold: 12
    skipArchiveFile: never
    userArgs: ''
  port: 8000
  postgresql:
    certs:
      cert: ''
      key: ''
      rootCert: ''
    existingSecret: ''
    host: paperless-postgresql
    name: paperless
    password: paperless
    port: 5432
    sslMode: prefer
    timeout: ''
    user: paperless
  redis:
    existingSecret: ''
    host: paperless-redis-master
    password: paperless
    port: 6379
    prefix: ''
    username: ''
  secretKey:
    existingSecret:
      key: ''
      name: ''
    value: ''
  smtp:
    existingSecret: ''
    from: ''
    host: ''
    password: ''
    port: ''
    useSSL: false
    useTLS: false
    user: ''
  taskWorkers: ''
  threadsPerWorker: ''
  tika:
    enabled: true
    endpoint: ''
  timeZone: UTC
  uid: 1000
  webserverWorkers: 1
  workerTimeout: ''
podAnnotations: {}
podDisruptionBudget:
  enabled: false
  minAvailable: 1
podLabels: {}
podSecurityContext: {}
postgresql:
  auth:
    database: paperless
    enablePostgresUser: true
    password: paperless
    postgresPassword: postgres
    usePasswordFiles: false
    username: paperless
  enabled: true
  primary:
    name: primary
    persistence:
      accessModes:
        - ReadWriteOnce
      enabled: true
      existingClaim: ''
      size: 25Gi
      storageClass: longhorn
priorityClassName: ''
rbac:
  create: true
  rules: []
readinessProbe:
  enabled: true
  failureThreshold: 3
  initialDelaySeconds: 120
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
redis:
  architecture: standalone
  auth:
    password: paperless
  enabled: true
  persistance:
    accessMode: ReadWriteOnce
    enabled: true
    size: 8Gi
    storageClass: longhorn
resources: {}
secret:
  annotations: {}
  labels: {}
securityContext: {}
service:
  annotations: {}
  clusterIP: ''
  externalIPs: []
  externalTrafficPolicy: Cluster
  extraPorts: []
  internalTrafficPolicy: Cluster
  ipFamilyPolicy: ''
  labels: {}
  loadBalancerClass: ''
  loadBalancerIP: 192.168.1.2
  loadBalancerSourceRanges: []
  nodePort: 30080
  port: 8000
  sessionAffinity: None
  sessionAffinityConfig: {}
  type: LoadBalancer
serviceAccount:
  annotations: {}
  automount: false
  create: true
  name: ''
  secrets: []
startupProbe:
  enabled: true
  failureThreshold: 10
  initialDelaySeconds: 90
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 1
strategy: {}
tika:
  enabled: true
tolerations: []
volumeMounts: []
volumes: []
mike12806 commented 11 months ago

Was able to fix this by changing the helm deployment name from "paperless-ngx" to "paperless". Leaving this open as that really should be mapped specifically to the helm deployment name, if that's being assumed to be the hostname, somehow?

mvprowess commented 10 months ago

Hey @mike12806, thank you for bringing this to my attention. I've already found the issue. I was testing the previous 0.2.2 installation with the Makefile command make install CHART=charts/paperless-ngx VALUES=ci/test-values.yaml RELEASE_NAME=paperless which of course locked the release name to paperless...

I am hoping to mitigate issues like this in the future when I get an actual testing toolkit set up. Helm's testing tooling isn't really up to par with how much testing I want to do, but I found a solution just the other day so this will be fixed for all charts in future versions.

I have just published 0.2.3 of the Chart containing fixes for your issue. As far as your case of installation with default values is concerned, I was able to install the new version using the default values with pretty much any release name (I tried mypaper,paperfull-xgn and a few others).

I am going to close this since it seems to be fixed. Feel free to reopen or create another one if the issue persists for you 🙌🏼

mike12806 commented 10 months ago

Hey @mike12806, thank you for bringing this to my attention. I've already found the issue. I was testing the previous 0.2.2 installation with the Makefile command make install CHART=charts/paperless-ngx VALUES=ci/test-values.yaml RELEASE_NAME=paperless which of course locked the release name to paperless...

I am hoping to mitigate issues like this in the future when I get an actual testing toolkit set up. Helm's testing tooling isn't really up to par with how much testing I want to do, but I found a solution just the other day so this will be fixed for all charts in future versions.

I have just published 0.2.3 of the Chart containing fixes for your issue. As far as your case of installation with default values is concerned, I was able to install the new version using the default values with pretty much any release name (I tried mypaper,paperfull-xgn and a few others).

I am going to close this since it seems to be fixed. Feel free to reopen or create another one if the issue persists for you 🙌🏼

Thank you for your thorough response!