Validate Helm Charts / Detect changed charts (pull_request) Successful in 3s
Validate Helm Charts / Resource quantities (pull_request) Successful in 8s
Validate Helm Charts / Build ${{ fromJSON(needs.detect-changed-charts.outputs.charts) }} (pull_request) Successful in 3s
Validate Helm Charts / Install-test ${{ fromJSON(needs.detect-changed-charts.outputs.install-charts) }} (pull_request) Skipped
Validate Helm Charts / Trivy config ${{ fromJSON(needs.detect-changed-charts.outputs.scan-charts) }} (pull_request) Successful in 9s
--set dev=null aborted the render at .Values.dev.debug and --set server=null at .Values.server.replicas, while the third block, game, has fallen back to the chart defaults since 7.0.0. Half-safe is the worse state of the two: whoever sees game=null work assumes server=null does too. Both blocks now run through satisfactory.defaultedDict like game, via two new helpers next to it. server.resources is deliberately NOT re-defaulted there - it already runs through satisfactory.effectiveResources, which carries those defaults and is null-safe on its own, and a second copy of limitFactor: 2 / 4Gi / 1 / 5Gi would be a third place for them to drift. server is read in four files, not one, and the fourth is NOTES.txt, which helm template never renders - a fix confined to the manifests would have looked green and still aborted on a real helm install. All four go through the helpers. The single erased key was the quieter half of the bug and is fixed with it: a nulled server.gamePort rendered "port:" and "nodePort:" empty into the Service and an empty containerPort into the StatefulSet, and a nulled server.storage a PVC asking for no size - manifests rejected by nothing until the API server saw them. server.storage was documented in values.schema.json as deliberately not null-safe; that reasoning does not survive the block-level case, because it made "server: null" render a sizeless PVC instead of falling back like everything else. The schema note is replaced rather than left lying. Rendered output for valid values is unchanged: helm template against the chart defaults and against a full override set is byte-identical to 7.0.0, and so is NOTES.txt. Hence a patch bump, appVersion untouched. Fixes #16
30 lines
880 B
YAML
30 lines
880 B
YAML
{{- $server := fromYaml (include "satisfactory.server" .Values.server) -}}
|
|
{{- $gamePort := include "satisfactory.formatNumber" $server.gamePort -}}
|
|
{{- $msgPort := include "satisfactory.formatNumber" $server.messagingPort -}}
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ .Release.Name }}-{{ .Chart.Name }}-service
|
|
labels:
|
|
app: {{ .Release.Name }}-{{ .Chart.Name }}-service
|
|
spec:
|
|
type: NodePort
|
|
ports:
|
|
- name: "api"
|
|
port: {{ $gamePort }}
|
|
protocol: TCP
|
|
nodePort: {{ $gamePort }}
|
|
targetPort: {{ $gamePort }}
|
|
- name: "game"
|
|
port: {{ $gamePort }}
|
|
protocol: UDP
|
|
nodePort: {{ $gamePort }}
|
|
targetPort: {{ $gamePort }}
|
|
- name: "messaging"
|
|
port: {{ $msgPort }}
|
|
protocol: TCP
|
|
nodePort: {{ $msgPort }}
|
|
targetPort: {{ $msgPort }}
|
|
selector:
|
|
app: {{ .Release.Name }}-{{ .Chart.Name }}-sfs
|