Skip to content

Campaign L10 objective "Enable HTTPS by adding TLS with a Secret" is impossible to complete — Ingress.addTLS() is never called #43

Description

@sinCodes11

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions