Socket
Book a DemoInstallSign in
Socket

engineyard-serverside-adapter

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

engineyard-serverside-adapter

2.5.0
bundlerRubygems
Version published
Maintainers
2
Created
Source

EY::Serverside::Adapter

This library provides an interface bound to the same version of engineyard-serverside.

It tries very hard to throw an exception whenever the caller does anything wrong. The benefit of this is that you can depend on a newer version of engineyard-serverside-adapter and run your tests; if they pass, you can be fairly confident that your code will work with the newer version of engineyard-serverside.

engineyard-serverside-adapter provides you with a builder to describe a cluster, and yields commands to the block you pass. Because it knows nothing about how to connect to a server, only what commands to run, it can be used anywhere where interaction with engineyard-serverside is needed.

Example

This example is adapted from the engineyard gem:

require 'engineyard-serverside-adapter'

def adapter(app, verbose)
  EY::Serverside::Adapter.new("/usr/local/ey_resin/ruby/bin") do |args|
    args.app           = app.name
    args.git           = app.repository_uri
    args.instances     = environment.instances.map { |i| {:hostname => i.public_hostname, :roles => [i.role], :name => i.name} }
    args.verbose       = verbose || ENV['DEBUG']
    args.stack         = environment.stack_name
    args.framework_env = environment.framework_env
  end
end
private :adapter

def deploy(app, ref, migration_command=nil, extra_configuration=nil, verbose=false)
  deploy_command = adapter(app, verbose).deploy do |args|
    args.config  = extra_configuration if extra_configuration # anything that can be to_json'd
    args.migrate = migration_command if migration_command
    args.ref     = ref
  end

  deploy_command.call { |command| app_master.ssh(command) }
end

You can set up args in Adapter.new, in Adapter#deploy (#rollback, #restart, etc.), or in both. A good idea is to set up common args (e.g. app, instances) in Adapter.new and then supply deploy-specific args to Adapter#deploy. We hope this lets your code stay DRY while also avoiding unnecessary work from generating unnecessary args.

Releasing

Bump the version in lib/engineyard-serverside-adapter/version.rb, commit it, and then run

$ rake release

This will tag and push for you.

The engineyard gem depends on this gem to talk to the server side deploy mechanism. Update the version of engineyard-serverside-adapter in engineyard's Gemfile to interact with a new version of engineyard-serverside.

FAQs

Package last updated on 04 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.