helm-charts/charts/other/app-template
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs f729651dbe
fix(common): Release 2.0.2 (#196)
2023-10-05 12:25:05 +02:00
..
templates feat(common)!: Release version 1.0.0 (#68) 2022-11-03 11:41:35 +01:00
.helmignore feat!: Rename common-chart to app-template 2022-08-08 15:05:46 +02:00
Chart.yaml fix(common): Release 2.0.2 (#196) 2023-10-05 12:25:05 +02:00
README.md fix(common): Release 2.0.2 (#196) 2023-10-05 12:25:05 +02:00
README.md.gotmpl docs(common): Update documentation for 2.0.1 2023-10-03 09:51:28 +02:00
values.yaml feat(common): Release 2.0.0 (#189) 2023-10-02 13:21:17 +02:00

app-template

Version: 2.0.2

A common powered chart template. This can be useful for small projects that don't have their own chart.

Requirements

Kubernetes: >=1.22.0-0

Dependencies

Repository Name Version
https://bjw-s.github.io/helm-charts common 2.0.2

Installing the Chart

# Add the repository
helm repo add bjw-s https://bjw-s.github.io/helm-charts/

# Install the chart
helm install bjw-s app-template -f values.yaml

Configuration

Read through the values.yaml file of the common library chart. It has several commented out suggested values. The CI tests contain a number of scenarios that may prove useful as well.

Upgrade instructions

From 1.x.x to 2.0.x

⚠️ IMPORTANT Because a new label has been introduced in the controller labelSelector (which is an immutable field), Deployments cannot be upgraded in place! More details

Given the following real-life example values.yaml for app-template v1:

Expand
image:
  repository: ghcr.io/onedr0p/sabnzbd
  tag: latest
  pullPolicy: IfNotPresent

podSecurityContext:
  runAsUser: 568
  runAsGroup: 568
  fsGroup: 568
  fsGroupChangePolicy: "OnRootMismatch"
  supplementalGroups:
    - 65539

service:
  main:
    ports:
      http:
        port: 8080

ingress:
  main:
    enabled: true
    ingressClassName: "ingress-nginx"
    hosts:
      - host: sabnzbd.bjw-s.dev
        paths:
          - path: /

persistence:
  media:
    enabled: true
    existingClaim: nas-media
    mountPath: /data/nas-media

probes:
  liveness:
    enabled: false
  readiness:
    enabled: false
  startup:
    enabled: false

The values for app-template v2.x would become this:

defaultPodOptions:
  securityContext:
    runAsUser: 568
    runAsGroup: 568
    fsGroup: 568
    fsGroupChangePolicy: "OnRootMismatch"
    supplementalGroups:
      - 65539

controllers:
  main:
    containers:
      main:
        image:
          repository: ghcr.io/onedr0p/sabnzbd
          tag: latest
          pullPolicy: IfNotPresent

        probes:
          liveness:
            enabled: false
          readiness:
            enabled: false
          startup:
            enabled: false

service:
  main:
    ports:
      http:
        port: 8080

ingress:
  main:
    enabled: true
    className: "ingress-nginx"
    hosts:
      - host: sabnzbd.bjw-s.dev
        paths:
          - path: /
            service:
              name: main
              port: http

persistence:
  media:
    existingClaim: nas-media
    globalMounts:
      - path: /data/nas-media

Changes in this example

This is not meant as an exhaustive list of changes, but rather a "most common" example.

  • podSecurityContext has been moved to defaultPodOptions.securityContext. It is also possible to configure this on a controller-specific basis by moving it to controllers.main.pod.securityContext instead.
  • image has been moved to controllers.main.containers.main.image so that multiple containers can be configured.
  • ingress.main.ingressClassName has been renamed to ingress.main.className.
  • ingress.main.enabled can be removed, since items are considered enabled by default (they can still be disabled by adding enabled: false).
  • ingress.main.hosts.*.paths.*.service is now required since there is no more concept of a default "primary" service.
  • persistence.media.mountPath has been moved to persistence.media.globalMounts.*.path to allow multiple mountPaths for the same persistence item.
  • persistence.media.enabled can be removed, since items are considered enabled by default (they can still be disabled by adding enabled: false).
  • probes has been moved to controllers.main.containers.main.probes so that multiple containers can be configured.

Support


Autogenerated from chart metadata using helm-docs v1.11.0