{"record":{"id":"7f1afacf04adac82","repo":"tailscale/tailscale","slug":"error-retrieving-ingress-services-configuration","errorCode":null,"errorMessage":"error retrieving ingress services configuration: %w","messagePattern":"error retrieving ingress services configuration: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/k8s-operator/svc-for-pg.go","lineNumber":262,"sourceCode":"\t}\n\n\t// TODO(irbekrm): right now if two Service resources attempt to apply different Tailscale Service configs (different\n\t// tags) we can end up reconciling those in a loop. We should detect when a Service\n\t// with the same generation number has been reconciled ~more than N times and stop attempting to apply updates.\n\tif existingTSSvc == nil ||\n\t\t!reflect.DeepEqual(tsSvc.Tags, existingTSSvc.Tags) ||\n\t\t!ownersAreSetAndEqual(tsSvc, *existingTSSvc) {\n\t\tlogger.Infof(\"Ensuring Tailscale Service exists and is up to date\")\n\t\tif err = tsClient.VIPServices().CreateOrUpdate(ctx, tsSvc); err != nil {\n\t\t\treturn false, fmt.Errorf(\"error creating Tailscale Service: %w\", err)\n\t\t}\n\n\t\texistingTSSvc = &tsSvc\n\t}\n\n\tcm, cfgs, err := ingressSvcsConfigs(ctx, r.Client, pg.Name, r.tsNamespace)\n\tif err != nil {\n\t\treturn false, fmt.Errorf(\"error retrieving ingress services configuration: %w\", err)\n\t}\n\tif cm == nil {\n\t\tlogger.Info(\"ConfigMap not yet created, waiting..\")\n\t\treturn false, nil\n\t}\n\n\tif len(existingTSSvc.Addrs) == 0 {\n\t\texistingTSSvc, err = tsClient.VIPServices().Get(ctx, tsSvc.Name)\n\t\tswitch {\n\t\tcase err != nil:\n\t\t\treturn false, fmt.Errorf(\"error getting Tailscale Service: %w\", err)\n\t\tcase len(existingTSSvc.Addrs) == 0:\n\t\t\t// TODO(irbekrm): this should be a retry\n\t\t\treturn false, fmt.Errorf(\"unexpected: Tailscale Service addresses not populated\")\n\t\t}\n\t}\n\n\tvar tsSvcIPv4 netip.Addr","sourceCodeStart":244,"sourceCodeEnd":280,"githubUrl":"https://github.com/tailscale/tailscale/blob/cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042/cmd/k8s-operator/svc-for-pg.go#L244-L280","documentation":"Error \"error retrieving ingress services configuration: %w\" thrown in tailscale/tailscale.","triggerScenarios":"Thrown at cmd/k8s-operator/svc-for-pg.go:262 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042","analyzedAt":"2026-08-15T19:58:31.583Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}