automan 2.2.8 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 72c1ce9f4dcf2a5a02214296048dfe8e17dc875c
4
- data.tar.gz: 5128ff152ef550afdaa6abe8c8b2e788f0673036
3
+ metadata.gz: 0d4dcc2feb4456cd052a27b0e752b0685060007a
4
+ data.tar.gz: 699a105a10d6acb7d4bf43e5c10fa97488bc7aad
5
5
  SHA512:
6
- metadata.gz: 8a59277e8a1276bc289af87e43c53368874169e5170d170c6d829580e67f79cf0d98a2eeaafcb4aa8a9b0d5e3f70c66c5d3a61fc9f52bd26457e6b08d726b669
7
- data.tar.gz: 8fd7a22d12d479c57b34931079f6a7f5e32d25012a1fb6d174e70a5bcfd511196dc1d76b2158cd82b1d34cbfcce26dd12860ca03eb844633d209e2c210d48838
6
+ metadata.gz: eca81bf1d7cd56c6f83143abc1e436ec19cbe9f06861794c39da1bdbc0784da456ae0f37d68a4574f3158adb0c2a1b9cddddc35eee50173d572493c0b30da1c3
7
+ data.tar.gz: a2a9c02a97984cd3e62710c4be6a6f5b68105bbf8af9aefa43fdf4ee803f9569d0566732ab289260936509e94db748ea10ccda6a095bb67e5318746e320a759d
@@ -102,5 +102,24 @@ module Automan::Cli
102
102
  h = Automan::Cloudformation::Launcher.new(options).parse_template_parameters
103
103
  say JSON.pretty_generate h
104
104
  end
105
+
106
+ include Thor::Actions
107
+ def self.source_root
108
+ File.join(File.dirname(__FILE__),'..','..', '..')
109
+ end
110
+
111
+ desc "project APP_NAME", "create stacker project"
112
+
113
+ attr_reader :app_name
114
+
115
+ def project(app_name)
116
+ @app_name = app_name
117
+
118
+ say "\nCreating stacker project: #{app_name}\n", :yellow
119
+ directory 'templates/stacker', app_name
120
+ [app_name, "launch_#{app_name}.sh"].each do |file|
121
+ chmod File.join(app_name, 'bin', file), 0755
122
+ end
123
+ end
105
124
  end
106
125
  end
@@ -1,3 +1,3 @@
1
1
  module Automan
2
- VERSION = "2.2.8"
2
+ VERSION = "2.3.0"
3
3
  end
@@ -0,0 +1,14 @@
1
+ #
2
+ # example .env file
3
+ # cp .env.example .env
4
+ #
5
+ # Set environment variables for all template parameters here.
6
+ # This .env file is in gitignore to help keep application
7
+ # secrets from leaking out into source code control.
8
+ #
9
+ export VPC_ID=vpc-foo
10
+ export SUBNET_ID=subnet-foo
11
+ export REMOTE_ACCESS_SG=sg-foo
12
+ export KEYPAIR_NAME=fookey
13
+ export INSTANCE_TYPE=m3.medium
14
+ export IMAGE_ID=ami-foo
@@ -0,0 +1,2 @@
1
+ .env
2
+ *.json
@@ -0,0 +1 @@
1
+ <%= @app_name %>
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'cloudformation-ruby-dsl'
4
+ gem 'automan'
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env ruby
2
+ require 'bundler/setup'
3
+ require 'cloudformation-ruby-dsl/cfntemplate'
4
+ require 'json'
5
+
6
+ t = template do
7
+ ## CloudFormation template stuff goes here
8
+ ## See https://github.com/bazaarvoice/cloudformation-ruby-dsl
9
+ ##
10
+ ## Here's an example.
11
+ ##
12
+ # parameter 'VpcId',
13
+ # Description: 'The VPC in which to launch',
14
+ # Type: 'String'
15
+
16
+ # parameter 'SubnetId',
17
+ # Description: 'The Subnet in which to launch the instances',
18
+ # Type: 'String'
19
+
20
+ # parameter 'RemoteAccessSG',
21
+ # Description: 'The security group allowing remote access',
22
+ # Type: 'String'
23
+
24
+ # parameter 'KeyPairName',
25
+ # Description: 'Public/private key pairs allow you to securely connect to your instance after it launches',
26
+ # Type: 'String'
27
+
28
+ # parameter 'InstanceType',
29
+ # Description: 'EC2 instance type for training machines',
30
+ # Type: 'String',
31
+ # Default: 't2.small'
32
+
33
+ # parameter 'ImageId',
34
+ # Description: 'Amazon Machine Image Id of pre-baked training machine',
35
+ # Type: 'String'
36
+
37
+ # resource "MyInstance", Type: 'AWS::EC2::Instance',
38
+ # Properties: {
39
+ # ImageId: ref('ImageId'),
40
+ # InstanceType: ref('InstanceType'),
41
+ # NetworkInterfaces: [{
42
+ # AssociatePublicIpAddress: 'true',
43
+ # DeviceIndex: '0',
44
+ # DeleteOnTermination: 'true',
45
+ # SubnetId: ref('SubnetId'),
46
+ # GroupSet: [
47
+ # ref('RemoteAccessSG')
48
+ # ]
49
+ # }],
50
+ # Tags: [
51
+ # { Key: 'Name', Value: "MyInstance" }
52
+ # ],
53
+ # KeyName: ref('KeyPairName')
54
+ # }
55
+ end
56
+
57
+ puts JSON.pretty_generate(t)
@@ -0,0 +1,12 @@
1
+ #!/bin/bash
2
+ # To set template parameters, add the -p options
3
+ # to the end of the stacker command:
4
+ #
5
+ # stacker launch -n <%= app_name %> -t <%= app_name %>.json --disable-rollback \
6
+ # -p VpcId:$VPC_ID \
7
+ # SubnetId:$SUBNET_ID \
8
+ # RemoteAccessSG:$REMOTE_ACCESS_SG \
9
+ # KeyPairName:$KEYPAIR_NAME \
10
+ # InstanceType:$INSTANCE_TYPE \
11
+ # ImageId:$IMAGE_ID
12
+ stacker launch -n <%= app_name %> -t <%= app_name %>.json --disable-rollback
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: automan
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.8
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Chalfant
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-19 00:00:00.000000000 Z
12
+ date: 2015-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -233,6 +233,12 @@ files:
233
233
  - spec/mixins/aws_caller_spec.rb
234
234
  - spec/mixins/utils_spec.rb
235
235
  - spec/rds/snapshot_spec.rb
236
+ - templates/stacker/.env.example
237
+ - templates/stacker/.gitignore
238
+ - templates/stacker/.ruby-gemset.tt
239
+ - templates/stacker/Gemfile
240
+ - templates/stacker/bin/%app_name%.tt
241
+ - templates/stacker/bin/launch_%app_name%.sh
236
242
  homepage: ''
237
243
  licenses: []
238
244
  metadata: {}