CanineHQ/canine · error · ConnectionError
Connection to Portainer timed out
Error message
Connection to Portainer timed out
What it means
Error "Connection to Portainer timed out" thrown in CanineHQ/canine.
Source
Thrown at lib/portainer/client.rb:88
if response.success?
jwt = response.parsed_response['jwt']
username_response = get(
"#{provider_url}/api/users/me",
headers: { 'Authorization' => "Bearer #{jwt}" },
)
Portainer::Data::User.new(
id: username_response.parsed_response['Id'],
username: username_response.parsed_response['Username'],
jwt:
)
else
raise AuthenticationError, "Invalid username or password"
end
rescue Socket::ResolutionError
raise ConnectionError, "Portainer URL is not resolvable"
rescue Net::ReadTimeout, Net::OpenTimeout
raise ConnectionError, "Connection to Portainer timed out"
end
def registries
registries_data = get("/api/registries")
registries_data.map do |registry_data|
Portainer::Data::Registry.new(
id: registry_data["Id"],
name: registry_data["Name"],
url: registry_data["URL"],
username: registry_data["Username"],
password: registry_data["Password"],
authentication: registry_data["Authentication"]
)
end
end
def endpoints
response = get("/api/endpoints", query: { types: KUBERNETES_ENDPOINT_TYPES })View on GitHub (pinned to ba4ee3968d)
When it happens
Trigger: Thrown at lib/portainer/client.rb:88 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23).
Data as JSON: /api/errors/f65767fd32ed9a58.
Report an issue: GitHub.