{"record":{"id":"e0575328ac7d8848","repo":"CanineHQ/canine","slug":"no-stack-manager-found","errorCode":null,"errorMessage":"No stack manager found","messagePattern":"No stack manager found","errorType":"exception","errorClass":"StandardError","httpStatus":null,"severity":"error","filePath":"app/services/k8/connection.rb","lineNumber":28,"sourceCode":"    klass = clusterable.class.name\n    if klass == \"Cluster\"\n      clusterable\n    elsif klass == \"Project\"\n      clusterable.cluster\n    elsif klass == \"AddOn\"\n      clusterable.cluster\n    else\n      raise \"`clusterable` is not a Cluster, Project, or AddOn\"\n    end\n  end\n\n  def kubeconfig\n    config = if cluster.in_cluster?\n      build_in_cluster_kubeconfig\n    elsif cluster.kubeconfig.present?\n      cluster.kubeconfig\n    else\n      raise StandardError.new(\"No stack manager found\") if stack_manager.blank?\n      stack = stack_manager.stack.connect(user, allow_anonymous:)\n      stack.fetch_kubeconfig(cluster)\n    end\n\n    if Rails.configuration.remap_localhost.present?\n      remap_host = Rails.configuration.remap_localhost\n      config.dup.tap do |remapped|\n        remapped['clusters']&.each do |c|\n          c['cluster']['server'] = K8::Kubeconfig.remap_localhost(c['cluster']['server'], remap_host)\n        end\n      end\n    else\n      config\n    end\n  end\n\n  def stack_manager\n    cluster.account.stack_manager","sourceCodeStart":10,"sourceCodeEnd":46,"githubUrl":"https://github.com/CanineHQ/canine/blob/ba4ee3968d8513ee27d8583fbd3e854a8dd053f3/app/services/k8/connection.rb#L10-L46","documentation":"Error \"No stack manager found\" thrown in CanineHQ/canine.","triggerScenarios":"Thrown at app/services/k8/connection.rb:28 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":"ba4ee3968d8513ee27d8583fbd3e854a8dd053f3","analyzedAt":"2026-08-23T17:49:27.834Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}