tilt-dev / tilt-dev/tilt

Reconciler Error if an custom extension is registered but not loaded

Open
#6,007 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
10.1k
Forks
413
Avg merge
1d 10h
Merged PRs (30d)
6

Description

Expected Behavior

No errors in logs

Current Behavior

Many error messages in logs when a custom extension is registered, but never loaded.

ERROR: [] "msg"="Reconciler error" "error"="Failed to update API server: [create extensionrepos/default: extensionrepos.tilt.dev \"default\" already exists, create extensions/helm_resource: extensions.tilt.dev \"helm_resource\" already exists]" "controller"="tiltfile" "controllerGroup"="tilt.dev" "controllerKind"="Tiltfile" "Tiltfile"={"name":"my_ext_2"} "namespace"="" "name"="my_ext_2" "reconcileID"="96266349-e12c-443f-ac40-93f8c8645e54"

Steps to Reproduce

Reproduction at:

https://github.com/markdingram/tilt-extension-test

Context
tilt doctor Output

Tilt: v0.30.13, built 2022-12-01
System: darwin-amd64

About Your Use Case

We have a number of custom extensions. Some of which build on existing extensions like 'helm_resource'. These error messages start spamming the logs if such an extension is registered without being loaded.

Encountered this when creating a single helper function that would handle all the registrations for various Tiltfile's to import. The workaround is to "load_dynamic" all of the extensions as they are registered.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reproduction at https://github.com/markdingram/tilt-extension-test and trace the Tiltfile reconciler errors shown when a registered extension is not loaded. Check how extension registration updates the API server; done means the reproduction no longer produces repeated reconciler errors, without requiring every extension to be loaded dynamically.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.