feat(app-template)!: Release app-template-3.0.0 (#285)

This commit is contained in:
Bernd Schorgers 2024-03-11 10:43:18 +01:00 committed by GitHub
parent 3981facca6
commit 0c6a438040
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 1142 additions and 12 deletions

View file

@ -2,7 +2,7 @@
apiVersion: v2 apiVersion: v2
description: A common powered chart template. This can be useful for small projects that don't have their own chart. description: A common powered chart template. This can be useful for small projects that don't have their own chart.
name: app-template name: app-template
version: 3.0.0-beta3 version: 3.0.0
kubeVersion: ">=1.22.0-0" kubeVersion: ">=1.22.0-0"
maintainers: maintainers:
- name: bjw-s - name: bjw-s
@ -10,12 +10,12 @@ maintainers:
dependencies: dependencies:
- name: common - name: common
repository: https://bjw-s.github.io/helm-charts repository: https://bjw-s.github.io/helm-charts
version: 3.0.0-beta3 version: 3.0.0
annotations: annotations:
artifacthub.io/changes: |- artifacthub.io/changes: |-
- kind: changed - kind: changed
description: | description: |
Updated library version to 3.0.0-beta3. Updated library version to 3.0.0.
links: links:
- name: Upgrade instructions from v2.x - name: Upgrade instructions from v2.x
url: https://bjw-s.github.io/helm-charts/docs/app-template/#from-2xx-to-30x url: https://bjw-s.github.io/helm-charts/docs/app-template/#from-2xx-to-30x

View file

@ -1,6 +1,6 @@
# app-template # app-template
![Version: 3.0.0-beta2](https://img.shields.io/badge/Version-3.0.0--beta2-informational?style=flat-square) ![Version: 3.0.0](https://img.shields.io/badge/Version-3.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. A common powered chart template. This can be useful for small projects that don't have their own chart.
@ -12,7 +12,7 @@ Kubernetes: `>=1.22.0-0`
| Repository | Name | Version | | Repository | Name | Version |
|------------|------|---------| |------------|------|---------|
| https://bjw-s.github.io/helm-charts | common | 3.0.0-beta2 | | https://bjw-s.github.io/helm-charts | common | 3.0.0 |
## Installing the Chart ## Installing the Chart

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,3 @@
{ {
"$ref": "https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.0.0-beta3/charts/library/common/values.schema.json" "$ref": "https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.0.0/charts/library/common/values.schema.json"
} }

View file

@ -33,15 +33,134 @@ examples/helm/vaultwarden/values.yaml
### From 2.x.x to 3.0.x ### From 2.x.x to 3.0.x
The main changes from v2.x to v3.x are the removal of the default `main` objects and the introduction of JSON schema validation.
!!! warning !!! warning
These docs are still being written. Stuff to include: **IMPORTANT** The introduction of the json schema adds additional validations and restrictions on the contents of your chart values.
Things may have been missed during the initial schema creation, so if you run in to any unexpected validation errors please [raise an issue](https://github.com/bjw-s/helm-charts/issues/new?assignees=bjw-s&labels=bug&projects=&template=bug-report.md&title=)
- Removal of `main` objects Given the following real-life example values.yaml for app-template v2:
- Object names
- Required fields, json-schema <details>
- Disabled `enableServiceLinks` <summary>Expand</summary>
- Example migration code
```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
service:
main:
ports:
http:
port: 8080
ingress:
media:
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
```
</details>
The values for app-template v2.x would become this:
```yaml
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/common-3.0.0/charts/library/common/values.schema.json
defaultPodOptions:
enableServiceLinks: true
securityContext:
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: "OnRootMismatch"
supplementalGroups:
- 65539
controllers:
sabnzbd: # this can now be any name you wish
containers:
app: # this can now be any name you wish
image:
repository: ghcr.io/onedr0p/sabnzbd
tag: latest
pullPolicy: IfNotPresent
probes:
liveness:
enabled: true
readiness:
enabled: true
startup:
enabled: true
spec:
failureThreshold: 30
periodSeconds: 5
service:
app: # this can now be any name you wish
controller: sabnzbd
ports:
http:
port: 8080
ingress:
media: # this can now be any name you wish
className: "ingress-nginx"
hosts:
- host: sabnzbd.bjw-s.dev
paths:
- path: /
service:
identifier: app
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.
- The `main` object for controllers, containers, services and ingress has been removed from `values.yaml` and will therefore no longer provide any (both expected and unexpected) default values.
- The `config` object for persistence has been removed from `values.yaml` and will therefore no longer provide any (both expected and unexpected) default values.
- `enableServiceLinks` has been disabled by default. In order to explicitly enable serviceLinks, set the value to `true`.
- `ingress.*.hosts.*.paths.*.service` Service references now require either `name` or `identifier` to be set.
- Persistence items of type `configMap` and `secret` object references now allow either `name` or `identifier` to be set.
### From 1.x.x to 2.0.x ### From 1.x.x to 2.0.x