The third objective of Campaign Level 10 (type: 'tls', js/data/CampaignLevels.js:260) checks for an Ingress with a non-empty spec.tls (js/modes/CampaignMode.js:307-313), but no gameplay path can ever populate it:
Ingress.addTLS() exists (js/resources/NetworkResources.js:187) but has zero callers in the codebase
- The Edit dialog (
_showEditDialog in index.html) only exposes labels for Ingress — no TLS fields
- The Ingress path picker (
_showIngressPathPicker) only sets spec.rules
kubectl create ingress uses a fixed default spec with no TLS (js/ui/CommandBar.js:635)
kubectl create secret tls <name> creates an Opaque secret named after the type argument
kubectl apply -f is a filename-keyword stub, so YAML cannot be applied either
Repro: Play Campaign L10, complete objectives 1–2, then try any combination of the above — objective 3 can never tick.
Workaround: game.cluster.getResourcesByKind('Ingress')[0].addTLS(['<host>'], '<secret>') in the browser console.
Suggested fix: add a TLS section (secret dropdown + host) to the Ingress edit dialog wired to addTLS(), and/or support kubectl create secret tls <name> + a spec.tls patch path.
Debugged with Huey
The third objective of Campaign Level 10 (
type: 'tls',js/data/CampaignLevels.js:260) checks for an Ingress with a non-emptyspec.tls(js/modes/CampaignMode.js:307-313), but no gameplay path can ever populate it:Ingress.addTLS()exists (js/resources/NetworkResources.js:187) but has zero callers in the codebase_showEditDialoginindex.html) only exposes labels for Ingress — no TLS fields_showIngressPathPicker) only setsspec.ruleskubectl create ingressuses a fixed default spec with no TLS (js/ui/CommandBar.js:635)kubectl create secret tls <name>creates anOpaquesecret named after the type argumentkubectl apply -fis a filename-keyword stub, so YAML cannot be applied eitherRepro: Play Campaign L10, complete objectives 1–2, then try any combination of the above — objective 3 can never tick.
Workaround:
game.cluster.getResourcesByKind('Ingress')[0].addTLS(['<host>'], '<secret>')in the browser console.Suggested fix: add a TLS section (secret dropdown + host) to the Ingress edit dialog wired to
addTLS(), and/or supportkubectl create secret tls <name>+ aspec.tlspatch path.Debugged with Huey