lono 7.3.2 → 7.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/lono.rb +1 -0
- data/lib/lono/app_file/build.rb +22 -34
- data/lib/lono/app_file/build/lambda_layer/ruby_packager.rb +2 -33
- data/lib/lono/app_file/registry/item.rb +18 -45
- data/lib/lono/app_file/upload.rb +1 -25
- data/lib/lono/cfn/base.rb +8 -2
- data/lib/lono/cfn/create.rb +3 -2
- data/lib/lono/cfn/opts.rb +8 -0
- data/lib/lono/cfn/preview/changeset.rb +1 -0
- data/lib/lono/cfn/update.rb +1 -0
- data/lib/lono/configset.rb +1 -1
- data/lib/lono/configset/combiner.rb +40 -13
- data/lib/lono/configset/generator.rb +6 -1
- data/lib/lono/configset/list.rb +1 -1
- data/lib/lono/configset/register/dsl.rb +3 -3
- data/lib/lono/configset/resolver.rb +9 -5
- data/lib/lono/configset/s3_file/build.rb +33 -0
- data/lib/lono/configset/s3_file/item.rb +30 -0
- data/lib/lono/configset/s3_file/registry.rb +12 -0
- data/lib/lono/configset/s3_file/upload.rb +12 -0
- data/lib/lono/configset/strategy/base.rb +21 -1
- data/lib/lono/configset/strategy/dsl.rb +9 -6
- data/lib/lono/configset/strategy/erb.rb +6 -1
- data/lib/lono/configset/strategy/helpers/dsl.rb +8 -0
- data/lib/lono/configset/strategy/helpers/dsl/auth.rb +37 -0
- data/lib/lono/configset/strategy/{dsl/helpers → helpers/dsl}/core.rb +6 -1
- data/lib/lono/configset/strategy/helpers/dsl/package.rb +40 -0
- data/lib/lono/configset/strategy/helpers/dsl/syntax.rb +74 -0
- data/lib/lono/configset/strategy/{erb/helpers.rb → helpers/erb.rb} +2 -2
- data/lib/lono/extension/list.rb +2 -1
- data/lib/lono/extensions/loader.rb +2 -1
- data/lib/lono/file_uploader.rb +3 -109
- data/lib/lono/finder/base.rb +1 -1
- data/lib/lono/finder/blueprint/configset.rb +3 -3
- data/lib/lono/generate.rb +11 -1
- data/lib/lono/jade/registry.rb +10 -1
- data/lib/lono/jadespec.rb +4 -2
- data/lib/lono/registration/temp.rb +4 -2
- data/lib/lono/s3/uploader.rb +94 -0
- data/lib/lono/seed/base.rb +2 -1
- data/lib/lono/template/configset_injector.rb +6 -4
- data/lib/lono/template/generator.rb +1 -9
- data/lib/lono/template/helper.rb +2 -3
- data/lib/lono/template/post_processor.rb +9 -1
- data/lib/lono/template/strategy/dsl/builder/helpers.rb +1 -0
- data/lib/lono/template/strategy/dsl/builder/helpers/ec2_helper.rb +27 -0
- data/lib/lono/template/strategy/dsl/builder/helpers/s3_helper.rb +1 -0
- data/lib/lono/template/upload.rb +4 -98
- data/lib/lono/utils/item/file_methods.rb +29 -0
- data/lib/lono/utils/item/zip.rb +42 -0
- data/lib/lono/utils/rsync.rb +36 -0
- data/lib/lono/version.rb +1 -1
- data/lib/templates/blueprint/.gitignore +4 -7
- data/lib/templates/configset/%configset_name%.gemspec.tt +1 -1
- data/lib/templates/configset/.gitignore +2 -4
- data/lib/templates/extension/%extension_name%.gemspec.tt +2 -1
- data/lib/templates/extension/.gitignore +11 -17
- data/lib/templates/extension/lib/%extension_name%.rb.tt +3 -0
- data/lib/templates/extension/lib/%extension_name%/autoloader.rb.tt +23 -0
- data/lono.gemspec +1 -0
- metadata +32 -6
- data/lib/lono/configset/strategy/dsl/helpers.rb +0 -5
- data/lib/lono/configset/strategy/dsl/syntax.rb +0 -32
@@ -0,0 +1,27 @@
|
|
1
|
+
module Lono::Template::Strategy::Dsl::Builder::Helpers
|
2
|
+
module Ec2Helper
|
3
|
+
extend Memoist
|
4
|
+
|
5
|
+
def default_vpc
|
6
|
+
resp = ec2.describe_vpcs(filters: [name: "isDefault", values: ["true"]])
|
7
|
+
vpc = resp.vpcs.first
|
8
|
+
vpc ? vpc.vpc_id : "no default vpc found"
|
9
|
+
end
|
10
|
+
memoize :default_vpc
|
11
|
+
|
12
|
+
def default_subnets
|
13
|
+
return "no default subnets because no default vpc found" if default_vpc == "no default vpc found"
|
14
|
+
resp = ec2.describe_subnets(filters: [name: "vpc-id", values: [default_vpc]])
|
15
|
+
subnets = resp.subnets
|
16
|
+
subnets.map(&:subnet_id)
|
17
|
+
end
|
18
|
+
memoize :default_subnets
|
19
|
+
|
20
|
+
def key_pairs(regexp=nil)
|
21
|
+
resp = ec2.describe_key_pairs
|
22
|
+
key_names = resp.key_pairs.map(&:key_name)
|
23
|
+
key_names.select! { |k| k =~ regexp }
|
24
|
+
key_names
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/lono/template/upload.rb
CHANGED
@@ -5,8 +5,6 @@ require 'digest'
|
|
5
5
|
|
6
6
|
class Lono::Template
|
7
7
|
class Upload < Lono::AbstractBase
|
8
|
-
include Lono::AwsServices
|
9
|
-
|
10
8
|
def initialize(options={})
|
11
9
|
super
|
12
10
|
@checksums = {}
|
@@ -14,104 +12,12 @@ class Lono::Template
|
|
14
12
|
end
|
15
13
|
|
16
14
|
def run
|
17
|
-
|
18
|
-
|
19
|
-
say "Uploading CloudFormation templates..."
|
15
|
+
puts "Uploading CloudFormation templates..."
|
20
16
|
paths = Dir.glob("#{Lono.config.output_path}/#{@blueprint}/templates/**/*")
|
21
17
|
paths.select { |p| File.file?(p) }.each do |path|
|
22
|
-
|
23
|
-
end
|
24
|
-
say "Templates uploaded to s3."
|
25
|
-
end
|
26
|
-
|
27
|
-
# Read existing files on s3 to grab their md5 checksum.
|
28
|
-
# We do this so we can see if we should avoid re-uploading the s3 child template
|
29
|
-
# entirely. If we upload a new child template that does not change AWS CloudFormation
|
30
|
-
# is not smart enough to know that it not has changed. I think all AWS CloudFormation
|
31
|
-
# does is check if the file's timestamp.
|
32
|
-
#
|
33
|
-
# Thought this would result in better AWS Change Set info but AWS still reports child
|
34
|
-
# stacks being changed even though they should not be reported. Leaving this s3 checksum
|
35
|
-
# in for now.
|
36
|
-
def load_checksums!
|
37
|
-
return if @options[:noop]
|
38
|
-
|
39
|
-
resp = s3.list_objects(bucket: s3_bucket, prefix: @prefix)
|
40
|
-
resp.contents.each do |object|
|
41
|
-
@checksums[object.key] = strip_surrounding_quotes(object.etag)
|
42
|
-
end
|
43
|
-
@checksums
|
44
|
-
end
|
45
|
-
|
46
|
-
def strip_surrounding_quotes(string)
|
47
|
-
string.sub(/^"/,'').sub(/"$/,'')
|
48
|
-
end
|
49
|
-
|
50
|
-
def upload(path)
|
51
|
-
return if @options[:noop]
|
52
|
-
|
53
|
-
path = path.sub("#{Lono.root}/",'')
|
54
|
-
pretty_path = path.sub(/^\.\//, '')
|
55
|
-
key = "#{@prefix}/#{pretty_path.sub(%r{output/templates/},'')}"
|
56
|
-
s3_full_path = "s3://#{s3_bucket}/#{key}"
|
57
|
-
|
58
|
-
local_checksum = Digest::MD5.hexdigest(IO.read(path))
|
59
|
-
remote_checksum = remote_checksum(path)
|
60
|
-
if local_checksum == remote_checksum
|
61
|
-
say("Not modified: #{pretty_path} to #{s3_full_path}".color(:yellow)) unless @options[:noop]
|
62
|
-
return # do not upload unless the checksum has changed
|
18
|
+
Lono::S3::Uploader.new(path).upload
|
63
19
|
end
|
64
|
-
|
65
|
-
resp = s3.put_object(
|
66
|
-
body: IO.read(path),
|
67
|
-
bucket: s3_bucket,
|
68
|
-
key: key,
|
69
|
-
storage_class: "REDUCED_REDUNDANCY"
|
70
|
-
) unless @options[:noop]
|
71
|
-
|
72
|
-
# Example output:
|
73
|
-
# Uploaded: output/templates/docker.yml to s3://boltops-dev/s3_folder/templates/development/docker.yml
|
74
|
-
# Uploaded: output/templates/ecs/private.yml to s3://boltops-dev/s3_folder/templates/development/ecs/private.yml
|
75
|
-
message = "Uploaded: #{pretty_path} to #{s3_full_path}".color(:green)
|
76
|
-
message = "NOOP: #{message}" if @options[:noop]
|
77
|
-
say message
|
78
|
-
end
|
79
|
-
|
80
|
-
# @checksums map has a key format: s3_folder/templates/development/docker.yml
|
81
|
-
#
|
82
|
-
# path = ./output/templates/docker.yml
|
83
|
-
# s3_folder = s3://boltops-dev/s3_folder/templates/development/docker.yml
|
84
|
-
def remote_checksum(path)
|
85
|
-
# first convert the local path to the path format that is stored in @checksums keys
|
86
|
-
# ./output/templates/docker.yml => s3_folder/templates/development/docker.yml
|
87
|
-
pretty_path = path.sub(/^\.\//, '')
|
88
|
-
key = "#{@prefix}/#{pretty_path.sub(%r{output/templates/},'')}"
|
89
|
-
@checksums[key]
|
90
|
-
end
|
91
|
-
|
92
|
-
# https://s3.amazonaws.com/mybucket/s3_folder/templates/production/parent.yml
|
93
|
-
def s3_https_url(template_path)
|
94
|
-
"https://s3.amazonaws.com/#{s3_bucket}/#{@prefix}/#{template_path}"
|
95
|
-
end
|
96
|
-
|
97
|
-
# used for cfn/base.rb def set_template_url!(options)
|
98
|
-
def s3_presigned_url(template_output_path)
|
99
|
-
template_path = template_output_path.sub('output/templates/','')
|
100
|
-
key = "#{@prefix}/#{template_path}"
|
101
|
-
s3_presigner.presigned_url(:get_object, bucket: s3_bucket, key: key)
|
102
|
-
end
|
103
|
-
|
104
|
-
# Parse the s3_folder setting and remove the folder portion to leave the
|
105
|
-
# "s3_bucket" portion
|
106
|
-
# Example:
|
107
|
-
# s3_bucket('s3://mybucket/templates/storage/path')
|
108
|
-
# => mybucket
|
109
|
-
def s3_bucket
|
110
|
-
Lono::S3::Bucket.name
|
111
|
-
end
|
112
|
-
|
113
|
-
def say(message)
|
114
|
-
puts message unless @options[:quiet]
|
20
|
+
puts "Templates uploaded to s3."
|
115
21
|
end
|
116
22
|
end
|
117
|
-
end
|
23
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Lono::Utils::Item
|
2
|
+
module FileMethods
|
3
|
+
def exist?
|
4
|
+
File.exist?(output_path)
|
5
|
+
end
|
6
|
+
|
7
|
+
def directory?
|
8
|
+
File.directory?(output_path)
|
9
|
+
end
|
10
|
+
|
11
|
+
def file?
|
12
|
+
File.file?(output_path)
|
13
|
+
end
|
14
|
+
|
15
|
+
def s3_path
|
16
|
+
path = zip_file_path.gsub("#{Lono.root}/",'') # remove Lono.root
|
17
|
+
"#{Lono.env}/#{path}"
|
18
|
+
end
|
19
|
+
|
20
|
+
# full path
|
21
|
+
def zip_file_path
|
22
|
+
"#{File.dirname(output_path)}/#{zip_file_name}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def zip_file_name
|
26
|
+
"#{File.basename(output_path)}-#{@type}-#{Lono::Md5.sum(output_path)}.zip"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
module Lono::Utils::Item
|
4
|
+
module Zip
|
5
|
+
def zip(item)
|
6
|
+
if item.directory?
|
7
|
+
zip_directory(item)
|
8
|
+
else
|
9
|
+
zip_file(item)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def zip_file(item)
|
14
|
+
path = item.output_path
|
15
|
+
zip_file = item.zip_file_name
|
16
|
+
|
17
|
+
puts "Zipping file and generating md5 named file from: #{path}"
|
18
|
+
command = "cd #{File.dirname(path)} && zip -q #{zip_file} #{File.basename(path)}" # create zipfile at same level of file
|
19
|
+
execute_zip(command)
|
20
|
+
end
|
21
|
+
|
22
|
+
def zip_directory(item)
|
23
|
+
path = item.output_path
|
24
|
+
zip_file = item.zip_file_name
|
25
|
+
|
26
|
+
puts "Zipping folder and generating md5 named file from: #{path}"
|
27
|
+
command = "cd #{path} && zip --symlinks -rq #{zip_file} ." # create zipfile witih directory
|
28
|
+
execute_zip(command)
|
29
|
+
FileUtils.mv("#{path}/#{zip_file}", "#{File.dirname(path)}/#{zip_file}") # move zip back to the parent directory
|
30
|
+
end
|
31
|
+
|
32
|
+
def execute_zip(command)
|
33
|
+
# puts "=> #{command}".color(:green) # uncomment to debug
|
34
|
+
`#{command}`
|
35
|
+
unless $?.success?
|
36
|
+
puts "ERROR: Fail to run #{command}".color(:red)
|
37
|
+
puts "Maybe zip is not installed or path is incorrect?"
|
38
|
+
exit 1
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'shellwords'
|
2
|
+
|
3
|
+
module Lono::Utils
|
4
|
+
module Rsync
|
5
|
+
def sh(command)
|
6
|
+
puts "=> #{command}"
|
7
|
+
out = `#{command}`
|
8
|
+
puts out if ENV['LONO_DEBUG_SH']
|
9
|
+
success = $?.success?
|
10
|
+
raise("ERROR: running command #{command}").color(:red) unless success
|
11
|
+
success
|
12
|
+
end
|
13
|
+
|
14
|
+
def rsync(src, dest)
|
15
|
+
# Using FileUtils.cp_r doesnt work if there are special files like socket files in the src dir.
|
16
|
+
# Instead of using this hack https://bugs.ruby-lang.org/issues/10104
|
17
|
+
# Using rsync to perform the copy.
|
18
|
+
src.chop! if src.ends_with?('/')
|
19
|
+
dest.chop! if dest.ends_with?('/')
|
20
|
+
check_rsync_installed!
|
21
|
+
# Ensures required trailing slashes
|
22
|
+
FileUtils.mkdir_p(File.dirname(dest))
|
23
|
+
sh "rsync -a --links --no-specials --no-devices #{Shellwords.escape(src)}/ #{Shellwords.escape(dest)}/"
|
24
|
+
end
|
25
|
+
|
26
|
+
@@rsync_installed = false
|
27
|
+
def check_rsync_installed!
|
28
|
+
return if @@rsync_installed # only check once
|
29
|
+
if system "type rsync > /dev/null 2>&1"
|
30
|
+
@@rsync_installed = true
|
31
|
+
else
|
32
|
+
raise "ERROR: Rsync is required. Rsync does not seem to be installed.".color(:red)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/lono/version.rb
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.summary = "Write a short summary because it's required." # TODO: Change me
|
8
8
|
spec.description = "Write a longer description or delete this line." # TODO: Change me
|
9
9
|
spec.homepage = "<%= ENV['LONO_ORG'] || "https://github.com/USER" %>/<%= configset_name %>"
|
10
|
-
spec.license = "<%= ENV['LONO_LICENSE'] || '' %>"
|
10
|
+
spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"
|
11
11
|
|
12
12
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
13
13
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
@@ -36,7 +36,8 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
37
37
|
spec.require_paths = ["lib"]
|
38
38
|
|
39
|
-
spec.add_dependency "activesupport"
|
39
|
+
spec.add_dependency "activesupport", "~> 6"
|
40
|
+
spec.add_dependency "zeitwerk", "~> 2"
|
40
41
|
|
41
42
|
spec.add_development_dependency "bundler"
|
42
43
|
spec.add_development_dependency "byebug"
|
@@ -1,17 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
rdoc
|
13
|
-
spec/reports
|
14
|
-
test/tmp
|
15
|
-
test/version_tmp
|
16
|
-
tmp
|
17
|
-
Gemfile.lock
|
1
|
+
/.bundle/
|
2
|
+
/.rspec_status
|
3
|
+
/.yardoc
|
4
|
+
/_yardoc/
|
5
|
+
/coverage/
|
6
|
+
/doc/
|
7
|
+
/Gemfile.lock
|
8
|
+
/output
|
9
|
+
/pkg/
|
10
|
+
/spec/reports/
|
11
|
+
/tmp/
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "zeitwerk"
|
2
|
+
|
3
|
+
module <%= extension_class_name %>
|
4
|
+
class Autoloader
|
5
|
+
class Inflector < Zeitwerk::Inflector
|
6
|
+
def camelize(basename, _abspath)
|
7
|
+
map = { cli: "CLI", version: "VERSION" }
|
8
|
+
map[basename.to_sym] || super
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class << self
|
13
|
+
def setup
|
14
|
+
loader = Zeitwerk::Loader.new
|
15
|
+
loader.inflector = Inflector.new
|
16
|
+
loader.push_dir(File.dirname(__dir__)) # lib
|
17
|
+
# loader.log!
|
18
|
+
loader.ignore("#{__dir__}/user_data")
|
19
|
+
loader.setup
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lono.gemspec
CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |gem|
|
|
27
27
|
gem.add_dependency "aws-sdk-iam" # lono seed
|
28
28
|
gem.add_dependency "aws-sdk-s3"
|
29
29
|
gem.add_dependency "aws-sdk-ssm"
|
30
|
+
gem.add_dependency "aws_data"
|
30
31
|
gem.add_dependency "bundler", "~> 2"
|
31
32
|
gem.add_dependency "cfn_camelizer"
|
32
33
|
gem.add_dependency "cli-format"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lono
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: aws_data
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: bundler
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -504,13 +518,19 @@ files:
|
|
504
518
|
- lib/lono/configset/register/dsl.rb
|
505
519
|
- lib/lono/configset/register/project.rb
|
506
520
|
- lib/lono/configset/resolver.rb
|
521
|
+
- lib/lono/configset/s3_file/build.rb
|
522
|
+
- lib/lono/configset/s3_file/item.rb
|
523
|
+
- lib/lono/configset/s3_file/registry.rb
|
524
|
+
- lib/lono/configset/s3_file/upload.rb
|
507
525
|
- lib/lono/configset/strategy/base.rb
|
508
526
|
- lib/lono/configset/strategy/dsl.rb
|
509
|
-
- lib/lono/configset/strategy/dsl/helpers.rb
|
510
|
-
- lib/lono/configset/strategy/dsl/helpers/core.rb
|
511
|
-
- lib/lono/configset/strategy/dsl/syntax.rb
|
512
527
|
- lib/lono/configset/strategy/erb.rb
|
513
|
-
- lib/lono/configset/strategy/
|
528
|
+
- lib/lono/configset/strategy/helpers/dsl.rb
|
529
|
+
- lib/lono/configset/strategy/helpers/dsl/auth.rb
|
530
|
+
- lib/lono/configset/strategy/helpers/dsl/core.rb
|
531
|
+
- lib/lono/configset/strategy/helpers/dsl/package.rb
|
532
|
+
- lib/lono/configset/strategy/helpers/dsl/syntax.rb
|
533
|
+
- lib/lono/configset/strategy/helpers/erb.rb
|
514
534
|
- lib/lono/conventions.rb
|
515
535
|
- lib/lono/core.rb
|
516
536
|
- lib/lono/core/config.rb
|
@@ -609,6 +629,7 @@ files:
|
|
609
629
|
- lib/lono/registration/user.rb
|
610
630
|
- lib/lono/s3.rb
|
611
631
|
- lib/lono/s3/bucket.rb
|
632
|
+
- lib/lono/s3/uploader.rb
|
612
633
|
- lib/lono/script.rb
|
613
634
|
- lib/lono/script/base.rb
|
614
635
|
- lib/lono/script/build.rb
|
@@ -664,6 +685,7 @@ files:
|
|
664
685
|
- lib/lono/template/strategy/dsl/builder/fn.rb
|
665
686
|
- lib/lono/template/strategy/dsl/builder/helpers.rb
|
666
687
|
- lib/lono/template/strategy/dsl/builder/helpers/core_helper.rb
|
688
|
+
- lib/lono/template/strategy/dsl/builder/helpers/ec2_helper.rb
|
667
689
|
- lib/lono/template/strategy/dsl/builder/helpers/file_helper.rb
|
668
690
|
- lib/lono/template/strategy/dsl/builder/helpers/lookup_helper.rb
|
669
691
|
- lib/lono/template/strategy/dsl/builder/helpers/s3_helper.rb
|
@@ -691,7 +713,10 @@ files:
|
|
691
713
|
- lib/lono/template/util.rb
|
692
714
|
- lib/lono/upgrade.rb
|
693
715
|
- lib/lono/user_data.rb
|
716
|
+
- lib/lono/utils/item/file_methods.rb
|
717
|
+
- lib/lono/utils/item/zip.rb
|
694
718
|
- lib/lono/utils/pretty_time.rb
|
719
|
+
- lib/lono/utils/rsync.rb
|
695
720
|
- lib/lono/utils/sure.rb
|
696
721
|
- lib/lono/version.rb
|
697
722
|
- lib/lono/yamler/loader.rb
|
@@ -725,6 +750,7 @@ files:
|
|
725
750
|
- lib/templates/extension/Gemfile.tt
|
726
751
|
- lib/templates/extension/Rakefile.tt
|
727
752
|
- lib/templates/extension/lib/%extension_name%.rb.tt
|
753
|
+
- lib/templates/extension/lib/%extension_name%/autoloader.rb.tt
|
728
754
|
- lib/templates/extension/lib/%extension_name%/helpers/mappings.rb.tt
|
729
755
|
- lib/templates/extension/lib/%extension_name%/helpers/outputs.rb.tt
|
730
756
|
- lib/templates/extension/lib/%extension_name%/helpers/parameters.rb.tt
|