Skip to content
This repository was archived by the owner on May 8, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
027ac05
Changed the ResourceGroup name and the location of the templates.
coreyperkins Jul 15, 2016
35e162f
copyIndex updates
coreyperkins Jul 15, 2016
6c8285f
went back to a single custom script extension
coreyperkins Jul 15, 2016
89b8a65
taking out the event store install momentarily...
coreyperkins Jul 15, 2016
2322eaa
pulled down master.ps1
coreyperkins Jul 15, 2016
e66f8d1
brought back install-eventstore
coreyperkins Jul 15, 2016
ffc601a
Still working on updates to 1.5.1
coreyperkins Jul 15, 2016
d6f6c04
logging create-data-disks to file
coreyperkins Jul 15, 2016
84709c6
PS Transcript (logging) for ES, master, and creating data disks
coreyperkins Jul 15, 2016
eea864a
Changed to double quotes to load the other script files
coreyperkins Jul 15, 2016
8ec68e1
updated the master script to load child scripts
coreyperkins Jul 16, 2016
8918bba
temp parameters to test event store install
coreyperkins Jul 17, 2016
4228dd3
commented ExtIpAdvertiseAs for now
coreyperkins Jul 19, 2016
9781225
added nginx configuration
coreyperkins Jul 19, 2016
de8980f
added install-nginx to the download list
coreyperkins Jul 20, 2016
d354588
fired off install and start scripts
coreyperkins Jul 20, 2016
e3d6a81
took nssm out of the nginx script
coreyperkins Jul 20, 2016
15538c1
dropped creating the download directory
coreyperkins Jul 20, 2016
6bc2212
repaired small glitches around the nginx path
coreyperkins Jul 20, 2016
1b2e099
fixed nginx path
coreyperkins Jul 20, 2016
6929be4
Changed the nginx download url to one that belongs to us
coreyperkins Jul 21, 2016
ffbf99c
ditched IntIp and ExtIp, letting nginx be boss
coreyperkins Jul 21, 2016
d38a0e4
brought back IntIp
coreyperkins Jul 21, 2016
2e7408e
added web ui port to the firewall
coreyperkins Jul 21, 2016
0418ce6
code cleanup, preparing for a pull request
coreyperkins Jul 22, 2016
fe02c2d
automated adding IPs to NICs
coreyperkins Jul 22, 2016
8230ec3
automated adding NSG to the subnet
coreyperkins Jul 22, 2016
ef057a5
reset cluster name
coreyperkins Jul 22, 2016
feae86e
fixed nsg id ref
coreyperkins Jul 22, 2016
776a262
fixed nsg id ref
coreyperkins Jul 22, 2016
f33f848
dropped adding nsg to subnet for the moment
coreyperkins Jul 22, 2016
0e1231a
attempting to bring back adding nsg to subnet
coreyperkins Jul 22, 2016
86e3cf2
fixed bad public ip ref
coreyperkins Jul 22, 2016
4502f37
easy pass
coreyperkins Jul 22, 2016
33de42d
Parameterized the templateBaseUrl and included the custom nginx.conf …
coreyperkins Aug 1, 2016
27fd539
Added templateBaseUrl to main template file
coreyperkins Aug 1, 2016
54a3388
Added Standard_DS3_v2
coreyperkins Aug 1, 2016
d6b92de
pw
coreyperkins Aug 1, 2016
14c8bda
pulled down the nginx.conf for copying
coreyperkins Aug 1, 2016
e8d3de1
Merge remote-tracking branch 'refs/remotes/pbolduc/master'
coreyperkins Aug 1, 2016
581e3f6
fixed the nginx.conf path
coreyperkins Aug 1, 2016
8e7902e
Added RunProjections.
coreyperkins Aug 1, 2016
1752449
added proxy headers so that enabling projections will work
coreyperkins Aug 1, 2016
336808a
added all _v2 vm sizes to the configuration
coreyperkins Aug 2, 2016
be8d564
parameterized run-projections, defaulting to "All"
coreyperkins Aug 2, 2016
706ae48
added example ssl configuration (this will be optional in future comm…
coreyperkins Aug 2, 2016
baa4dae
patched up the location of the pem(s)
coreyperkins Aug 2, 2016
841f7bc
added firewall and inbound security rule for 443/ssl
coreyperkins Aug 2, 2016
1f16fda
added proxy pass directives for ssl support
coreyperkins Aug 2, 2016
f5fe831
added rules for RDP 3389
coreyperkins Aug 2, 2016
0f2ddf3
Added a stream entry for 1113
coreyperkins Sep 14, 2016
3b49452
added vmEventStoreDataDiskSize as a param
coreyperkins Oct 10, 2016
5974e4d
Updated sources and added some parameters to avoid naming collisions …
coreyperkins Dec 14, 2016
a4c09fc
used the namespace setting for the cluster nodes.
coreyperkins Dec 14, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,15 @@
<Content Include="Templates\azuredeploy.param.dev.json" />
<Content Include="Templates\jumpbox-resources.json" />
<Content Include="Templates\shared-resources.json" />
<None Include="Templates\cacert.pem" />
<None Include="Templates\empty-resources.json" />
<None Include="Templates\eventstore-ubuntu-sources.txt" />
<None Include="Templates\eventstore-windows-sources.csv" />
<None Include="Templates\install-eventstore.ps1" />
<None Include="Templates\install-nginx.ps1" />
<None Include="Templates\master.ps1" />
<None Include="Templates\nginx.conf" />
<None Include="Templates\privkey.pem" />
<None Include="Tools\AzCopy.exe" />
<None Include="Tools\Microsoft.Data.Edm.dll">
<Visible>False</Visible>
Expand Down
104 changes: 97 additions & 7 deletions azure-resource-manager/EventStoreCluster/Templates/azuredeploy.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,20 @@
"description": "Virtual Network"
}
},
"subnetName": {
"type": "string",
"defaultValue": "eventstore",
"metadata": {
"description": "Subnet"
}
},
"namespace": {
"type": "string",
"defaultValue": "es",
"metadata": {
"description": "Namespace for vms, ips, etc."
}
},
"OS": {
"type": "string",
"defaultValue": "windows",
Expand Down Expand Up @@ -86,7 +100,7 @@
},
"vmSizeEventStoreNode": {
"type": "string",
"defaultValue": "Standard_D2",
"defaultValue": "Standard_DS2_v2",
"allowedValues": [
"Standard_D1",
"Standard_D2",
Expand All @@ -100,7 +114,17 @@
"Standard_DS2",
"Standard_DS3",
"Standard_DS4",
"Standard_DS13"
"Standard_DS13",
"Standard_DS1_v2",
"Standard_DS2_v2",
"Standard_DS3_v2",
"Standard_DS4_v2",
"Standard_DS5_v2",
"Standard_DS11_v2",
"Standard_DS12_v2",
"Standard_DS13_v2",
"Standard_DS14_v2",
"Standard_DS15_v2"
],
"metadata": {
"description": "Size of the Event Store data nodes"
Expand All @@ -115,8 +139,12 @@
},
"esVersion": {
"type": "string",
"defaultValue": "3.8.1",
"defaultValue": "3.9.3",
"allowedValues": [
"3.9.3",
"3.9.2",
"3.9.1",
"3.9.0",
"3.8.1",
"3.8.0",
"3.7.0",
Expand All @@ -142,6 +170,15 @@
"description": "Event Store version to install"
}
},
"esRunProjections": {
"type": "string",
"defaultValue": "All",
"allowedValues": [
"None",
"System",
"All"
]
},
"githubAccount": {
"type": "string",
"defaultValue": "pbolduc",
Expand Down Expand Up @@ -195,7 +232,7 @@
"addressPrefix": "10.0.0.0/16",
"subnet": {
"eventstore": {
"name": "eventstore",
"name": "[parameters('subnetName')]",
"prefix": "10.0.1.0/28",
"networkPrefix": "10.0.1",
"vnet": "[parameters('virtualNetworkName')]"
Expand All @@ -210,8 +247,11 @@
"[concat(variables('templateBaseUrl'), 'master.ps1')]",
"[concat(variables('templateBaseUrl'), 'create-data-disks.ps1')]",
"[concat(variables('templateBaseUrl'), 'install-eventstore.ps1')]",
"[concat(variables('templateBaseUrl'), 'install-nginx.ps1')]",
"[concat(variables('templateBaseUrl'), 'eventstore-windows-sources.csv')]",
"[concat(variables('templateBaseUrl'), 'install-nginx.ps1')]"
"[concat(variables('templateBaseUrl'), 'nginx.conf')]",
"[concat(variables('templateBaseUrl'), 'cacert.pem')]",
"[concat(variables('templateBaseUrl'), 'privkey.pem')]"
],
"windowsSettings": {
"imageReference": {
Expand All @@ -229,7 +269,7 @@
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": "[variables('windowsScripts')]",
"commandToExecute": "[concat('powershell.exe -File master.ps1 -ClusterSize ',parameters('vmEventStoreNodeCount'),' -esVer ',parameters('esVersion'))]"
"commandToExecute": "[concat('powershell.exe -File master.ps1 -ClusterSize ',parameters('vmEventStoreNodeCount'),' -esVer ',parameters('esVersion'), ' -esRunProjections ',parameters('esRunProjections'))]"
}
}
}
Expand Down Expand Up @@ -281,6 +321,56 @@
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS1_v2": {
"dataDisks": 2,
"nodesPerStorageAccount": 6,
"storageAccountType": "Premium_LRS"
},
"Standard_DS2_v2": {
"dataDisks": 4,
"nodesPerStorageAccount": 4,
"storageAccountType": "Premium_LRS"
},
"Standard_DS3_v2": {
"dataDisks": 8,
"nodesPerStorageAccount": 4,
"storageAccountType": "Premium_LRS"
},
"Standard_DS4_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS5_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS11_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS12_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS13_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS14_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_DS15_v2": {
"dataDisks": 16,
"nodesPerStorageAccount": 2,
"storageAccountType": "Premium_LRS"
},
"Standard_A2": {
"dataDisks": 4,
"nodesPerStorageAccount": 6,
Expand Down Expand Up @@ -427,7 +517,7 @@
"value": "[parameters('vmEventStoreDataDiskSize')]"
},
"namespace": {
"value": "es"
"value": "[parameters('namespace')]"
},
"osSettings": {
"value": "[variables('osSettings')]"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,31 @@
"value": "EventStoreAdmin"
},
"adminPassword": {
"value": "YourEventStoreVMPassword"
"value": "YourEventStoreVMPassword!123"
},
"jumpbox": {
"jumpbox": {
"value": "No"
},
"vmEventStoreNodeCount": {
"namespace": {
"value": "test-es"
},
"subnetName": {
"value": "test-eventstore"
},
"virtualNetworkName": {
"value": "test-es-vnet"
},
"vmEventStoreNodeCount": {
"value": 3
},
"vmSizeEventStoreNode": {
"value": "Standard_DS3_v2"
},
"vmEventStoreDataDiskSize": {
"value": 128
},
"githubAccount": {
"value": "agconnections"
}
}
}
23 changes: 23 additions & 0 deletions azure-resource-manager/EventStoreCluster/Templates/cacert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIID1zCCAr+gAwIBAgIJANlglY0XoRznMA0GCSqGSIb3DQEBBQUAMFAxCzAJBgNV
BAYTAlVTMREwDwYDVQQIEwhLZW50dWNreTEPMA0GA1UEBxMGTXVycmF5MR0wGwYD
VQQKExRBZyBDb25uZWN0aW9ucywgTExDLjAeFw0xNjA4MDIxNTQ2MDJaFw0xOTA4
MDIxNTQ2MDJaMFAxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhLZW50dWNreTEPMA0G
A1UEBxMGTXVycmF5MR0wGwYDVQQKExRBZyBDb25uZWN0aW9ucywgTExDLjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM8g9qRHP08v8dbtaibb5mSWYlfL
SwhaAl2BCJMDuAyVfagTgOAX9Wx4C+ueLXlbMDhKTKIUFHwRvHxd2Hxt0vBvvyG2
lW4LZP8lKWVesf3sfT7/g9/nY78LMlSmnDbL8arN0pZdoplE2/KRQyZlgSG8IfLx
lVmFqQ3X2ynJOcz1mb/rJW2hT7kEfX/kjD0QGs3c7AyEQTblpqlxKsb5PiVui4N/
m8HWSa40cUANq92hgZp0lQEtoUdja49J3dvtlJbAENcQTc9soFV6x+p9yons52bc
czuF86oht4TXIxEHmhpJ0+tMabWaU4MAasvzDf+7N99O4gAp6UhZA/zz3fUCAwEA
AaOBszCBsDAdBgNVHQ4EFgQU29LSoW8IoIRUNLDTC6nYPYO/QRkwgYAGA1UdIwR5
MHeAFNvS0qFvCKCEVDSw0wup2D2Dv0EZoVSkUjBQMQswCQYDVQQGEwJVUzERMA8G
A1UECBMIS2VudHVja3kxDzANBgNVBAcTBk11cnJheTEdMBsGA1UEChMUQWcgQ29u
bmVjdGlvbnMsIExMQy6CCQDZYJWNF6Ec5zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBBQUAA4IBAQC3vrV+zMFKzjmNZ0WFA28K0Bes0RKxhEI9rVNxQgfZOlN9Th9S
UvF3FQeRYVEIA4jw/vIsbhShGrZt3D09z/r5OPBYuuJ3Dh9ob/W5KbpmLh615Rmv
euKnXNVKh3ylLukJqUCcgRyKi9xrWwGa1rnvXx0/kOIgq0KJIPBgGDJjiwDSD2n+
5X0h8eGQDxqyB/wmjYhe80FgJrwlmzWx6korZ548N6m8rVLzxJE3TKpdPPzvh7Kp
IzPMhsvJf7Ml5W7o+Ym9Y7Rj+JMls5+6e1Qd65GdZ0+upwBRMPp5hVVYtyn6Mv85
lhI45Bl/VvG7XDfKaMozHWX2M8DqI4utkKmE
-----END CERTIFICATE-----
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
# to do: make this file contents something unbuntu shell script can process natively
#

"3.9.3": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.9.3.tar.gz",
"3.9.2": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.9.2.tar.gz",
"3.9.1": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.9.1.tar.gz",
"3.9.0": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.9.0.tar.gz",
"3.8.1": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.8.1.tar.gz",
"3.8.0": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.8.0.tar.gz",
"3.7.0": "http://download.geteventstore.com/binaries/EventStore-OSS-Ubuntu-14.04-v3.7.0.tar.gz",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
"3.8.1",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.8.1.zip
"3.9.3",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.9.3.zip
"3.9.2",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.9.2.zip
"3.9.1",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.9.1.zip
"3.9.0",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.9.0.zip
"3.8.1",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.8.1.zip
"3.8.0",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.8.0.zip
"3.7.0",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.7.0.zip
"3.6.3",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.6.3.zip
Expand All @@ -17,4 +21,4 @@
"3.0.3",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.0.3.zip
"3.0.2",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.0.2.zip
"3.0.1",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.0.1.zip
"3.0.0",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.0.0.zip
"3.0.0",http://download.geteventstore.com/binaries/EventStore-OSS-Win-v3.0.0.zip
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ param (
[Int]
$ExtHttpPort = 2113,
[string]
$downloadDirectory
$downloadDirectory,
[string]
$RunProjections = "All"
)

function Extract-ZipFile($file, $destination) {
Expand Down Expand Up @@ -108,6 +110,7 @@ Add-Content F:\eventstore\config.yaml "IntIp: $ipAddress`n"
Add-Content F:\eventstore\config.yaml "ClusterSize: $ClusterSize`n"
Add-Content F:\eventstore\config.yaml "DiscoverViaDns: false`n"
Add-Content F:\eventstore\config.yaml "GossipSeed: 10.0.1.4:$IntHttpPort,10.0.1.5:$IntHttpPort,10.0.1.6:$IntHttpPort`n"
Add-Content F:\eventstore\config.yaml "RunProjections: $RunProjections`n"

Add-Content F:\eventstore\install-service.cmd "F:\nssm-2.24\win64\nssm.exe install EventStore F:\eventstore\bin\EventStore.ClusterNode.exe --config F:\eventstore\config.yaml"
Add-Content F:\eventstore\install-service.cmd "F:\nssm-2.24\win64\nssm.exe set EventStore Description ""The EventStore service"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ New-NetFirewallRule -Name Allow_80_In `
-Action Allow `
-LocalPort 80

New-NetFirewallRule -Name Allow_443_In `
-DisplayName "Allow inbound port 443 traffic" `
-Protocol TCP `
-Direction Inbound `
-Action Allow `
-LocalPort 443

New-NetFirewallRule -Name Allow_3389_In `
-DisplayName "Allow inbound port 3389 traffic" `
-Protocol TCP `
-Direction Inbound `
-Action Allow `
-LocalPort 3389

Copy-Item '.\nginx.conf' 'F:\nginx\bin\nginx-1.10.1\conf\nginx.conf' -Force
Copy-Item '.\cacert.pem' 'F:\nginx\bin\nginx-1.10.1\conf\cacert.pem' -Force
Copy-Item '.\privkey.pem' 'F:\nginx\bin\nginx-1.10.1\conf\privkey.pem' -Force

Add-Content F:\nginx\install-service.cmd "F:\nssm-2.24\win64\nssm.exe install Nginx F:\nginx\bin\nginx-1.10.1\nginx.exe"
Add-Content F:\nginx\install-service.cmd "F:\nssm-2.24\win64\nssm.exe set Nginx Description ""The Nginx service"""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
param(
[Int32]$ClusterSize,
[string]$esVer,
[string]$esRunProjections,
[string]$nginxVer="1.10.1",
[string]$nginxUrl="https://landdb.blob.core.windows.net/eventstore-cluster-resources/nginx-1.10.1.zip"
[string]$nginxUrl="http://nginx.org/download/nginx-1.10.1.zip"
)

$ErrorActionPreference="SilentlyContinue"
Expand All @@ -20,6 +21,7 @@ New-Item $downloadDirectory -ItemType Directory | Out-Null

# TODO: These parameters should come from the template!
. .\install-eventstore.ps1 -EventStoreVersion $esVer `
-RunProjections $esRunProjections `
-nssmDownloadUrl "https://nssm.cc/release/nssm-2.24.zip" `
-ClusterSize $ClusterSize `
-downloadDirectory $downloadDirectory
Expand Down
Loading