Merge "Allow to define Load Balancer schema (i.e. internal vs internet facing)"
diff --git a/Configuration.md b/Configuration.md
index 57ae5eb..888d3f1 100644
--- a/Configuration.md
+++ b/Configuration.md
@@ -45,6 +45,8 @@
If not set, create a new VPC.
* `SUBNET_ID`: Optional. Id of the existing Subnet.
If not set, create a new Network Stack.
+* LOAD_BALANCER_SCHEME: Optional. The Load Balancer scheme type. `internet-facing` by default.
+ Allowed values: internal, internet-facing
#### LDAP
diff --git a/dual-master/Makefile b/dual-master/Makefile
index c606639..203e0f3 100644
--- a/dual-master/Makefile
+++ b/dual-master/Makefile
@@ -27,7 +27,7 @@
cluster: cluster-keys
ifdef CLUSTER_INSTANCE_TYPE
- $(eval OPTIONAL_PARAMS := $(OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
+ $(eval CLUSTER_OPTIONAL_PARAMS := $(CLUSTER_OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
endif
$(AWS_FC_COMMAND) create-stack \
@@ -42,7 +42,7 @@
ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
- $(OPTIONAL_PARAMS)
+ $(CLUSTER_OPTIONAL_PARAMS)
service-master-1:
$(AWS_FC_COMMAND) create-stack \
@@ -82,7 +82,6 @@
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE)
-
service-master-2:
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_MASTER2_STACK_NAME) \
@@ -147,6 +146,10 @@
ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE)
service-lb:
+ifdef LOAD_BALANCER_SCHEME
+ $(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
+endif
+
$(AWS_FC_COMMAND) create-stack \
--stack-name $(LOAD_BALANCER_STACK_NAME) \
--capabilities CAPABILITY_IAM \
@@ -162,7 +165,8 @@
ParameterKey=CertificateArn,ParameterValue=$(SSL_CERTIFICATE_ARN) \
ParameterKey=Subdomain,ParameterValue=$(LB_SUBDOMAIN) \
ParameterKey=HAProxyDockerImage,ParameterValue=aws-gerrit/haproxy:$(HAPROXY_HEAD_SHA1) \
- ParameterKey=SidecarDockerImage,ParameterValue=aws-gerrit/syslog-sidecar:$(SYSLOG_HEAD_SHA1)
+ ParameterKey=SidecarDockerImage,ParameterValue=aws-gerrit/syslog-sidecar:$(SYSLOG_HEAD_SHA1) \
+ $(SERVICE_OPTIONAL_PARAMS)
dns-routing:
$(AWS_FC_COMMAND) create-stack \
diff --git a/dual-master/cf-service-lb.yml b/dual-master/cf-service-lb.yml
index c4d8acc..d641851 100644
--- a/dual-master/cf-service-lb.yml
+++ b/dual-master/cf-service-lb.yml
@@ -57,6 +57,11 @@
Description: The subdomain of the Gerrit cluster
Type: String
Default: gerrit-dual-master
+ LoadBalancerScheme:
+ Description: Load Balancer schema, The nodes of an Internet-facing load balancer have public IP addresses.
+ Type: String
+ Default: internet-facing
+ AllowedValues: [internal, internet-facing]
GerritKeyPrefix:
Description: Gerrit credentials keys prefix
Type: String
@@ -145,7 +150,7 @@
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: network
- Scheme: internet-facing
+ Scheme: !Ref 'LoadBalancerScheme'
Subnets:
- Fn::ImportValue:
!Join [':', [!Ref 'ClusterStackName', 'PublicSubnetOne']]
diff --git a/master-slave/Makefile b/master-slave/Makefile
index 31f0d29..525dd40 100644
--- a/master-slave/Makefile
+++ b/master-slave/Makefile
@@ -24,7 +24,7 @@
cluster: cluster-keys
ifdef CLUSTER_INSTANCE_TYPE
- $(eval OPTIONAL_PARAMS := $(OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
+ $(eval CLUSTER_OPTIONAL_PARAMS := $(CLUSTER_OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
endif
$(AWS_FC_COMMAND) create-stack \
@@ -39,9 +39,13 @@
ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
- $(OPTIONAL_PARAMS)
+ $(CLUSTER_OPTIONAL_PARAMS)
service-master:
+ifdef LOAD_BALANCER_SCHEME
+ $(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
+endif
+
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_MASTER_STACK_NAME) \
--capabilities CAPABILITY_IAM \
@@ -68,9 +72,14 @@
ParameterKey=GerritRAM,ParameterValue=$(GERRIT_RAM) \
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
- ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE)
+ ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(SERVICE_OPTIONAL_PARAMS)
service-slave:
+ifdef LOAD_BALANCER_SCHEME
+ $(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
+endif
+
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_SLAVE_STACK_NAME) \
--capabilities CAPABILITY_IAM \
@@ -92,7 +101,8 @@
ParameterKey=GerritRAM,ParameterValue=$(GERRIT_RAM) \
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
- ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE)
+ ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(SERVICE_OPTIONAL_PARAMS)
dns-routing:
$(AWS_FC_COMMAND) create-stack \
diff --git a/master-slave/cf-service-master.yml b/master-slave/cf-service-master.yml
index e07b5a5..fdfb05a 100644
--- a/master-slave/cf-service-master.yml
+++ b/master-slave/cf-service-master.yml
@@ -63,6 +63,11 @@
Description: The subdomain of the Gerrit cluster
Type: String
Default: gerrit-master-demo
+ LoadBalancerScheme:
+ Description: Load Balancer schema, The nodes of an Internet-facing load balancer have public IP addresses.
+ Type: String
+ Default: internet-facing
+ AllowedValues: [internal, internet-facing]
SlaveSubdomain:
Description: The subdomain of the Gerrit slave
Type: String
@@ -276,7 +281,7 @@
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: network
- Scheme: internet-facing
+ Scheme: !Ref 'LoadBalancerScheme'
Subnets:
- Fn::ImportValue:
!Join [':', [!Ref 'ClusterStackName', 'PublicSubnetOne']]
diff --git a/master-slave/cf-service-slave.yml b/master-slave/cf-service-slave.yml
index f02130d..2778b5f 100644
--- a/master-slave/cf-service-slave.yml
+++ b/master-slave/cf-service-slave.yml
@@ -82,6 +82,11 @@
Description: The subdomain of the Gerrit cluster
Type: String
Default: gerrit-slave-demo
+ LoadBalancerScheme:
+ Description: Load Balancer schema, The nodes of an Internet-facing load balancer have public IP addresses.
+ Type: String
+ Default: internet-facing
+ AllowedValues: [internal, internet-facing]
GerritGitVolume:
Description: Gerrit git volume name
Type: String
@@ -308,7 +313,7 @@
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: network
- Scheme: internet-facing
+ Scheme: !Ref 'LoadBalancerScheme'
Subnets:
- Fn::ImportValue:
!Join [':', [!Ref 'ClusterStackName', 'PublicSubnetOne']]
diff --git a/single-master/Makefile b/single-master/Makefile
index b2cd8ae..d7b6051 100644
--- a/single-master/Makefile
+++ b/single-master/Makefile
@@ -21,7 +21,7 @@
cluster: cluster-keys
ifdef CLUSTER_INSTANCE_TYPE
- $(eval OPTIONAL_PARAMS := $(OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
+ $(eval CLUSTER_OPTIONAL_PARAMS := $(CLUSTER_OPTIONAL_PARAMS) ParameterKey=InstanceType,ParameterValue=$(CLUSTER_INSTANCE_TYPE))
endif
$(AWS_FC_COMMAND) create-stack \
@@ -35,9 +35,13 @@
ParameterKey=InternetGatewayIdProp,ParameterValue=$(INTERNET_GATEWAY_ID) \
ParameterKey=VPCIdProp,ParameterValue=$(VPC_ID) \
ParameterKey=SubnetIdProp,ParameterValue=$(SUBNET_ID) \
- $(OPTIONAL_PARAMS)
+ $(CLUSTER_OPTIONAL_PARAMS)
service:
+ifdef LOAD_BALANCER_SCHEME
+ $(eval SERVICE_OPTIONAL_PARAMS := $(SERVICE_OPTIONAL_PARAMS) ParameterKey=LoadBalancerScheme,ParameterValue=$(LOAD_BALANCER_SCHEME))
+endif
+
$(AWS_FC_COMMAND) create-stack \
--stack-name $(SERVICE_STACK_NAME) \
--capabilities CAPABILITY_IAM \
@@ -62,7 +66,8 @@
ParameterKey=GerritRAM,ParameterValue=$(GERRIT_RAM) \
ParameterKey=GerritCPU,ParameterValue=$(GERRIT_CPU) \
ParameterKey=GerritHeapLimit,ParameterValue=$(GERRIT_HEAP_LIMIT) \
- ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE)
+ ParameterKey=JgitCacheSize,ParameterValue=$(JGIT_CACHE_SIZE) \
+ $(SERVICE_OPTIONAL_PARAMS)
dns-routing:
$(AWS_FC_COMMAND) create-stack \
diff --git a/single-master/cf-service.yml b/single-master/cf-service.yml
index 7b1a2ae..cc8530c 100644
--- a/single-master/cf-service.yml
+++ b/single-master/cf-service.yml
@@ -48,6 +48,11 @@
Description: The subdomain of the Gerrit cluster
Type: String
Default: gerrit-master-demo
+ LoadBalancerScheme:
+ Description: Load Balancer schema, The nodes of an Internet-facing load balancer have public IP addresses.
+ Type: String
+ Default: internet-facing
+ AllowedValues: [internal, internet-facing]
GerritKeyPrefix:
Description: Gerrit credentials keys prefix
Type: String
@@ -247,7 +252,7 @@
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: network
- Scheme: internet-facing
+ Scheme: !Ref 'LoadBalancerScheme'
Subnets:
- Fn::ImportValue:
!Join [':', [!Ref 'ClusterStackName', 'PublicSubnetOne']]