class Krane::Cloudsql

Constants

TIMEOUT

Public Instance Methods

deploy_failed?() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 20
def deploy_failed?
  false
end
deploy_succeeded?() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 16
def deploy_succeeded?
  proxy_deployment_ready? && proxy_service_ready?
end
status() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 12
def status
  deploy_succeeded? ? "Provisioned" : "Unknown"
end
sync(cache) click to toggle source
Calls superclass method Krane::KubernetesResource#sync
# File lib/krane/kubernetes_resource/cloudsql.rb, line 6
def sync(cache)
  super
  @proxy_deployment = cache.get_instance(Deployment.kind, "cloudsql-#{cloudsql_resource_uuid}")
  @proxy_service = cache.get_instance(Service.kind, "cloudsql-#{@name}")
end

Private Instance Methods

cloudsql_resource_uuid() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 38
def cloudsql_resource_uuid
  return unless @instance_data
  @instance_data.dig("metadata", "uid")
end
proxy_deployment_ready?() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 26
def proxy_deployment_ready?
  return false unless (status = @proxy_deployment["status"])
  # all cloudsql-proxy pods are running
  status.fetch("availableReplicas", -1) == status.fetch("replicas", 0)
end
proxy_service_ready?() click to toggle source
# File lib/krane/kubernetes_resource/cloudsql.rb, line 32
def proxy_service_ready?
  return false unless @proxy_service.present?
  # the service has an assigned cluster IP and is therefore functioning
  @proxy_service.dig("spec", "clusterIP").present?
end