kurgan 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: aa42f950ad3cb1bf07eb4bc1f465bb0f49208eddda21e376038b121e15207d7b
4
+ data.tar.gz: 1fe9dfd5e80f2bcbce439d520d6bd50b386a7e3bf5225aa344057fba4800071b
5
+ SHA512:
6
+ metadata.gz: 4c0cc35a6abb39c0a4c1a8bd48f24762f46ac93357fb7302639b265ab9bed5fb27baf6fe86372d6c241f99215494dd54613680e3d150473f856c36336115e9bc
7
+ data.tar.gz: 03524ea72aff8ca3bf8d31712a5fdd445517091363172f9612f178517c023ef0f732bfdb2132798b0741ea4f65ea9547d199cdf89bf28d3911084cc2c581605a
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ *.gem
@@ -0,0 +1,17 @@
1
+ sudo: required
2
+ dist: trusty
3
+ language: ruby
4
+ rvm:
5
+ - 2.5
6
+ script:
7
+ - bundle install
8
+ - gem build kurgan.gemspec
9
+ - gem install kurgan-*.gem
10
+ - kurgan help
11
+ deploy:
12
+ provider: rubygems
13
+ api_key: "${RUBYGEMS_API_KEY}"
14
+ gem: kurgan
15
+ on:
16
+ all_branches: true
17
+ condition: $TRAVIS_BRANCH =~ ^develop|master && $TRAVIS_EVENT_TYPE =~ ^push|api$ && $TRAVIS_REPO_SLUG == "theonestack/kurgan"
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in kurgan.gemspec
6
+ gemspec
@@ -0,0 +1,22 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ kurgan (0.1.1)
5
+ thor (~> 0.19)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ rake (10.5.0)
11
+ thor (0.20.3)
12
+
13
+ PLATFORMS
14
+ ruby
15
+
16
+ DEPENDENCIES
17
+ bundler (~> 1.16)
18
+ kurgan!
19
+ rake (~> 10.0)
20
+
21
+ BUNDLED WITH
22
+ 1.16.1
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Guslington
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,20 @@
1
+ # Kurgan
2
+ ---
3
+
4
+ [![Build Status](https://travis-ci.org/theonestack/kurgan.svg?branch=develop)](https://travis-ci.org/theonestack/kurgan) [![Join the chat at https://gitter.im/theonestack/cfhighlander](https://badges.gitter.im/theonestack/cfhighlander.svg)](https://gitter.im/theonestack/cfhighlander?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
+
6
+ Tool to manage CfHighlander stacks
7
+
8
+ ```bash
9
+ Commands:
10
+ kurgan --version, -v # print the version
11
+ kurgan add [component] # Adds a new component to an existing CfHighlander project
12
+ kurgan component [name] # Generates a new CfHighlander component
13
+ kurgan help [COMMAND] # Describe available commands or one specific command
14
+ kurgan list # List available components and latest version from theonestack github
15
+ kurgan project [name] # Generates a new CfHighlander project
16
+ ```
17
+
18
+ ## License
19
+
20
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require "kurgan"
3
+
4
+ Kurgan::Cli.start( ARGV )
@@ -0,0 +1,37 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "kurgan/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "kurgan"
8
+ spec.version = Kurgan::VERSION
9
+ spec.authors = ["Guslington"]
10
+ spec.email = ["theonestackcfhighlander@gmail.com"]
11
+
12
+ spec.summary = %q{Manage a cfhighalnder project}
13
+ spec.description = %q{Manage a cfhighalnder project}
14
+ spec.homepage = "http://iamkurgan.com"
15
+ spec.license = "MIT"
16
+
17
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
19
+ if spec.respond_to?(:metadata)
20
+ spec.metadata["allowed_push_host"] = "http://mygemserver.com"
21
+ else
22
+ raise "RubyGems 2.0 or newer is required to protect against " \
23
+ "public gem pushes."
24
+ end
25
+
26
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
+ f.match(%r{^(test|spec|features)/})
28
+ end
29
+ spec.bindir = "exe"
30
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
+ spec.require_paths = ["lib"]
32
+
33
+ spec.add_dependency "thor", "~> 0.19"
34
+
35
+ spec.add_development_dependency "bundler", "~> 1.16"
36
+ spec.add_development_dependency "rake", "~> 10.0"
37
+ end
@@ -0,0 +1,39 @@
1
+ require "thor"
2
+ require "json"
3
+ require "kurgan/version"
4
+ require 'kurgan/globals'
5
+ require "kurgan/init"
6
+ require "kurgan/component"
7
+ require "kurgan/add"
8
+ require "kurgan/list"
9
+
10
+ module Kurgan
11
+ class Cli < Thor
12
+
13
+ map %w[--version -v] => :__print_version
14
+ desc "--version, -v", "print the version"
15
+ def __print_version
16
+ puts Kurgan::VERSION
17
+ end
18
+
19
+ register Kurgan::Init, 'project', 'project [name]', 'Generates a new CfHighlander project'
20
+ tasks["project"].options = Kurgan::Init.class_options
21
+
22
+ register Kurgan::Component, 'component', 'component [name]', 'Generates a new CfHighlander component'
23
+ tasks["component"].options = Kurgan::Component.class_options
24
+
25
+ register Kurgan::Add, 'add', 'add [component]', 'Adds a new component to an existing CfHighlander project'
26
+ tasks["add"].options = Kurgan::Add.class_options
27
+
28
+ desc "list", "List available components and latest version from theonestack github"
29
+ method_option :filter, aliases: '-f', type: :string, desc: "filter components by service type"
30
+ method_option :component, aliases: '-c', type: :string, desc: "list all versions for matched components"
31
+ method_option :update, aliases: '-u', type: :boolean, lazy_default: true, default: false, desc: "Update components list"
32
+ def list
33
+ cmd = Kurgan::List.new(options)
34
+ cmd.execute
35
+ end
36
+
37
+
38
+ end
39
+ end
@@ -0,0 +1,35 @@
1
+ module Kurgan
2
+ class Add < Thor::Group
3
+ include Thor::Actions
4
+
5
+ argument :template
6
+
7
+ class_option :name, aliases: :n, type: :string
8
+ class_option :version, aliases: :v, type: :string
9
+
10
+ def get_cfhighlander_template
11
+ @cfhighlander_template = Dir['*.cfhighlander.rb'][0]
12
+ if @cfhighlander_template.nil?
13
+ raise "No cfhighlander.rb file found in #{Dir.pwd}"
14
+ end
15
+ end
16
+
17
+ def get_component_name
18
+ @name = options[:name] || template
19
+ end
20
+
21
+ def get_template_version
22
+ @template = options[:version] ? "#{template}@#{options[:version]}" : template
23
+ say "adding #{@template} to the #{@cfhighlander_template.split('.')[0]} project"
24
+ end
25
+
26
+ def add_component
27
+ insert_into_file @cfhighlander_template, " Component name: '#{@name}', template: '#{@template}'\n\n", :before => /^end/
28
+ end
29
+
30
+ def create_config
31
+ create_file "#{@name}.config.yaml"
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,43 @@
1
+ require 'kurgan/init'
2
+
3
+ module Kurgan
4
+ class Component < Kurgan::Init
5
+
6
+ def set_directory
7
+ @dir = ask "directory name ", default: "hl-component-#{name}"
8
+ empty_directory @dir
9
+ end
10
+
11
+ def set_description
12
+ @description = ask "template description ", default: "#{name} - \#{component_version}"
13
+ end
14
+
15
+ def set_template_parameters
16
+ @parameters = [
17
+ { name: 'EnvironmentName', default: 'dev', options: 'isGlobal: true' },
18
+ { name: 'EnvironmentType', default: 'development', options: "allowedValues: ['development','production'], isGlobal: true" }
19
+ ]
20
+ end
21
+
22
+ def create_cfndsl_template
23
+ template('templates/cfndsl.rb.tt', "#{@dir}/#{name}.cfndsl.rb")
24
+ end
25
+
26
+ def copy_licence
27
+ if yes?("Use MIT license?")
28
+ copy_file "templates/MITLICENSE", "#{@dir}/LICENSE"
29
+ else
30
+ say "Skipping license", :yellow
31
+ end
32
+ end
33
+
34
+ def create_travis_config
35
+ if yes?("Use Travis-ci?")
36
+ copy_file "templates/travis.yml.tt", "#{@dir}/travis-ci.yml"
37
+ else
38
+ say "skipping travis", :yellow
39
+ end
40
+ end
41
+
42
+ end
43
+ end
@@ -0,0 +1,10 @@
1
+ module Kurgan
2
+ module_function
3
+
4
+ def components_file(file = nil)
5
+ @components_file = file if file
6
+ @components_file ||= File.join(ENV['HOME'], '.kurgan/components.json')
7
+ @components_file
8
+ end
9
+
10
+ end
@@ -0,0 +1,69 @@
1
+ require 'thor'
2
+ require 'kurgan/projects'
3
+
4
+ module Kurgan
5
+ class Init < Thor::Group
6
+ include Thor::Actions
7
+
8
+ argument :name
9
+
10
+ class_option :type, aliases: :t, default: 'empty', enum: ['empty','vpc','ecs'], desc: "Create a pre-canned project"
11
+
12
+ def self.source_root
13
+ File.dirname(__FILE__)
14
+ end
15
+
16
+ def set_directory
17
+ @dir = ask "directory name ", default: name
18
+ empty_directory @dir
19
+ end
20
+
21
+ def set_description
22
+ @description = ask "template description ", default: name
23
+ end
24
+
25
+ def set_template_parameters
26
+ @parameters = Kurgan::Projects.properties[options['type'].to_sym][:parameters]
27
+ end
28
+
29
+ def set_template_components
30
+ @components = Kurgan::Projects.properties[options['type'].to_sym][:components]
31
+ end
32
+
33
+ def create_cfhighlander_template
34
+ opts = {parameters: @parameters, components: @components, description: @description}
35
+ template('templates/cfhighlander.rb.tt', "#{@dir}/#{name}.cfhighlander.rb", opts)
36
+ end
37
+
38
+ def create_config_yaml
39
+ template 'templates/config.yaml.tt', "#{@dir}/#{name}.config.yaml"
40
+ end
41
+
42
+ def git_init
43
+ if yes?("git init project?")
44
+ run "git init #{@dir}"
45
+ template 'templates/gitignore.tt', "#{@dir}/.gitignore"
46
+ template 'templates/README.md.tt', "#{@dir}/README.md"
47
+ else
48
+ say "Skipping git init", :yellow
49
+ end
50
+ end
51
+
52
+ def ci_init
53
+ if yes?("Setup a CI pipeline?")
54
+ type = ask "CI flavour", limited_to: ['jenkins', 'travis-ci', 'codepipeline']
55
+ case type
56
+ when 'jenkins'
57
+ template('templates/Jenkinsfile.tt', "#{@dir}/Jenkinsfile")
58
+ when 'travis-ci'
59
+ template('templates/travis-ci.yaml.tt', "#{@dir}/.travis-ci.yaml")
60
+ when 'codepipeline'
61
+ say 'AWS CodePipeline is not supported yet...', :red
62
+ end
63
+ else
64
+ say "Skipping CI setup", :yellow
65
+ end
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,59 @@
1
+ require 'open-uri'
2
+
3
+ module Kurgan
4
+ class List
5
+
6
+ def initialize(options)
7
+ @filter = options[:filter]
8
+ @component = options[:component]
9
+ if options[:update] || !File.exists?(Kurgan.components_file)
10
+ update_component_list
11
+ end
12
+ content = File.read(Kurgan.components_file)
13
+ @components = JSON.parse(content)['components']
14
+ end
15
+
16
+ def execute
17
+ puts "\n\s\s============================="
18
+ puts "\s\s## CfHighlander Components ##"
19
+ puts "\s\s=============================\n\n"
20
+ if @component
21
+ return component
22
+ elsif @filter
23
+ return filter
24
+ else
25
+ return all
26
+ end
27
+ end
28
+
29
+ def component
30
+ components = @components.select { |comp| comp['name'].include? @component }
31
+ abort "no match for component #{@component}" if !components.any?
32
+ components.each { |comp| puts "\s\s\s\s#{comp['name']} (#{comp['versions'].join(', ')})" }
33
+ end
34
+
35
+ def filter
36
+ components = @components.select { |comp| comp['filter'].include? @filter }
37
+ abort "no match for filter #{@filter}" if !components.any?
38
+ components.each { |comp| format(comp['name'],comp['latest']) }
39
+ end
40
+
41
+ def all
42
+ @components.each { |comp| format(comp['name'],comp['latest']) }
43
+ end
44
+
45
+ def format(name,version)
46
+ version = version != "" ? version : 'latest'
47
+ puts "\s\s\s\s#{name}@#{version}"
48
+ end
49
+
50
+ def update_component_list
51
+ puts "Updating components list"
52
+ FileUtils.mkdir_p File.dirname(Kurgan.components_file)
53
+ content = open('https://s3-ap-southeast-2.amazonaws.com/cfhighlander-component-specification/components.json').read
54
+ File.open(Kurgan.components_file, 'w') { |f| f.puts content }
55
+ puts "Succesfully updated components list #{Kurgan.components_file}"
56
+ end
57
+
58
+ end
59
+ end
@@ -0,0 +1,33 @@
1
+ module Kurgan
2
+ class Projects
3
+ class << self
4
+
5
+ attr_reader :properties
6
+
7
+ def properties
8
+ @projects={
9
+ empty: {
10
+ components:[],
11
+ parameters:[]
12
+ },
13
+ vpc: {
14
+ components: [
15
+ { name: 'vpc', template: 'vpc' }
16
+ ],
17
+ parameters: []
18
+ },
19
+ ecs: {
20
+ components: [
21
+ { name: 'vpc', template: 'vpc' },
22
+ { name: 'bastion', template: 'bastion'},
23
+ { name: 'loadbalancer', template: 'loadbalancer'},
24
+ { name: 'ecs', template: 'ecs'}
25
+ ],
26
+ parameters: []
27
+ }
28
+ }
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,39 @@
1
+ pipeline {
2
+
3
+ environment {
4
+ AWS_REGION = 'us-east-1'
5
+ PROJECT_NAME = '<%= @name %>'
6
+ }
7
+
8
+ agent {
9
+ docker {
10
+ image 'theonestack/cfhighlander'
11
+ }
12
+ }
13
+
14
+ stages {
15
+
16
+ stage('Compile and validate templates') {
17
+ steps {
18
+ sh 'cfndsl -u'
19
+ sh "cfcompile --validate"
20
+ }
21
+ }
22
+
23
+ stage('Publish templates to S3') {
24
+ steps {
25
+ script {
26
+ env['VERSION'] = ${env.BRANCH_NAME}-${env.SHORT_COMMIT}
27
+ }
28
+ sh "cfpublish ${PROJECT_NAME} --version ${VERSION}"
29
+ }
30
+ }
31
+
32
+ stage('Deploy') {
33
+ steps {
34
+ println "Deploying ${env.PROJECT_NAME} version ${env.VERSION}"
35
+ }
36
+ }
37
+
38
+ }
39
+ }
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 theonestack
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,34 @@
1
+ # <%= name %> CfHighlander project
2
+ ---
3
+
4
+ ## Cfhighlander Setup
5
+
6
+ install cfhighlander [gem](https://github.com/theonestack/cfhighlander)
7
+
8
+ ```bash
9
+ gem install cfhighlander
10
+ ```
11
+
12
+ or via docker
13
+
14
+ ```bash
15
+ docker pull theonestack/cfhighlander
16
+ ```
17
+
18
+ compiling the templates
19
+
20
+ ```bash
21
+ cfcompile <%= name %>
22
+ ```
23
+
24
+ compiling with the vaildate fag to validate the templates
25
+
26
+ ```bash
27
+ cfcompile <%= name %> --validate
28
+ ```
29
+
30
+ publish the templates to s3
31
+
32
+ ```bash
33
+ cfpublish <%= name %> --version latest
34
+ ```
@@ -0,0 +1,17 @@
1
+ CfhighlanderTemplate do
2
+ Name '<%= name %>'
3
+ Description "<%= config[:description] %>"
4
+
5
+ <%- if config[:parameters].any? -%>
6
+ Parameters do
7
+ <%- config[:parameters].each do |param| -%>
8
+ ComponentParam '<%= param[:name] %>', '<%= param[:default] %>', <%= param[:options] %>
9
+ <%- end -%>
10
+ end
11
+ <%- end -%>
12
+
13
+ <%- config[:components].each do |comp| -%>
14
+ Component template: '<%= comp[:template] %>', name: '<%= comp[:name] %>'
15
+ <%- end if config[:components].any? -%>
16
+
17
+ end
@@ -0,0 +1,3 @@
1
+ CloudFormation do
2
+ ## Add your cfndsl resources here
3
+ end
File without changes
@@ -0,0 +1 @@
1
+ out/
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3
4
+ script:
5
+ - gem install cfhighlander
6
+ - if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then cfcompile ; else cfcompile --validate; fi%
@@ -0,0 +1,3 @@
1
+ module Kurgan
2
+ VERSION = "0.1.1"
3
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kurgan
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Guslington
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-01-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.19'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.19'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.16'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.16'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ description: Manage a cfhighalnder project
56
+ email:
57
+ - theonestackcfhighlander@gmail.com
58
+ executables:
59
+ - kurgan
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - ".travis.yml"
65
+ - Gemfile
66
+ - Gemfile.lock
67
+ - LICENSE.txt
68
+ - README.md
69
+ - Rakefile
70
+ - exe/kurgan
71
+ - kurgan.gemspec
72
+ - lib/kurgan.rb
73
+ - lib/kurgan/add.rb
74
+ - lib/kurgan/component.rb
75
+ - lib/kurgan/globals.rb
76
+ - lib/kurgan/init.rb
77
+ - lib/kurgan/list.rb
78
+ - lib/kurgan/projects.rb
79
+ - lib/kurgan/templates/Jenkinsfile.tt
80
+ - lib/kurgan/templates/MITLICENSE
81
+ - lib/kurgan/templates/README.md.tt
82
+ - lib/kurgan/templates/cfhighlander.rb.tt
83
+ - lib/kurgan/templates/cfndsl.rb.tt
84
+ - lib/kurgan/templates/config.yaml.tt
85
+ - lib/kurgan/templates/gitignore.tt
86
+ - lib/kurgan/templates/travis.yml.tt
87
+ - lib/kurgan/version.rb
88
+ homepage: http://iamkurgan.com
89
+ licenses:
90
+ - MIT
91
+ metadata:
92
+ allowed_push_host: http://mygemserver.com
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ requirements: []
108
+ rubygems_version: 3.0.2
109
+ signing_key:
110
+ specification_version: 4
111
+ summary: Manage a cfhighalnder project
112
+ test_files: []