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

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.
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