Skip to content

Examples and docs omit routing, so the operator creates no HTTPRoute or TLS #34

Open

Description

@dcmcand

The basic-nginx and wrap-existing-chart examples, and most NebariApp snippets in the docs, have no spec.routing block. With routing unset, operator v0.1.1 deletes any HTTPRoute, sets RoutingReady=False/RoutingNotConfigured and TLSReady=False/TLSDisabled, creates no Certificate, and still reports Ready=True (internal/controller/nebariapp_controller.go:184-208, internal/controller/reconcilers/tls/reconciler.go:71-74). The pack deploys, goes Ready, and is unreachable through the gateway.

The CRD reference already says this (docs/site/src/content/docs/nebariapp-crd-reference.md:66), so the docs contradict themselves.

Where routing is missing

vanilla-yaml, kustomize-nginx and auth-fastapi set routing and work.

Why CI passes

.github/workflows/test-integration.yaml:173-174 waits for Ready and then runs kubectl get httproute, which exits 0 on an empty result. The log for run 36736164169 shows condition met, then No resources found in default namespace., then basic-nginx: NebariApp Ready. wrap-existing-chart does the same.

Fix

  • Add routing.routes: [{pathPrefix: /}] and routing.tls.enabled: true to both chart values files and every snippet listed above.
  • Make the integration test assert that the HTTPRoute exists and that RoutingReady and TLSReady are True, not only Ready.

Related: nebari-dev/nebari-docs#738 repeats the same values block without routing.

Verified against this repo at 4e50cd0, nebari-operator v0.1.1 (same commit as operator main), and NIC v0.14.0.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    Start date

    None yet

    Target date

    None yet

    Size

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions