Upgrading from v2.x to v3.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.
Given the following real-life example values.yaml for app-template v2:
---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-mediaThe values for app-template v3.x would become this:
---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-mediaChanges in this example
Section titled “Changes in this example”This is not meant as an exhaustive list of changes, but rather a “most common” example.
- The
mainobject for controllers, containers, services and ingress has been removed fromvalues.yamland will therefore no longer provide any (both expected and unexpected) default values. - The
configobject for persistence has been removed fromvalues.yamland will therefore no longer provide any (both expected and unexpected) default values. enableServiceLinkshas been disabled by default. In order to explicitly enable serviceLinks, set the value totrue.ingress.*.hosts.*.paths.*.serviceService references now require eithernameoridentifierto be set.- Persistence items of type
configMapandsecretobject references now allow eithernameoridentifierto be set.