cfhighlander 0.6.0.alpha.1537959335 → 0.6.0.alpha.1538010880

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +35 -9
  3. data/bin/cfhighlander.rb +3 -0
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fa909a400b28d828b6dfecf42d91e8dd2ff6e04fe546cb9b22a36393d4a264a8
4
- data.tar.gz: d5f7bcf65a4a921abf635fcba3a37c4daed684a5c65a09d7f704cae44f9f3850
3
+ metadata.gz: a1ca60058a558ba23ed08273fa7ec940794476f1fc9228d6077da3521c6d7b19
4
+ data.tar.gz: 83b85f5799b9d48263174b5adc2ec5db6a6fde698a21e1b0698c36c1a4091ff7
5
5
  SHA512:
6
- metadata.gz: 35225364f2fc158a4909a737c9426ddf5dc04dd53b54e36eb702258970434450aec27af1519ee8609bc9cb2c216794dc77245a7845e26d61d36da04043a55880
7
- data.tar.gz: 56a82fcf00bbf3454dc798749fd8b5a87c89c08423d435bd0c3889c81b9b0244958bb18d462b4fed544640b99b7b981f6cb88b37165e07964567452525ca3c83
6
+ metadata.gz: 682f0fb7fe00e2ecb5315ec1d5e599591d8a9a8721d55bc40d96fdafbf0fbfadc227b2272aaf20c19802d27fde22c1215a2ef10987fdefb306d42c8ec65ccfe3
7
+ data.tar.gz: 553b3e35fe13a125bf633da11486167f4946a5f7ea5cc51be92b9189ffb95ef4d614446e191fbbd5b7648952739337419435858b467cc54efd68c7e72939288d
data/README.md CHANGED
@@ -99,32 +99,48 @@ $ cat out/yaml/application.compiled.yaml | grep -A3 SubnetCompute0
99
99
 
100
100
 
101
101
 
102
- # Library
102
+ # Component library
103
103
 
104
- As part of [theonestack org](https://github.com/theonestack/), there is several publicly available components.
104
+ As part of [theonestack org](https://github.com/theonestack/), there are many publicly available components.
105
105
 
106
106
  - [vpc](https://github.com/theonestack/hl-component-vpc) - Has separation of public
107
107
  and private subnets, configurable number of NAT Gateways (per AZ or single for all
108
- subnets, handles all of the complex routing stuff)
108
+ subnets), lays out default subnets (private - compute, storage and cache, public), as well as their route tables
109
109
 
110
110
  - [ecs](https://github.com/theonestack/hl-component-ecs) - ECS Cluster deployed in VPC Compute Subnets
111
- - [bastion](https://github.com/theonestack/hl-component-bastion) - Deployed into VPC Public
111
+ - [bastion](https://github.com/theonestack/hl-component-bastion) - Deployed into VPC Public subnets
112
112
  Subnets, with configuration for whitelisting IP addresses to access port 22
113
113
  - [ecs-service](https://github.com/theonestack/hl-component-ecs-service) - Deploy containerised apps running on ECS Clusters
114
- - [loadbalancer](https://github.com/theonestack/hl-component-loadbalancer)
114
+ - [loadbalancer](https://github.com/theonestack/hl-component-loadbalancer) - ALB, ELB or NLB
115
115
  - [sns](https://github.com/theonestack/hl-component-sns) - SNS Topics, with implemented
116
116
  Lambda function to post Slack messages
117
117
  - [efs](https://github.com/theonestack/hl-component-efs) - Elastic File System, can be
118
118
  used in conjuction with ECS Cluster
119
+ - [rds-mysql](https://github.com/theonestack/hl-component-rds-mysql) - RDS Component for MySQL engine
120
+ - [rds-postgres](https://github.com/theonestack/hl-component-rds-postgres) - RDS Component for Postgres engine
121
+ - [aurora-mysql](https://github.com/theonestack/hl-component-aurora-mysql) - Aurora component for MySQL engine
122
+ - [aurora-postgres](https://github.com/theonestack/hl-component-aurora-postgres) - Aurora component for Postgres engine
123
+ - [elasticache-memcache](https://github.com/theonestack/hl-component-elasticache-memcache) - Aws Elasticache - Memcache engine
124
+ - [elasticache-memcache](https://github.com/theonestack/hl-component-elasticache-redis) - Aws Elasticache - Redis engine
125
+ - [asg](https://github.com/theonestack/hl-component-asg) - AutoScalingGroup component
126
+ - [cognito](https://github.com/theonestack/hl-component-cognito) - Cognito user pools, custom domain names and clients
119
127
 
120
128
  You can easily test any of these. Automatic component resolver will default
121
129
  to 'https://github.com/theonestack/hl-component-$name' location if component
122
130
  is not found in local sources.
123
131
 
124
- ```
125
- cfcompile [componentname]
132
+ From shell, command below will generate cloudformation for given component in `out` folder
133
+ ```shell
134
+ cfcompile component_name
126
135
  ```
127
136
 
137
+ Or from outer cfhighlander template, just pull component using `Component` DSL statement
138
+
139
+ ```ruby
140
+ CfhighlanderTemplate do
141
+ Component component_name
142
+ end
143
+ ```
128
144
 
129
145
 
130
146
  # How it works ?
@@ -694,6 +710,16 @@ $ cfhighlander cfcompile [component] [-v distributedversion]
694
710
 
695
711
  ## Global Extensions
696
712
 
697
- Any extensions placed within `cfndsl_ext` folder will be
698
- available in cfndsl templates of all components. Any extensions placed within `hl_ext` folder are
713
+ Any extensions placed within `cfndsl_ext` folder in core library code are
714
+ available in cfndsl templates of all components. Any extensions placed within `hl_ext` in core library code are
699
715
  available in cfhighlander templates of all components.
716
+
717
+
718
+ ## Environment variables
719
+
720
+ `CFHIGHLANDER_WORKDIR` - defaults to $PWD, determines location of 'out' folder where all of the
721
+ generated files are placed
722
+
723
+ `CFHIGHLANDER_AWS_RETRY_LIMIT` - defaults to 10. Number of retries for AWS SDK before giving up.
724
+ AWS SDK uses exponential backoff to make the API calls
725
+
data/bin/cfhighlander.rb CHANGED
@@ -9,6 +9,7 @@
9
9
 
10
10
  require 'thor'
11
11
  require 'rubygems'
12
+ require 'aws-sdk-core'
12
13
  require_relative '../lib/cfhighlander.compiler'
13
14
  require_relative '../lib/cfhighlander.factory'
14
15
  require_relative '../lib/cfhighlander.publisher'
@@ -180,4 +181,6 @@ if ENV['HIGHLANDER_WORKDIR'].nil?
180
181
  ENV['HIGHLANDER_WORKDIR'] = Dir.pwd
181
182
  end
182
183
 
184
+ Aws.config[:retry_limit]= if ENV.key? 'CFHIGHLANDER_AWS_RETRY_LIMIT' then (ENV['CFHIGHLANDER_AWS_RETRY_LIMIT'].to_i) else 10 end
185
+
183
186
  HighlanderCli.start
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfhighlander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0.alpha.1537959335
4
+ version: 0.6.0.alpha.1538010880
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Tosic
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-09-26 00:00:00.000000000 Z
13
+ date: 2018-09-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: highline