module Docker::Swarm
Constants
- API_VERSION
The version of the compatible
Docker
remote API.- VERSION
The version of this gem.
Attributes
creds[RW]
logger[RW]
creds[RW]
logger[RW]
Public Class Methods
authenticate!(options = {}, connection = self.connection)
click to toggle source
Login to the Docker
registry.
# File lib/docker-swarm.rb, line 116 def authenticate!(options = {}, connection = self.connection) creds = options.to_json connection.post('/auth', {}, :body => creds) @creds = creds true rescue Docker::Error::ServerError, Docker::Error::UnauthorizedError raise Docker::Error::AuthenticationError end
connection()
click to toggle source
# File lib/docker-swarm.rb, line 86 def connection @connection ||= Connection.new(url, options) end
default_socket_url()
click to toggle source
# File lib/docker-swarm.rb, line 32 def default_socket_url 'unix:///var/run/docker.sock' end
env_options()
click to toggle source
# File lib/docker-swarm.rb, line 40 def env_options if cert_path = ENV['DOCKER_CERT_PATH'] { client_cert: File.join(cert_path, 'cert.pem'), client_key: File.join(cert_path, 'key.pem'), ssl_ca_file: File.join(cert_path, 'ca.pem'), scheme: 'https' }.merge(ssl_options) else {} end end
env_url()
click to toggle source
# File lib/docker-swarm.rb, line 36 def env_url ENV['DOCKER_URL'] || ENV['DOCKER_HOST'] end
info(connection = self.connection)
click to toggle source
Get more information about the Docker
server.
# File lib/docker-swarm.rb, line 106 def info(connection = self.connection) Util.parse_json(connection.get('/info')) end
options()
click to toggle source
# File lib/docker-swarm.rb, line 72 def options @options ||= env_options end
options=(new_options)
click to toggle source
# File lib/docker-swarm.rb, line 81 def options=(new_options) @options = env_options.merge(new_options || {}) reset_connection! end
ping(connection = self.connection)
click to toggle source
Ping the Docker
server.
# File lib/docker-swarm.rb, line 111 def ping(connection = self.connection) connection.get('/_ping') end
reset!()
click to toggle source
# File lib/docker-swarm.rb, line 90 def reset! @url = nil @options = nil reset_connection! end
reset_connection!()
click to toggle source
# File lib/docker-swarm.rb, line 96 def reset_connection! @connection = nil end
ssl_options()
click to toggle source
# File lib/docker-swarm.rb, line 53 def ssl_options if ENV['DOCKER_SSL_VERIFY'] == 'false' { ssl_verify_peer: false } else {} end end
url()
click to toggle source
# File lib/docker-swarm.rb, line 63 def url @url ||= env_url || default_socket_url # docker uses a default notation tcp:// which means tcp://localhost:2375 if @url == 'tcp://' @url = 'tcp://localhost:2375' end @url end
url=(new_url)
click to toggle source
# File lib/docker-swarm.rb, line 76 def url=(new_url) @url = new_url reset_connection! end
validate_version!()
click to toggle source
When the correct version of Docker
is installed, returns true. Otherwise, raises a VersionError.
# File lib/docker-swarm.rb, line 127 def validate_version! Docker.info true rescue Docker::Error::DockerError raise Docker::Error::VersionError, "Expected API Version: #{API_VERSION}" end
version(connection = self.connection)
click to toggle source
Get the version of Go, Docker
, and optionally the Git commit.
# File lib/docker-swarm.rb, line 101 def version(connection = self.connection) Util.parse_json(connection.get('/version')) end
Private Instance Methods
authenticate!(options = {}, connection = self.connection)
click to toggle source
Login to the Docker
registry.
# File lib/docker-swarm.rb, line 116 def authenticate!(options = {}, connection = self.connection) creds = options.to_json connection.post('/auth', {}, :body => creds) @creds = creds true rescue Docker::Error::ServerError, Docker::Error::UnauthorizedError raise Docker::Error::AuthenticationError end
connection()
click to toggle source
# File lib/docker-swarm.rb, line 86 def connection @connection ||= Connection.new(url, options) end
default_socket_url()
click to toggle source
# File lib/docker-swarm.rb, line 32 def default_socket_url 'unix:///var/run/docker.sock' end
env_options()
click to toggle source
# File lib/docker-swarm.rb, line 40 def env_options if cert_path = ENV['DOCKER_CERT_PATH'] { client_cert: File.join(cert_path, 'cert.pem'), client_key: File.join(cert_path, 'key.pem'), ssl_ca_file: File.join(cert_path, 'ca.pem'), scheme: 'https' }.merge(ssl_options) else {} end end
env_url()
click to toggle source
# File lib/docker-swarm.rb, line 36 def env_url ENV['DOCKER_URL'] || ENV['DOCKER_HOST'] end
info(connection = self.connection)
click to toggle source
Get more information about the Docker
server.
# File lib/docker-swarm.rb, line 106 def info(connection = self.connection) Util.parse_json(connection.get('/info')) end
options()
click to toggle source
# File lib/docker-swarm.rb, line 72 def options @options ||= env_options end
options=(new_options)
click to toggle source
# File lib/docker-swarm.rb, line 81 def options=(new_options) @options = env_options.merge(new_options || {}) reset_connection! end
ping(connection = self.connection)
click to toggle source
Ping the Docker
server.
# File lib/docker-swarm.rb, line 111 def ping(connection = self.connection) connection.get('/_ping') end
reset!()
click to toggle source
# File lib/docker-swarm.rb, line 90 def reset! @url = nil @options = nil reset_connection! end
reset_connection!()
click to toggle source
# File lib/docker-swarm.rb, line 96 def reset_connection! @connection = nil end
ssl_options()
click to toggle source
# File lib/docker-swarm.rb, line 53 def ssl_options if ENV['DOCKER_SSL_VERIFY'] == 'false' { ssl_verify_peer: false } else {} end end
url()
click to toggle source
# File lib/docker-swarm.rb, line 63 def url @url ||= env_url || default_socket_url # docker uses a default notation tcp:// which means tcp://localhost:2375 if @url == 'tcp://' @url = 'tcp://localhost:2375' end @url end
url=(new_url)
click to toggle source
# File lib/docker-swarm.rb, line 76 def url=(new_url) @url = new_url reset_connection! end
validate_version!()
click to toggle source
When the correct version of Docker
is installed, returns true. Otherwise, raises a VersionError.
# File lib/docker-swarm.rb, line 127 def validate_version! Docker.info true rescue Docker::Error::DockerError raise Docker::Error::VersionError, "Expected API Version: #{API_VERSION}" end
version(connection = self.connection)
click to toggle source
Get the version of Go, Docker
, and optionally the Git commit.
# File lib/docker-swarm.rb, line 101 def version(connection = self.connection) Util.parse_json(connection.get('/version')) end