helm-charts/charts/other/app-template/README.md
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 98677d85b2
feat(common): Release 2.0.0 (#189)
2023-10-02 13:21:17 +02:00

150 lines
3.8 KiB
Markdown

# app-template
![Version: 2.0.0](https://img.shields.io/badge/Version-2.0.0-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.0 |
## 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
Given the following real-life example values.yaml for app-template v1:
<details>
<summary>Expand</summary>
```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"
persistence:
media:
enabled: true
existingClaim: nas-media
mountPath: /data/nas-media
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
```
</details>
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"
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`).
- `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)