CanineHQ/canine · error · RuntimeError
No installer registered for package: #{name}
Error message
No installer registered for package: #{name} What it means
Error "No installer registered for package: #{name}" thrown in CanineHQ/canine.
Source
Thrown at app/models/cluster_package.rb:57
after_update_commit :broadcast_package
DEFINITIONS = YAML.load_file(Rails.root.join("resources", "helm", "system_packages.yml"))["packages"]
INSTALLER_REGISTRY = {
"traefik-ingress" => "ClusterPackage::Installer::TraefikIngress",
"nginx-ingress" => "ClusterPackage::Installer::NginxIngress",
"cert-manager" => "ClusterPackage::Installer::CertManager",
"metrics-server" => "ClusterPackage::Installer::MetricsServer",
"telepresence" => "ClusterPackage::Installer::Telepresence",
"cloudflared" => "ClusterPackage::Installer::Cloudflared"
}.freeze
def definition
DEFINITIONS.find { |d| d["name"] == name }
end
def installer
class_name = INSTALLER_REGISTRY.fetch(name) { raise "No installer registered for package: #{name}" }
class_name.constantize.new(self)
end
def configurable?
definition&.dig("template").present?
end
def self.definitions
DEFINITIONS
end
def self.default_package_names
DEFINITIONS.select { |d| d["default"] }.map { |d| d["name"] }
end
def self.permitted_config_keys(package_name)
defn = DEFINITIONS.find { |d| d["name"] == package_name }
defn&.dig("template")&.map { |field| field["key"] } || []View on GitHub (pinned to ba4ee3968d)
When it happens
Trigger: Thrown at app/models/cluster_package.rb:57 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23).
Data as JSON: /api/errors/3cbbe80edc278387.
Report an issue: GitHub.