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.
- checksums.yaml +4 -4
- data/README.md +35 -9
- data/bin/cfhighlander.rb +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1ca60058a558ba23ed08273fa7ec940794476f1fc9228d6077da3521c6d7b19
|
4
|
+
data.tar.gz: 83b85f5799b9d48263174b5adc2ec5db6a6fde698a21e1b0698c36c1a4091ff7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
#
|
102
|
+
# Component library
|
103
103
|
|
104
|
-
As part of [theonestack org](https://github.com/theonestack/), there
|
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,
|
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
|
-
|
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
|
698
|
-
available in cfndsl templates of all components. Any extensions placed within `hl_ext`
|
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.
|
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-
|
13
|
+
date: 2018-09-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: highline
|