# app-template ![Version: 2.0.1](https://img.shields.io/badge/Version-2.0.1-informational?style=flat-square) 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.1 | ## Installing the Chart ```bash # 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](../../library/common/values.yaml) file of the [common library](../../library/common/) chart. It has several commented out suggested values. The [CI tests](../../library/common-test/ci) contain a number of scenarios that may prove useful as well. ## Upgrade instructions ### From 1.x.x to 2.0.x > :warning: **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](https://www.datree.io/resources/kubernetes-error-codes-field-is-immutable) Given the following real-life example values.yaml for app-template v1:
Expand ```yaml 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: ```yaml 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 - See the [Docs](http://bjw-s.github.io/helm-charts/docs/) - Open an [issue](https://github.com/bjw-s/helm-charts/issues/new/choose) - Join the k8s-at-home [Discord](https://discord.gg/k8s-at-home) community ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)