Coder Social home page Coder Social logo

pascaliske / helm-charts Goto Github PK

View Code? Open in Web Editor NEW
34.0 34.0 11.0 3.13 MB

Another repository with lightweight Helm Charts.

Home Page: https://charts.pascaliske.dev

License: MIT License

Shell 0.29% Smarty 92.52% YAML 7.19%
helm helm-charts kubernetes

helm-charts's People

Contributors

allcontributors[bot] avatar astralhpi avatar catrielmuller avatar dependabot[bot] avatar dzeri96 avatar github-actions[bot] avatar pascaliske avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

helm-charts's Issues

paperless: Only PAPERLESS_SECRET_KEY mounted when using an existing secret?

Hi Pascal,

existingSecret: ''

I am currently trying to setup paperless. I have a secret that contains the keys as stated a little below:

[...]
stringData:
  PAPERLESS_SECRET_KEY: ADD-A-RANDOM-STRING-HERE
  PAPERLESS_ADMIN_USER: YOUR-USERNAME-GOES-HERE
  PAPERLESS_ADMIN_PASSWORD: YOUR-PASSWORD-GOES-HERE
  PAPERLESS_ADMIN_MAIL: YOUR-MAIL-ADDRESS-GOES-HERE
  PAPERLESS_URL: YOUR-URL-GOES-HERE

However it seems like the chart only uses the PAPERLESS_SECRET_KEY from the existing secret:

$ kubectl get deploy paperless
[...]
    spec:
      containers:
      - env:
        - name: TZ
          value: UTC
        - name: PAPERLESS_TIME_ZONE
          value: UTC
        - name: PAPERLESS_CONSUMPTION_DIR
          value: /consumption
        - name: PAPERLESS_REDIS
          value: redis://paperless-redis:6379
        - name: PAPERLESS_SECRET_KEY
          valueFrom:
            secretKeyRef:
              key: PAPERLESS_SECRET_KEY
              name: paperless-admin
        - name: PAPERLESS_PORT
          value: "8000"
[...]

Should this be working? Am I missing something?

Unfortunately this chart does not have a envFrom:, at least according to the values.yaml.

cloudflared: running service as type Loadbalancer errors out due to two different protocols

I am running the service with type Loadbalancer on my local k3s+MetalLB cluster.

However, after enabling the metrics, I cannot upgrade as mixed protocols are not allowed on services of type Loadbalancer.

Error: UPGRADE FAILED: cannot patch "cloudflared" with kind Service: Service "cloudflared" is invalid: spec.ports: Invalid value: []core.ServicePort{core.ServicePort{Name:"dns", Protocol:"UDP", AppProtocol:(*string)(nil), Port:53, TargetPort:intstr.IntOrString{Type:0, IntVal:5053, StrVal:""}, NodePort:30686}, core.ServicePort{Name:"metrics", Protocol:"TCP", AppProtocol:(*string)(nil), Port:49312, TargetPort:intstr.IntOrString{Type:0, IntVal:5053, StrVal:""}, NodePort:0}}: may not contain more than 1 protocol when type is 'LoadBalancer'

I can think of two solutions:

  • rework to have two separate services (aka two service template files)
  • do not expose the metrics via the service

[feat] Create/use a K8S secret for the admin credentials for paperless-ngx

Is your feature request related to a problem? Please describe.

Running the chart directly does not set admin user / password so no login is possible.

Describe the solution you'd like

Add a configuration option to the values.yaml that either creates a new secret or allows to use an existing one to set the admin credentials.

Describe alternatives you've considered

As a workaround, it is possible to set the credentials using the environment variables PAPERLESS_ADMIN_USERNAME and PAPERLESS_ADMIN_PASSWORD.

linkding 1.0.5 Helm chart broke my deployment

I tried to upgrade from chart version 0.3.1 to the latest 1.0.5 (at the time of writing) and it failed with the error: reconciliation failed: Helm upgrade failed: cannot patch "linkding" with kind Deployment: Deployment.apps "linkding" is invalid: spec.template.spec.containers[0].volumeMounts[0].name: Not found: "storage-volume"

I have a pre-baked PV and PVC that I refer to and they've worked quite well so far.

---
kind: PersistentVolume
apiVersion: v1
metadata:
  name: storage-volume
spec:
  capacity:
    storage: 10Gi
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: local-path
  local:
    path: /home/....
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: storage-volume
  namespace: linkding
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: local-path
  resources:
    storage: 10Gi
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
  name: pascaliske
  namespace: linkding
spec:
  interval: 60m
  url: https://charts.pascaliske.dev
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
  name: linkding
  namespace: linkding
spec:
  interval: 30s
  chart:
    spec:
      chart: linkding
      version: "0.3.1" # <- I only changed this line to 1.0.5
      sourceRef:
        kind: HelmRepository
        name: pascaliske
        namespace: linkding
      interval: 60m
  values:
    persistentVolumeClaim:
      create: false
      existingPersistentVolumeClaim: storage-volume
---

The cluster is managed with FluxCD, hence the HelmRepository and HelmRelease objects. What I saw among the k8s events was the Helm release tried to provision another volume, named linkding-storage and disregarded my pre-made PV and PVC although they were there and named exactly as the release required. Any pointer would be greatly appreciated.

[feat] Rebuild chart index workflow

Is your feature request related to a problem? Please describe.
If the chart index on the gh-pages branch gets corrupted the chart-release workflow can not restore it.

Describe the solution you'd like
Create a workflow to rebuild the index if it got corrupted.

Describe alternatives you've considered
Update the chart index in an idempotent fashion during the release process.

Additional context

[bug] Paperless-ngx chart is missing PAPERLESS_NGX ENV variable

Describe the bug
I'm a beginner with helm so I might be doing something wrong, but after deploying the paperless-ngx chart with redis enabled, the pod fails to start with the following error:

Adjusting permissions of paperless files. This may take a while.
Waiting for Redis...
Redis ping #0 failed.
Error: Error 111 connecting to localhost:6379. Connection refused..
Waiting 5s
Redis ping #1 failed.
Error: Error 111 connecting to localhost:6379. Connection refused..
Waiting 5s
Redis ping #2 failed.
Error: Error 111 connecting to localhost:6379. Connection refused..
Waiting 5s
Redis ping #3 failed.
Error: Error 111 connecting to localhost:6379. Connection refused..
Waiting 5s
Redis ping #4 failed.
Error: Error 111 connecting to localhost:6379. Connection refused..
Waiting 5s
Failed to connect to redis using environment variable PAPERLESS_REDIS.

To me it seems like you added the variable to your CI dir so it can pass tests, but in my opinion it should have been present in the template, within an if block. This would also allow proper injection of redis' service name.

To Reproduce
Steps to reproduce the behavior:

Deploy the paperless chart with the following values:

redis:
  enabled: true

Expected behavior
The PAPERLESS_REDIS variable gets properly set with the generated (or overwritten) redis service name

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/labels.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • crazy-max/ghaction-github-labeler v5
.github/workflows/release.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • azure/setup-helm v3.5
  • arduino/setup-task v1
  • actions/cache v4
  • helm/chart-releaser-action v1.6.0
.github/workflows/test.yml
  • actions/checkout v4@b4ffde65f46336ab88eb53be808477a3936bae11
  • actions/setup-python v5
  • azure/setup-helm v3.5
  • helm/chart-testing-action v2.6.1
  • helm/kind-action v1.8.0
helm-values
charts/clickhouse/values.yaml
charts/cloudflare-dyndns/values.yaml
charts/cloudflared/values.yaml
charts/code-server/values.yaml
charts/digitalocean-dyndns/values.yaml
charts/fritzbox-exporter/values.yaml
charts/gitlab/values.yaml
charts/hammond/values.yaml
charts/homer/values.yaml
charts/keycloak/values.yaml
charts/linkding/values.yaml
charts/paperless/values.yaml
charts/plausible-exporter/values.yaml
charts/plausible/values.yaml
  • ghcr.io/maxmind/geoipupdate v6.1.0
charts/redis/values.yaml
charts/snapdrop/values.yaml
charts/traefik-errors/values.yaml
charts/unbound/values.yaml
charts/uptime-kuma/values.yaml
charts/vikunja/values.yaml
helmv3
charts/clickhouse/Chart.yaml
  • base 1.2.0
charts/cloudflared/Chart.yaml
  • base 1.2.0
charts/code-server/Chart.yaml
  • base 1.2.0
charts/fritzbox-exporter/Chart.yaml
  • base 1.2.0
charts/gitlab/Chart.yaml
  • base 1.2.0
charts/hammond/Chart.yaml
  • base 1.2.0
charts/homer/Chart.yaml
  • base 1.2.0
charts/keycloak/Chart.yaml
  • base 1.2.0
charts/linkding/Chart.yaml
  • base 1.2.0
charts/paperless/Chart.yaml
  • base 1.2.0
  • redis 1.1.3
charts/plausible-exporter/Chart.yaml
  • base 1.2.0
charts/plausible/Chart.yaml
  • base 1.2.0
charts/redis/Chart.yaml
  • base 1.2.0
charts/snapdrop/Chart.yaml
  • base 1.2.0
charts/traefik-errors/Chart.yaml
  • base 1.2.0
charts/unbound/Chart.yaml
  • base 1.2.0
charts/uptime-kuma/Chart.yaml
  • base 1.2.0
charts/vikunja/Chart.yaml
  • base 1.2.0
npm
package.json
  • @commitlint/cli ^18.0.0
  • @commitlint/config-conventional ^18.0.0
  • husky ^9.0.0
  • lint-staged ^15.0.0
pip_requirements
docs/requirements.txt
  • material-plausible-plugin ==0.2.0
regex
charts/clickhouse/Chart.yaml
  • clickhouse/clickhouse-server 24.1.1.2048-alpine
charts/cloudflare-dyndns/Chart.yaml
  • ghcr.io/pascaliske/cloudflare-dyndns 0.1.1
charts/cloudflared/Chart.yaml
  • ghcr.io/crazy-max/cloudflared 2023.10.0
charts/code-server/Chart.yaml
  • ghcr.io/coder/code-server 4.20.1
charts/digitalocean-dyndns/Chart.yaml
  • ghcr.io/pascaliske/digitalocean-dyndns 0.0.3
charts/fritzbox-exporter/Chart.yaml
  • sealife/fritzbox-exporter 1.0
charts/gitlab/Chart.yaml
  • gitlab/gitlab-ce 16.8.1-ce.0
charts/hammond/Chart.yaml
  • ghcr.io/alfhou/hammond v0.0.24
charts/homer/Chart.yaml
  • b4bz/homer v23.10.1
charts/keycloak/Chart.yaml
  • quay.io/keycloak/keycloak 23.0.5
charts/linkding/Chart.yaml
  • sissbruecker/linkding 1.24.0
charts/paperless/Chart.yaml
  • ghcr.io/paperless-ngx/paperless-ngx 2.4.3
charts/plausible-exporter/Chart.yaml
  • ghcr.io/riesinger/plausible-exporter 1.1.0
charts/plausible/Chart.yaml
  • plausible/analytics v2.0.0
charts/redis/Chart.yaml
  • redis 7.2.4
charts/snapdrop/Chart.yaml
charts/traefik-errors/Chart.yaml
  • ghcr.io/pascaliske/traefik-errors 1.2.0
charts/unbound/Chart.yaml
  • ghcr.io/pascaliske/unbound 0.1.0
charts/uptime-kuma/Chart.yaml
  • louislam/uptime-kuma 1.23.11
charts/vikunja/Chart.yaml
  • vikunja/api 0.22.1

  • Check this box to trigger a request for Renovate to run again on this repository

[feat] Use single service for DNS endpoints

Is your feature request related to a problem? Please describe.

Describe the solution you'd like
Newer Kubernetes versions allow combining TCP & UDP ports to be combined into a single service. This should be optionally possible with this chart.

Describe alternatives you've considered

Additional context

DNS over TCP not working with targetPort names

I just upgraded to the latest version of the chart, and noticed that DNS via TCP was no longer working.

$ dig @192.168.99.166 suse.de +tcp
;; Connection to 192.168.99.166#53(192.168.99.166) for suse.de failed: connection refused.

Editing the service and changing targetPort: dns-tcp to targetPort: 5053 immediately restores the connectivity.

Funnily enough, for dns-udp it is working even with the name for the targetPort... :-)

[feat] Use PersistentVolumeClaims or Kubernetes volumes for consumption, export and trash directories of paperless-ngx

Is your feature request related to a problem? Please describe.
The consumption, export and trash directories currently only allow to be mounted to host paths:

consumption:
  # -- Enable the volume mount of a [consumption directory](https://paperless-ngx.readthedocs.io/en/latest/configuration.html#paths-and-folders).
  enabled: false
  # -- Mount path of the consumption directory inside the container.
  mountPath: /consumption
  # -- Host path of the consumption directory outside the container.
  hostPath: ''

This is not practical for Kubernetes because when using NAS etc. for backups, the directories first need to be mounted on all nodes.

Describe the solution you'd like

I would like an option to specify an existing PVC to mount these at, like:

consumption:
  # -- Enable the volume mount of a [consumption directory](https://paperless-ngx.readthedocs.io/en/latest/configuration.html#paths-and-folders).
  enabled: true
  # -- Mount path of the consumption directory inside the container.
  mountPath: /consumption
  # -- Host path of the consumption directory outside the container.
  hostPath: ''
  # -- PVC of the consumption directory
  persistentVolumeClaim: 'my-consumption-claim'

Describe alternatives you've considered

Using some automation technology (like Ansible) to mount the directory to each node, but this opposes the idea of Kubernetes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.