├── .gitignore ├── cloudera-on-centos ├── .gitattributes ├── server-cert.pfx ├── azuredeploy-parameters.json ├── metadata.json ├── scripts │ ├── initialize-node.sh │ └── initialize-master.sh ├── server-cert.pem ├── upload-keys.ps1 └── shared-resources.json ├── hortonworks-on-centos ├── .gitattributes ├── server-cert.pfx ├── azuredeploy-parameters.json ├── scripts │ ├── mountDisk.sh │ ├── initialize-node.sh │ └── initialize-master.sh ├── metadata.json ├── server-cert.pem ├── upload-keys.ps1 └── shared-resources.json ├── 101-create-availability-set ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── 101-create-availability-set-3FDs ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── 100-starter-template-with-validation ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── 201-discover-private-ip-dynamically ├── privateip.sh ├── README.md ├── metadata.json └── azuredeploy.parameters.json ├── spark-on-ubuntu ├── spark-cluster-install.sh ├── jumpbox-resources-disabled.json ├── metadata.json └── azuredeploy-parameters.json ├── spark-ubuntu-multidisks ├── spark-cluster-install.sh ├── azuredeploy-parameters.json ├── metadata.json ├── empty-resources.json └── shared-resources.json ├── 101-public-ip-dns-name ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── dsc-extension-iis-server-windows-vm ├── ContosoWebsite.ps1.zip ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── 101-rbac-builtinrole-resourcegroup ├── azuredeploy.parameters.json ├── metadata.json ├── ReadMe.md └── azuredeploy.json ├── 101-create-storage-account-premium ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── 101-create-security-group ├── azuredeploy.parameters.json ├── metadata.json └── README.md ├── 101-create-key-vault ├── metadata.json └── README.md ├── windows-puppet-agent ├── metadata.json ├── readme.md └── azuredeploy.parameters.json ├── 101-create-internal-loadbalancer ├── azuredeploy.parameters.json ├── metadata.json └── README.md ├── 101-create-storage-account-standard ├── azuredeploy.parameters.json ├── metadata.json ├── README.md └── azuredeploy.json ├── apache2-on-ubuntu-vm ├── install_apache.sh ├── metadata.json ├── azuredeploy.parameters.json └── readme.md ├── windows-vm-push-certificate ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── zookeper-cluster-ubuntu-vm ├── README.md ├── metadata.json ├── azuredeploy.parameters.json └── zookeeper.sh ├── resource-loop-vms-vnet ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── memcached-multi-vm-ubuntu ├── azuredeploy-parameters.json ├── metadata.json ├── cache_test.php ├── install_memcached.sh └── install_apache.sh ├── 201-vm-from-specialized-vhd ├── metadata.json ├── azuredeploy.parameters.json ├── README.md └── azuredeploy.json ├── chef-json-parameters-ubuntu-vm ├── metadata.json ├── readme.md └── azuredeploy.parameters.json ├── 101-virtual-network ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── drone-ubuntu-vm ├── metadata.json ├── azuredeploy.parameters.json ├── install_drone.sh └── readme.md ├── kafka-on-ubuntu ├── jumpbox-resources-disabled.json ├── metadata.json └── azuredeploy-parameters.json ├── 101-rbac-builtinrole-virtualmachine ├── azuredeploy.parameters.json ├── metadata.json └── ReadMe.md ├── datastax-on-ubuntu ├── metadata.json ├── azuredeploy-parameters.json ├── dsenode.sh ├── opscenter-install-resources.json └── shared-resources.json ├── jenkins-on-ubuntu ├── metadata.json ├── jenkAddNode ├── azuredeploy-parameters.json ├── shared-resources-parameters.json ├── jenkSlaveInstall.sh ├── shared-resources.json ├── jenkMstrInstall.sh └── README.md ├── 201-2-vms-loadbalancer-lbrules ├── azuredeploy.parameters.json ├── metadata.json └── README.md ├── anti-malware-extension-windows-vm ├── metadata.json ├── README.md └── azuredeploy.parameters.json ├── docker-swarm-cluster ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── couchbase-on-ubuntu ├── metadata.json ├── azuredeploy-parameters.json ├── jumpbox-resources-disabled.json └── shared-resources.json ├── lamp-app ├── metadata.json ├── install_lamp.sh ├── readme.md └── azuredeploy.parameters.json ├── symantec-extension-windows-vm ├── metadata.json ├── README.md └── azuredeploy.parameters.json ├── 101-vm-from-user-image ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── datastax-enterprise ├── metadata.json ├── azuredeploy-parameters.json ├── dsenode.sh ├── opscenter-install-resources.json └── shared-resources.json ├── django-app ├── metadata.json ├── azuredeploy.parameters.json ├── readme.md └── install_django.sh ├── diskraid-ubuntu-vm ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── 101-loadbalancer-with-nat-rule ├── azuredeploy.parameters.json ├── metadata.json └── README.md ├── 101-networkinterface-with-publicip-vnet ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── redis-high-availability ├── metadata.json ├── azuredeploy-parameters.json ├── empty-resources.json └── redis-sentinel-startup.sh ├── mongodb-high-availability ├── metadata.json ├── empty-resources.json └── azuredeploy-parameters.json ├── mongodb-on-ubuntu ├── mongo-install-ubuntu.sh ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── kafka-ubuntu-multidisks ├── azuredeploy-parameters.json ├── metadata.json └── empty-resources.json ├── 101-vm-customdata ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── 201-premium-windows-vm ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── 101-vm-multiple-data-disk ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── mongodb-on-centos ├── metadata.json ├── azuredeploy-parameters.json ├── mongo-install-centos.sh └── README.md ├── 201-premium-windows-vm-diagnostics-extension ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── python-proxy-on-ubuntu ├── metadata.json ├── python-proxy-install-ubuntu.sh ├── azuredeploy-parameters.json └── README.md ├── 101-simple-linux-vm ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── docker-simple-on-ubuntu ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── nagios-on-ubuntu ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── postgresql-on-ubuntu ├── azuredeploy-parameters.json ├── metadata.json ├── empty-resources.json └── shared-resources.json ├── 101-simple-windows-vm ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── 101-simple-windows-vm-data-disk ├── metadata.json ├── azuredeploy.parameters.json └── README.md ├── resource-loop-vms-userimage ├── metadata.json ├── azuredeploy-parameters.json └── README.md ├── couchbase-ansible ├── metadata.json ├── nginx ├── azuredeploy-parameters.json └── InitStorage_RAID.yml ├── elasticsearch ├── metadata.json ├── azuredeploy-parameters.json └── empty-resources.json ├── ansible-advancedlinux ├── metadata.json ├── azuredeploy-parameters.json └── InitStorage_RAID.yml ├── LICENSE └── shared_scripts └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | ansible-advancedlinux/Ansible_ARM.ps1 -------------------------------------------------------------------------------- /cloudera-on-centos/.gitattributes: -------------------------------------------------------------------------------- 1 | *.sh -crlf 2 | -------------------------------------------------------------------------------- /hortonworks-on-centos/.gitattributes: -------------------------------------------------------------------------------- 1 | *.sh -crlf 2 | -------------------------------------------------------------------------------- /101-create-availability-set/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": { 3 | "value": "West US" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /101-create-availability-set-3FDs/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": { 3 | "value": "West US" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /100-starter-template-with-validation/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": { 3 | "value": "West US" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /cloudera-on-centos/server-cert.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/azure-quickstart-templates/master/cloudera-on-centos/server-cert.pfx -------------------------------------------------------------------------------- /201-discover-private-ip-dynamically/privateip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd /usr/local 4 | touch privateIP.txt 5 | 6 | echo $1 >> privateIP.txt 7 | -------------------------------------------------------------------------------- /hortonworks-on-centos/server-cert.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/azure-quickstart-templates/master/hortonworks-on-centos/server-cert.pfx -------------------------------------------------------------------------------- /spark-on-ubuntu/spark-cluster-install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/azure-quickstart-templates/master/spark-on-ubuntu/spark-cluster-install.sh -------------------------------------------------------------------------------- /spark-ubuntu-multidisks/spark-cluster-install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/azure-quickstart-templates/master/spark-ubuntu-multidisks/spark-cluster-install.sh -------------------------------------------------------------------------------- /101-public-ip-dns-name/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "dnsNameForPublicIP": { 3 | "value": "" 4 | }, 5 | "location": { 6 | "value": "West US" 7 | } 8 | } -------------------------------------------------------------------------------- /dsc-extension-iis-server-windows-vm/ContosoWebsite.ps1.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/github/azure-quickstart-templates/master/dsc-extension-iis-server-windows-vm/ContosoWebsite.ps1.zip -------------------------------------------------------------------------------- /101-rbac-builtinrole-resourcegroup/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "principalId": { 3 | "value": "" 4 | }, 5 | "builtInRoleType": { 6 | "value": "Owner" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /101-create-storage-account-premium/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "newStorageAccountName" : { 3 | "value" : "" 4 | }, 5 | "location": { 6 | "value": "West US" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /101-create-security-group/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "location": { 3 | "value": "West US" 4 | }, 5 | "addressPrefix": { 6 | "value": "10.0.0.0/16" 7 | }, 8 | "subnet1Prefix": { 9 | "value": "10.0.0.0/24" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /101-create-key-vault/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "itemDisplayName": "Create a Key Vault", 3 | "description": "This template creates a Key Vault", 4 | "summary": "This template creates a Key Vault", 5 | "githubUsername": "singhkay", 6 | "dateUpdated": "2015-03-30" 7 | } 8 | -------------------------------------------------------------------------------- /101-create-availability-set/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "itemDisplayName": "Create an Availability Set", 3 | "description": "This template creates an Availability Set", 4 | "summary": "Create an Availability Set", 5 | "githubUsername": "kenazk", 6 | "dateUpdated": "2015-05-01" 7 | } 8 | -------------------------------------------------------------------------------- /windows-puppet-agent/metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "itemDisplayName": "Puppet agent on Windows VM", 3 | "description": "Deploy a windows VM with Puppet Agent", 4 | "summary": "Deploy an Windows VM With Puppet Agent", 5 | "githubUsername": "kundanap", 6 | "dateUpdated": "2015-04-23" 7 | } 8 | -------------------------------------------------------------------------------- /101-create-internal-loadbalancer/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "location" : { 3 | "value" : "West US" 4 | }, 5 | "addressPrefix": { 6 | "value": "10.0.0.0/16" 7 | }, 8 | "subnetPrefix": { 9 | "value": "10.0.0.0/24" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /101-create-storage-account-standard/azuredeploy.parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "newStorageAccountName" : { 3 | "value" : "" 4 | }, 5 | "storageAccountType": { 6 | "value": "Standard_GRS" 7 | }, 8 | "location": { 9 | "value": "West US" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /apache2-on-ubuntu-vm/install_apache.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | apt-get -y update 3 | 4 | # install Apache2 5 | apt-get -y install apache2 6 | 7 | # write some HTML 8 | echo \
5 |
6 |
7 | This template creates a 3 node Zookeper cluster on Ubuntu VMs
8 |
--------------------------------------------------------------------------------
/101-create-storage-account-premium/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a Premium Storage Account",
3 | "description": "This template creates a Premium Storage Account",
4 | "summary": "Create a Premium Storage Account",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-27"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-security-group/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a Network Security Group",
3 | "description": "This template creates a Network Security Group",
4 | "summary": "This template creates a Network Security Group",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-04-09"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-storage-account-standard/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a Standard Storage Account",
3 | "description": "This template creates a Standard Storage Account",
4 | "summary": "Create a Standard Storage Account",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-03-20"
7 | }
8 |
--------------------------------------------------------------------------------
/resource-loop-vms-vnet/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create Virtual Machines using Resource Loops",
3 | "description": "Create Virtual Machines using Resource Loops",
4 | "summary": "Create Virtual Machines using Resource Loops",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-04-04"
7 | }
8 |
--------------------------------------------------------------------------------
/memcached-multi-vm-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "adminUsername": {
6 | "value": "azureuser"
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/201-vm-from-specialized-vhd/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a VM from a specialized VHD disk",
3 | "description": "This template creates a VM from a specialized VHD",
4 | "summary": "This template creates a VM from a specialized VHD",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-04-06"
7 | }
8 |
--------------------------------------------------------------------------------
/chef-json-parameters-ubuntu-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Chef with JSON parameters on Ubuntu",
3 | "description": "Deploy an Ubuntu VM With Chef with JSON parameters",
4 | "summary": "Deploy an Ubuntu VM With Chef with JSON parameters",
5 | "githubUsername": "kundanap",
6 | "dateUpdated": "2015-04-06"
7 | }
8 |
--------------------------------------------------------------------------------
/zookeper-cluster-ubuntu-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "TemplateName": "Zookeeper cluster on Ubuntu VMs",
3 | "Description": "This template creates a 3 node Zookeper cluster on Ubuntu VMs",
4 | "ShortDescription": "Deploy a Zookeeper cluster on Ubuntu VMs",
5 | "GithubUsername": "singhkay",
6 | "DateUpdated": "2015-043-25"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-key-vault/README.md:
--------------------------------------------------------------------------------
1 | # Create Key Vault
2 |
3 |
4 |
5 |
6 |
7 | This template creates a Key Vault. For more information, go to:
8 |
9 | http://azure.microsoft.com/en-us/documentation/services/key-vault/
10 |
--------------------------------------------------------------------------------
/101-virtual-network/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a Virtual Network with two Subnets",
3 | "description": "This template allows you to create a Virtual Network with two subnets.",
4 | "summary": "Create a Virtual Network with two Subnets",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-04-04"
7 | }
8 |
--------------------------------------------------------------------------------
/101-public-ip-dns-name/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a public IP with DNS Name",
3 | "description": "This template allows you to create a public IP with DNS Name during the template deployment.",
4 | "summary": "Create public IP with DNS Name",
5 | "githubUsername": "ggalow",
6 | "dateUpdated": "2015-04-10"
7 | }
8 |
--------------------------------------------------------------------------------
/drone-ubuntu-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Drone on Ubuntu VM",
3 | "description": "This template provisions an instance of Ubuntu 14.04 LTS with the Docker Extension and Drone CI package.",
4 | "summary": "Ubuntu VM template with Drone CI",
5 | "githubUsername": "anweiss",
6 | "dateUpdated": "2015-04-27"
7 | }
8 |
--------------------------------------------------------------------------------
/kafka-on-ubuntu/jumpbox-resources-disabled.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | },
6 | "variables": {
7 | },
8 | "resources": [
9 | ],
10 | "outputs": {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/spark-on-ubuntu/jumpbox-resources-disabled.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | },
6 | "variables": {
7 | },
8 | "resources": [
9 | ],
10 | "outputs": {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/101-create-availability-set-3FDs/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create an Availability Set with 3 Fault Domains",
3 | "description": "This template creates an Availability Set with 3 Fault Domains",
4 | "summary": "Create an Availability Set with 3 Fault Domains",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-04"
7 | }
8 |
--------------------------------------------------------------------------------
/101-rbac-builtinrole-virtualmachine/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "principalId" : {
3 | "value" : ""
4 | },
5 | "builtInRoleType": {
6 | "value": "Owner"
7 | },
8 | "virtualMachineName": {
9 | "value": "
5 |
6 |
7 | This template deploys an Availability Set to a specified location. This is just a snippet you may want to include in a more complex template.
--------------------------------------------------------------------------------
/101-rbac-builtinrole-resourcegroup/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Assign an RBAC role to a Resource Group",
3 | "description": "This template assigns Owner, Reader or Contributor access to an existing resource group.",
4 | "summary": "Assign an RBAC role to a Resource Group",
5 | "githubUsername": "ManaviS",
6 | "dateUpdated": "2015-03-22"
7 | }
8 |
--------------------------------------------------------------------------------
/201-2-vms-loadbalancer-lbrules/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "location": {
3 | "value": ""
4 | },
5 | "newStorageAccountName": {
6 | "value" : ""
7 | },
8 | "adminUsername": {
9 | "value" : ""
10 | },
11 | "adminPassword": {
12 | "value": ""
13 | },
14 | "dnsNameforLBIP": {
15 | "value": ""
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/anti-malware-extension-windows-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a Windows VM with Anti-Malware extension enabled",
3 | "description": "This template creates a Windows VM and sets up the Anti-Malware protection",
4 | "summary": "Windows VM with Anti-Malware protection",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-04-07"
7 | }
8 |
--------------------------------------------------------------------------------
/docker-swarm-cluster/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Docker Swarm",
3 | "description": "This template creates a Docker swarm cluster",
4 | "summary": "This template sets up a Docker Swarm cluster in a VM. The user can get the cluster id by running: docker run --rm swarm create",
5 | "githubUsername": "kmouss",
6 | "dateUpdated": "2015-04-20"
7 | }
8 |
--------------------------------------------------------------------------------
/couchbase-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Couchbase cluster on Ubuntu VMs",
3 | "description": "This template installs and configures a Couchbase 3.0.3 cluster on Ubuntu Virtual Machines.",
4 | "summary": "This template creates Provision a Couchbase cluster on Ubuntu virtual machines",
5 | "githubUsername": "ercenk",
6 | "dateUpdated": "2015-04-20"
7 | }
--------------------------------------------------------------------------------
/cloudera-on-centos/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "dnsNamePrefix": {
3 | "value": "defaultDnsNamePrefix"
4 | },
5 | "storageAccountPrefix": {
6 | "value": "defaultStorageAccountPrefix"
7 | },
8 | "region": {
9 | "value": "East Asia"
10 | },
11 | "tshirtSize": {
12 | "value": "Eval"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "dnsNamePrefix": {
3 | "value": "defaultDnsNamePrefix"
4 | },
5 | "storageAccountPrefix": {
6 | "value": "defaultStorageAccountPrefix"
7 | },
8 | "region": {
9 | "value": "East Asia"
10 | },
11 | "tshirtSize": {
12 | "value": "Eval"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/dsc-extension-iis-server-windows-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "IIS Server using DSC extension on a Windows VM",
3 | "description": "This template creates a Windows VM and sets up an IIS server using the DSC extension",
4 | "summary": "This template creates a VM with IIS server using DSC extension",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-04-25"
7 | }
8 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/scripts/mountDisk.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | DRIVE=$1
4 | INDEX=$2
5 |
6 | echo "Creating filesystem on $DRIVE..."
7 | mke2fs -F -t ext4 -b 4096 -O sparse_super,dir_index,extent,has_journal -m1 $DRIVE
8 |
9 | echo "Mounting disk $DRIVE at /disks/$INDEX"
10 | mkdir -p /disks/$INDEX
11 | chmod 777 /disks/$INDEX
12 | mount -o noatime -t ext4 $DRIVE /disks/$INDEX
13 |
--------------------------------------------------------------------------------
/201-discover-private-ip-dynamically/README.md:
--------------------------------------------------------------------------------
1 | # Discover Private IP dynamically
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to discover a private IP for a NIC dynamically. It passes the private IP of NIC0 to VM1 using custom script extensions which writes it to a file on VM1.
8 |
--------------------------------------------------------------------------------
/lamp-app/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a LAMP app",
3 | "description": "This template uses the Azure Linux CustomScript extension to deploy an application. It creates an Ubuntu VM, does a silent install of MySQL, Apache and PHP, then creates a simple PHP script.",
4 | "summary": "Deploy a LAMP app",
5 | "githubUsername": "gbowerman",
6 | "dateUpdated": "2015-04-25"
7 | }
8 |
--------------------------------------------------------------------------------
/symantec-extension-windows-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Symantec Endpoint Protection extension (trial license) on Windows VM",
3 | "description": "This template creates a Windows VM and sets up a trial version of Symantec Endpoint Protection",
4 | "summary": "Windows VM with Symantec Endpoint Protection",
5 | "githubUsername": "sung-msft",
6 | "dateUpdated": "2015-04-27"
7 | }
8 |
--------------------------------------------------------------------------------
/101-vm-from-user-image/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a VM from User Image",
3 | "description": "This template allows you to create a Virtual Machines from a User image. This template also deploys a Virtual Network, Public IP addresses and a Network Interface.",
4 | "summary": "Create a Virtual Machine from a User Image",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-04-24"
7 | }
8 |
--------------------------------------------------------------------------------
/cloudera-on-centos/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Cloudera on CentOS VMs",
3 | "description": "This template creates a multi-server Cloudera deployment on CentOR virtual machines, and configures the Cloudera installation",
4 | "summary": "This template creates a multi-server Cloudera deployment on CentOS virtual machines",
5 | "githubUsername": "predeekc",
6 | "dateUpdated": "2015-04-18"
7 | }
8 |
--------------------------------------------------------------------------------
/datastax-enterprise/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Datastax Enterprise Edition on Ubuntu",
3 | "description": "This template deploys a Datastax Enterprise Edition cluster on a configurable number and size of Ubuntu virtual machines",
4 | "summary": "This template deploys a Datastax Enterprise Edition cluster on the Ubuntu",
5 | "githubUsername": "trentmswanson",
6 | "dateUpdated": "2015-04-28"
7 | }
--------------------------------------------------------------------------------
/django-app/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a Django app",
3 | "description": "This template uses the Azure Linux CustomScript extension to deploy an application. This example creates an Ubuntu VM, does a silent install of Python, Django and Apache, then creates a simple Django app",
4 | "summary": "Deploy a Django app",
5 | "githubUsername": "madhana",
6 | "dateUpdated": "2015-04-10"
7 | }
8 |
--------------------------------------------------------------------------------
/diskraid-ubuntu-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create Ubuntu vm data disk raid0",
3 | "description": "This template creates a virtual machine with multiple disks attached. A script partitions and formats the disks in raid0 array.",
4 | "summary": "Create Ubuntu vm with multiple data disks formatted as raid0 disk array",
5 | "githubUsername": "trentmswanson",
6 | "dateUpdated": "2015-04-08"
7 | }
8 |
--------------------------------------------------------------------------------
/100-starter-template-with-validation/README.md:
--------------------------------------------------------------------------------
1 | # Starter template with validation
2 |
3 | This is a starter template that will pass the validation checks. Please read the contributing guide to learn more about what's required for successfully passing validation checks.
4 |
5 | In this example, the template deploys a basic Availability Set resource. This is just a snippet you may want to include in a more complex template.
6 |
--------------------------------------------------------------------------------
/101-loadbalancer-with-nat-rule/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "location" : {
3 | "value" : "West US"
4 | },
5 | "dnsNameforLBIP": {
6 | "value": ""
7 | },
8 | "publicIPAddressType": {
9 | "value": "Dynamic"
10 | },
11 | "addressPrefix": {
12 | "value": "10.0.0.0/16"
13 | },
14 | "subnetPrefix": {
15 | "value": "10.0.0.0/24"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/101-networkinterface-with-publicip-vnet/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Network Interface in a Virtual Network with Public IP Address",
3 | "description": "This template allows you to create a Network Inerface in a Virtual Network referencing a Public IP Address.",
4 | "summary": "Network Interface in a Virtual Network with Public IP Address",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-03-22"
7 | }
8 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Hortonworks on CentOS VMs",
3 | "description": "This template creates a multi-server Hortonworks deployment on CentOR virtual machines, and configures the Hortonworks installation",
4 | "summary": "This template creates a multi-server Hortonworks deployment on CentOS virtual machines",
5 | "githubUsername": "predeekc",
6 | "dateUpdated": "2015-04-24"
7 | }
8 |
--------------------------------------------------------------------------------
/redis-high-availability/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Redis cluster on Ubuntu VMs",
3 | "description": "This template creates a Redis cluster on Ubuntu virtual machine images, configures persistence and applies well known optimizations and proven practices",
4 | "summary": "This template creates a Redis cluster on Ubuntu virtual machines",
5 | "githubUsername": "TheAzureGuy",
6 | "dateUpdated": "2015-04-06"
7 | }
--------------------------------------------------------------------------------
/201-vm-from-specialized-vhd/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "osDiskVhdUri": {
3 | "value" : ""
4 | },
5 | "osType" : {
6 | "value" : ""
7 | },
8 | "location": {
9 | "value": ""
10 | },
11 | "vmSize": {
12 | "value": "Standard_A2"
13 | },
14 | "vmName" : {
15 | "value" : ""
16 | },
17 | "nicName" : {
18 | "value" : ""
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/mongodb-high-availability/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "MongoDB on Ubuntu VMs",
3 | "description": "This template creates a multi-server MongoDB deployment on Ubuntu virtual machines, and configures the MongoDB installation for high availability",
4 | "summary": "This template creates a multi-server MongoDB deployment on Ubuntu virtual machines",
5 | "githubUsername": "TheAzureGuy",
6 | "dateUpdated": "2015-04-18"
7 | }
--------------------------------------------------------------------------------
/mongodb-on-ubuntu/mongo-install-ubuntu.sh:
--------------------------------------------------------------------------------
1 | # Configure mongodb.list file with the correct location
2 | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
3 | echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
4 |
5 | # Install updates
6 | sudo apt-get -y update
7 |
8 | #Install Mongo DB
9 | sudo apt-get install -y mongodb-10gen
10 |
--------------------------------------------------------------------------------
/201-discover-private-ip-dynamically/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Discover Private IP dynamically",
3 | "description": "This template allows you to discover a private IP for a NIC dynamically. It passes the private IP of NIC0 to VM1 using custom script extensions which writes it to a file on VM1.",
4 | "summary": "Discover Private IP dynamically",
5 | "githubUsername": "singhkay",
6 | "dateUpdated": "2015-04-28"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-storage-account-standard/README.md:
--------------------------------------------------------------------------------
1 | # Create a Standard Storage Account
2 |
3 | Create a Standard Storage Account -
4 |
5 |
6 |
7 | This template creates a Standard Storage account. For more information, see here:
8 |
9 | http://azure.microsoft.com/en-us/documentation/articles/storage-create-storage-account/
10 |
--------------------------------------------------------------------------------
/101-networkinterface-with-publicip-vnet/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "dnsNameForPublicIP" : {
3 | "value" : ""
4 | },
5 | "location" : {
6 | "value" : "West US"
7 | },
8 | "publicIPAddressType": {
9 | "value": "Dynamic"
10 | },
11 | "addressPrefix": {
12 | "value": "10.0.0.0/16"
13 | },
14 | "subnetPrefix": {
15 | "value": "10.0.0.0/24"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/kafka-ubuntu-multidisks/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountNamePrefix": {
3 | "value": "cgnarmstrkafkav5"
4 | },
5 | "adminUsername": {
6 | "value": "adminuser"
7 | },
8 | "region": {
9 | "value": "West US"
10 | },
11 | "adminPassword": {
12 | "value": "azure@1234"
13 | },
14 | "domainName": {
15 | "value": "kafkacgnarmv5"
16 | },
17 | "jumpbox": {
18 | "value": "Enabled"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/101-rbac-builtinrole-virtualmachine/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "TemplateName": "RBAC - Grant Built In Role Access for an existing VM in a Resource Group",
3 | "Description": "This template grants applicable role based access to an existing VM in a Resource Group",
4 | "ShortDescription": "This template grants applicable role based access to an existing VM in a existing Resource Group",
5 | "GithubUsername": "ManaviS",
6 | "DateUpdated": "2015-04-10"
7 | }
8 |
--------------------------------------------------------------------------------
/101-vm-customdata/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a Virtual Machine with Custom Data",
3 | "description": "This template allows you to create a Virtual Machine with Custom Data passed down to the VM. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.",
4 | "summary": "Deploy a Virtual Machine with Custom Data",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-05-01"
7 | }
8 |
--------------------------------------------------------------------------------
/symantec-extension-windows-vm/README.md:
--------------------------------------------------------------------------------
1 | # Create a Windows VM with Symantec Endpoint Protection extension enabled
2 |
3 |
4 |
5 |
6 |
7 | Create a Windows VM with Symantec Endpoint Protection extension enabled. This is a sample template that shows how to set up a VM with a trial version of Symantec Endpoint Protection service with this configuration.
--------------------------------------------------------------------------------
/kafka-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Provisions a Kafka Cluster on Ubuntu Virtual Machines",
3 | "description": "This template creates a Kafka cluster on Ubuntu virtual machine image, enables persistence (by default) and applies all well-known optimizations and best practices",
4 | "summary": "This template creates a Kafka Cluster on Ubuntu virtual machines",
5 | "githubUsername": "CognosysTech",
6 | "dateUpdated": "2015-04-06"
7 | }
8 |
--------------------------------------------------------------------------------
/spark-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Provisions a Spark Cluster on Ubuntu Virtual Machines",
3 | "description": "This template creates a Spark cluster on Ubuntu virtual machine image, enables persistence (by default) and applies all well-known optimizations and best practices",
4 | "summary": "This template creates a Spark Cluster on Ubuntu virtual machines",
5 | "githubUsername": "CognosysTech",
6 | "dateUpdated": "2015-04-06"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-security-group/README.md:
--------------------------------------------------------------------------------
1 | # Create a Network Security Group
2 |
3 |
4 |
5 |
6 |
7 | This template creates a subnet, a Network Security Group and attaches it to the subnet in the VNET. For more information on how to configure the Network Security Group, go here:
8 |
9 | https://msdn.microsoft.com/en-us/library/azure/dn848316.aspx
10 |
11 |
--------------------------------------------------------------------------------
/201-premium-windows-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a Premium Windows VM",
3 | "description": "This template allows you to deploy a Premium Windows VM using a few different options for the Windows version, using the latest patched version.",
4 | "summary": "This template takes a minimum amount of parameters and deploys a Premium Windows VM, using the latest patched version.",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/101-vm-multiple-data-disk/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Create a VM from a Windows Image with 4 Empty Data Disks",
3 | "description": "This template allows you to create a Windows Virtual Machine from a specified image. It also attaches 4 empty data disks. Note that you can specify the size of the empty data disks.",
4 | "summary": "Create a VM from a Windows Image with 4 Empty Data Disks",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-24"
7 | }
8 |
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/jenkAddNode:
--------------------------------------------------------------------------------
1 | import jenkins.model.*
2 | import hudson.model.*
3 | import hudson.slaves.*
4 |
5 |
6 | if (args.length > 0) {
7 | int cnt = args[0].toInteger()
8 |
9 | for (int i = 0; i < cnt; i++) {
10 | String name = "Slave" + Integer.toString(i)
11 |
12 | Jenkins.instance.addNode(new DumbSlave(name,"Description","/var/jenkens","1",Node.Mode.NORMAL,"label",new JNLPLauncher(),new RetentionStrategy.Always(),new LinkedList()))
13 | }
14 | }
--------------------------------------------------------------------------------
/mongodb-on-centos/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Install Mongo DB on a CentOS VM using Custom Script Linux Extension",
3 | "description": "This template deploys Mongo DB on a CentOS Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.",
4 | "summary": "Install Mongo DB on a CentOS VM using Custom Script Linux Extension",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-03-22"
7 | }
8 |
--------------------------------------------------------------------------------
/101-loadbalancer-with-nat-rule/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Load Balancer with Inbound NAT Rule",
3 | "description": "This template allows you to create a Load Balancer, Public IP address for the Load balancer, Virtual Network, Network Interface in the Virtual Network & a NAT Rule in the Load Balancer that is used by the Network Interface.",
4 | "summary": "Load Balancer with Inbound NAT Rule",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-03-22"
7 | }
8 |
--------------------------------------------------------------------------------
/apache2-on-ubuntu-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Apache Webserver on Ubuntu VM",
3 | "description": "This template uses the Azure Linux CustomScript extension to deploy an Apache web server. The deployment template creates an Ubuntu VM, installs Apache2 and creates a simple HTML file. Go to ../demo.html to see the deployed page.",
4 | "summary": "Deploy an Ubuntu VM with Apache webserver",
5 | "githubUsername": "gbowerman",
6 | "dateUpdated": "2015-04-24"
7 | }
8 |
--------------------------------------------------------------------------------
/mongodb-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Install Mongo DB on an Ubuntu VM using Custom Script Linux Extension",
3 | "description": "This template deploys Mongo DB on an Ubuntu Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.",
4 | "summary": "Install Mongo DB on an Ubuntu VM using Custom Script Linux Extension",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-03-22"
7 | }
8 |
--------------------------------------------------------------------------------
/resource-loop-vms-vnet/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":"kaystore4d"
4 | },
5 | "adminUsername": {
6 | "value": "kay"
7 | },
8 | "adminPassword": {
9 | "value": "Azure12345"
10 | },
11 | "numberOfInstances": {
12 | "value": 2
13 | },
14 | "location": {
15 | "value": "West US"
16 | },
17 | "vmSize": {
18 | "value": "Standard_D1"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/201-premium-windows-vm-diagnostics-extension/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a Premium Windows VM",
3 | "description": "This template allows you to deploy a Premium Windows VM using a few different options for the Windows version, using the latest patched version.",
4 | "summary": "This template takes a minimum amount of parameters and deploys a Premium Windows VM, using the latest patched version.",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/python-proxy-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Install Python Proxy on an Ubuntu VM using Custom Script Linux Extension",
3 | "description": "This template deploys Python Proxy on an Ubuntu Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.",
4 | "summary": "Install Python Proxy on an Ubuntu VM using Custom Script Linux Extension",
5 | "githubUsername": "yuezh",
6 | "dateUpdated": "2015-04-23"
7 | }
8 |
--------------------------------------------------------------------------------
/101-simple-linux-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a simple Linux VM in West US",
3 | "description": "This template allows you to deploy a simple Linux VM using a few different options for the Ubuntu version, using the latest patched version. This will deploy in West US on a D1 VM Size.",
4 | "summary": "This template takes a minimum amount of parameters and deploys a Linux VM, using the latest patched version.",
5 | "githubUsername": "coreysa",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/201-vm-from-specialized-vhd/README.md:
--------------------------------------------------------------------------------
1 | # Create a VM from a specialized VHD disk
2 |
3 |
4 |
5 |
6 |
7 | Prerequisite - Resource Group with a Storage Account with the VHD, NIC already exist.
8 |
9 | This template creates a VM from a specialized VHD. The VHD file can be located in a storage account using a tool such as Azure Storage Explorer http://azurestorageexplorer.codeplex.com/
10 |
--------------------------------------------------------------------------------
/docker-simple-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy an Ubuntu VM with Docker and three containers",
3 | "description": "This template allows you to deploy an Ubuntu VM with Docker (using the Docker extension) and three Docker containers pulled directly from DockerHub and deployed using Docker Compose.",
4 | "summary": "This template takes a few parameters and deploys an Ubuntu VM with three Docker containers",
5 | "githubUsername": "coreysa",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/nagios-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Nagios Core on Ubuntu VMs",
3 | "description": "This template installs and configures Nagios Core, the industry standard, Open Source IT monitoring system that enables organizations to identify and resolve IT infrastructure problems before they affect critical business processes",
4 | "summary": "This template creates a Nagios Core installation on Ubuntu virtual machines",
5 | "githubUsername": "TheAzureGuy",
6 | "dateUpdated": "2015-04-10"
7 | }
--------------------------------------------------------------------------------
/postgresql-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountNamePrefix": {
3 | "value": "psgwgddsg"
4 | },
5 | "adminUsername": {
6 | "value": "adminuser"
7 | },
8 | "region": {
9 | "value": "West US"
10 | },
11 | "adminPassword": {
12 | "value": "azure@1234"
13 | },
14 | "domainName": {
15 | "value": "kasafdf"
16 | },
17 | "replicatorPassword": {
18 | "value": "azure@1234"
19 | },
20 | "jumpbox": {
21 | "value": "Enabled"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/101-create-availability-set-3FDs/README.md:
--------------------------------------------------------------------------------
1 | # Create Availability Set
2 |
3 | Create Availability Set -
4 |
5 |
6 |
7 | This template creates an Availability Set and configures it for 3 Fault Domains. This is just a snippet you may want to include in a more complex template 3 FDs are very useful when you're building a quorum-based solution or simply to ensure high availability of your service.
8 |
9 |
--------------------------------------------------------------------------------
/spark-ubuntu-multidisks/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountNamePrefix": {
3 | "value": "cgnsparkstorev1"
4 | },
5 | "adminUsername": {
6 | "value": "adminuser"
7 | },
8 | "region": {
9 | "value": "West US"
10 | },
11 | "adminPassword": {
12 | "value": "azure@1234"
13 | },
14 | "domainName": {
15 | "value": "cgnsparkv1"
16 | },
17 | "sparkversion": {
18 | "value": "1.2.1"
19 | },
20 | "jumpbox": {
21 | "value": "Enabled"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/101-simple-windows-vm/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a simple Windows VM in West US",
3 | "description": "This template allows you to deploy a simple Windows VM using a few different options for the Windows version, using the latest patched version. This will deploy in West US on a D1 VM Size.",
4 | "summary": "This template takes a minimum amount of parameters and deploys a Windows VM, using the latest patched version.",
5 | "githubUsername": "coreysa",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/101-virtual-network/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "location": {
3 | "value": "West US"
4 | },
5 | "virtualNetworkName": {
6 | "value": "myVNET"
7 | },
8 | "subnet1Name": {
9 | "value": "Subnet-1"
10 | },
11 | "subnet2Name": {
12 | "value": "Subnet-2"
13 | },
14 | "addressPrefix": {
15 | "value": "10.0.0.0/16"
16 | },
17 | "subnet1Prefix": {
18 | "value": "10.0.0.0/24"
19 | },
20 | "subnet2Prefix": {
21 | "value": "10.0.1.0/24"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/101-vm-multiple-data-disk/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":"uniqueStorageAccountName"
4 | },
5 | "adminUsername": {
6 | "value": "username"
7 | },
8 | "adminPassword": {
9 | "value": "password"
10 | },
11 | "dnsNameForPublicIP": {
12 | "value": "uniqueDns"
13 | },
14 | "vmSize": {
15 | "value": "Standard_D2"
16 | },
17 | "sizeOfEachDataDiskInGB" : {
18 | "value":"100"
19 | }
20 | }
--------------------------------------------------------------------------------
/diskraid-ubuntu-vm/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "dnsName": {
3 | "value":""
4 | },
5 | "storageAccountName" : {
6 | "value":"uniqueAccountName"
7 | },
8 | "adminUsername": {
9 | "value": "azureuser"
10 | },
11 | "adminPassword": {
12 | "value": ""
13 | },
14 | "region": {
15 | "value": "West US"
16 | },
17 | "virtualNetworkName": {
18 | "value": ""
19 | },
20 | "vmSize": {
21 | "value": "Standard_A1"
22 | }
23 | }
--------------------------------------------------------------------------------
/spark-ubuntu-multidisks/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Spark on Ubuntu VMs",
3 | "description": "This template creates Spark streaming replication from one master to one or more slaves each configured with multiple striped data disks. The database servers are deployed into a private subnet with an optional externally accessible jumpbox.",
4 | "summary": "Spark stream-replication with multiple slave servers and a publicly accessible jumpbox VM",
5 | "githubUsername": "CognosysTech",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-storage-account-premium/README.md:
--------------------------------------------------------------------------------
1 | # Create Premium Storage Account
2 |
3 | Create Premium Storage Account -
4 |
5 |
6 |
7 | This template creates a Premium Storage account. It provides a list of regions where Premium Storage is currently available. For more information on Premium Storage, see here:
8 |
9 | http://azure.microsoft.com/en-us/documentation/articles/storage-premium-storage-preview-portal/
10 |
11 |
--------------------------------------------------------------------------------
/kafka-ubuntu-multidisks/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Kafka on Ubuntu VMs",
3 | "description": "This template creates Kafka streaming replication from one zookeeper to one or more brokers each configured with multiple striped data disks. The database servers are deployed into a private subnet with an optional externally accessible jumpbox.",
4 | "summary": "Kafka stream-replication with multiple broker servers and a publicly accessible jumpbox VM",
5 | "githubUsername": "CognosysTech",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/memcached-multi-vm-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Memcached service cluster using multiple Ubuntu VMs",
3 | "description": "This template creates one or more memcached services on Ubuntu 14.04 VMs in a private subnet. It also creates one publicly accessible Apache VM with a PHP test page to confirm that memcached is installed and accessible.",
4 | "summary": "Multiple memcached servers in a private subnet and a publicly accessible Apache test page.",
5 | "githubUsername": "arsenvlad",
6 | "dateUpdated": "2015-04-25"
7 | }
8 |
--------------------------------------------------------------------------------
/postgresql-on-ubuntu/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "PostgreSQL 9.3 on Ubuntu VMs",
3 | "description": "This template creates PostgreSQL streaming replication from one master to one or more slaves each configured with multiple striped data disks. The database servers are deployed into a private subnet with an optional externally accessible jumpbox.",
4 | "summary": "PostgreSQL stream-replication with multiple slave servers and a publicly accessible jumpbox VM",
5 | "githubUsername": "trentmswanson",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountPrefix": {
3 | "value": "jenkstore19"
4 | },
5 | "virtualNetworkName": {
6 | "value": "vnet1"
7 | },
8 | "adminUsername": {
9 | "value": "azureuser"
10 | },
11 | "adminPassword": {
12 | "value": "P@ssword1"
13 | },
14 | "region": {
15 | "value": "West US"
16 | },
17 | "masterVmSize": {
18 | "value": "Standard_D3"
19 | },
20 | "slaveNodes": {
21 | "value": 3
22 | },
23 | "slaveVmSize": {
24 | "value": "Standard_D3"
25 | }
26 | }
--------------------------------------------------------------------------------
/101-simple-windows-vm-data-disk/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy a simple Windows VM in West US with empty data disk",
3 | "description": "This template allows you to deploy a simple Windows VM using a few different options for the Windows version, using the latest patched version. This will deploy in West US on a D1 VM Size with an empty data disk.",
4 | "summary": "This template takes a minimum amount of parameters and deploys a Windows VM, using the latest patched version.",
5 | "githubUsername": "kenazk",
6 | "dateUpdated": "2015-04-26"
7 | }
8 |
--------------------------------------------------------------------------------
/101-simple-linux-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": "unqiueStorageAccount"
7 | },
8 | "adminUsername": {
9 | "value": "userName"
10 | },
11 | "adminPassword": {
12 | "value": "password"
13 | },
14 | "vmDnsName": {
15 | "value": "uniqueDNS"
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/101-simple-windows-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": "uniqueStorageAccount"
7 | },
8 | "adminUsername": {
9 | "value": "userName"
10 | },
11 | "adminPassword": {
12 | "value": "password"
13 | },
14 | "vmDnsName": {
15 | "value": "uniqueDNS"
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/docker-simple-on-ubuntu/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": "unqiueStorageAccount"
7 | },
8 | "adminUsername": {
9 | "value": "userName""
10 | },
11 | "adminPassword": {
12 | "value": "password"
13 | },
14 | "vmDnsName": {
15 | "value": "uniqueDNS"
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/shared-resources-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountName": {
3 | "value": "dastore3"
4 | },
5 | "region": {
6 | "value": "West US"
7 | },
8 | "networkSettings": {
9 | "value": {
10 | "virtualNetworkName": "vnet1",
11 | "addressPrefix": "10.0.0.0/16",
12 | "subnet": {
13 | "dse": {
14 | "name": "dse",
15 | "prefix": "10.0.0.0/24",
16 | "vnet": "vnet1"
17 | }
18 | }
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/resource-loop-vms-userimage/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Deploy 'n' Virtual Machines from a user image using Resource Loops",
3 | "description": "This template allows you to create 'N' number of Virtual Machines from a User image based on the 'numberOfInstances' parameter specified during the template deployment. This template also deploys a Virtual Network, 'N' number of Public IP addresses/Network Inerfaces/Virtual Machines.",
4 | "summary": "Deploy 'n' Virtual Machines from a user image using Resource Loops",
5 | "githubUsername": "mahthi",
6 | "dateUpdated": "2015-04-04"
7 | }
8 |
--------------------------------------------------------------------------------
/101-vm-customdata/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":""
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "customData" : {
12 | "value" : "echo customData"
13 | },
14 | "dnsNameForPublicIP": {
15 | "value": ""
16 | },
17 | "location": {
18 | "value": "West US"
19 | },
20 | "vmSize": {
21 | "value": "Standard_A0"
22 | },
23 | "ubuntuOSVersion" : {
24 | "value" : "14.10"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/couchbase-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "adminUsername": {
3 | "value": "couchadmin"
4 | },
5 | "adminPassword": {
6 | "value": "P@ssword1"
7 | },
8 | "tshirtSize": {
9 | "value": "Small"
10 | },
11 | "storageAccountNamePrefix": {
12 | "value": "f180cbdply91"
13 | },
14 | "region": {
15 | "value": "East Asia"
16 | },
17 | "virtualNetworkName": {
18 | "value": "couchVnet"
19 | },
20 | "clusterName": {
21 | "value": "couchbasefs180"
22 | },
23 | "jumpbox": {
24 | "value": "enabled"
25 | }
26 | }
--------------------------------------------------------------------------------
/201-2-vms-loadbalancer-lbrules/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "2 VMs in a Load Balancer and load balancing rules",
3 | "description": "This template allows you to create 2 Virtual Machines under a Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces. In this template, we use the resource loops capability to create the network interfaces and virtual machines",
4 | "summary": "2 VMs in a Load Balancer and Load Balancer rules",
5 | "githubUsername": "ypitsch",
6 | "dateUpdated": "2015-04-28"
7 | }
8 |
--------------------------------------------------------------------------------
/windows-puppet-agent/readme.md:
--------------------------------------------------------------------------------
1 | # Deploy a windows VM with Puppet.
2 |
3 |
4 | | Deploy to Azure | Author | Template Name | Description |
5 | |:-----------------|:--------------------------------| :---------------| :---------------|
6 | |
| [kundanap](https://github.com/gbowerman) | [Puppet Agent on windows Azure VM(https://github.com/azurermtemplates/azurermtemplates/tree/master/windows-puppet-agent) | This template provisions a windows VM on Azure and bootstraps it with Puppet agent version 3.2.|
7 |
--------------------------------------------------------------------------------
/chef-json-parameters-ubuntu-vm/readme.md:
--------------------------------------------------------------------------------
1 | # Deploy an Ubuntu VM With Chef.
2 |
3 |
4 | | Deploy to Azure | Author | Template Name | Description |
5 | |:-----------------|:--------------------------------| :---------------| :---------------|
6 | |
| [kundanap](https://github.com/gbowerman) | [Chef Agent on Ubuntu Azure VM(https://github.com/azurermtemplates/azurermtemplates/tree/master/ubuntu-vm-with-chef) | This template provisions a Linux Ubuntu VM on Azure and bootstraps it with Chef client version 1201.12.|
7 |
--------------------------------------------------------------------------------
/datastax-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountPrefix": {
3 | "value": ""
4 | },
5 | "dnsName": {
6 | "value": ""
7 | },
8 | "virtualNetworkName": {
9 | "value": "datastax"
10 | },
11 | "adminUsername": {
12 | "value": "trent"
13 | },
14 | "adminPassword": {
15 | "value": ""
16 | },
17 | "region": {
18 | "value": "East Asia"
19 | },
20 | "opsCenterAdminPassword": {
21 | "value": ""
22 | },
23 | "clusterVmSize": {
24 | "value": "Standard_D3"
25 | },
26 | "clusterNodeCount": {
27 | "value": 3
28 | },
29 | "clusterName": {
30 | "value": ""
31 | }
32 | }
--------------------------------------------------------------------------------
/201-premium-windows-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "location" : {
6 | "value" : "West US"
7 | },
8 | "newStorageAccountName": {
9 | "value": "uniqueStorageAccount"
10 | },
11 | "adminUsername": {
12 | "value": "userName"
13 | },
14 | "adminPassword": {
15 | "value": "password"
16 | },
17 | "vmDnsName": {
18 | "value": "uniqueDNS"
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/django-app/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": "uniquestorageaccountname"
7 | },
8 | "location": {
9 | "value": "West US"
10 | },
11 | "adminUsername": {
12 | "value": "username"
13 | },
14 | "adminPassword": {
15 | "value": "strongpassword"
16 | },
17 | "vmDnsName": {
18 | "value": "uniquednsname"
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/101-vm-from-user-image/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "adminUsername": {
3 | "value": "username"
4 | },
5 | "adminPassword": {
6 | "value": "password!"
7 | },
8 | "userImageStorageAccountName": {
9 | "value" : "myStorageAccount"
10 | },
11 | "userImageStorageContainerName" : {
12 | "value" : "myContainerName"
13 | },
14 | "userImageVhdName" : {
15 | "value" : "sample.vhd"
16 | },
17 | "dnsNameForPublicIP": {
18 | "value": "uniqueDNS"
19 | },
20 | "osType" : {
21 | "value" : "linux"
22 | },
23 | "vmSize": {
24 | "value": "Standard_D2"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/lamp-app/install_lamp.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | apt-get -y update
3 |
4 | # set up a silent install of MySQL
5 | dbpass=$1
6 |
7 | export DEBIAN_FRONTEND=noninteractive
8 | echo mysql-server-5.6 mysql-server/root_password password $dbpass | debconf-set-selections
9 | echo mysql-server-5.6 mysql-server/root_password_again password $dbpass | debconf-set-selections
10 |
11 | # install the LAMP stack
12 | apt-get -y install apache2 mysql-server php5 php5-mysql
13 |
14 | # write some PHP
15 | echo \
5 |
6 |
7 | This template allows you to create a public IP with DNS Name during the template deployment. This is a template snippet. For a more complete network definition, see this template:
8 |
9 | https://github.com/Azure/azure-quickstart-templates/tree/master/101-loadbalancer-with-nat-rule
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
16 | | location | location where the resources will be deployed |
17 |
18 |
--------------------------------------------------------------------------------
/mongodb-on-centos/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":"uniqueStorageAccountName"
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "dnsNameForPublicIP": {
12 | "value": "uniqueDnsNameForPublicIP"
13 | },
14 | "location": {
15 | "value": "West US"
16 | },
17 | "virtualNetworkName": {
18 | "value": "myVNET"
19 | },
20 | "vmSize": {
21 | "value": "Standard_A0"
22 | },
23 | "vmName" : {
24 | "value" : "myVM"
25 | },
26 | "publicIPAddressName" : {
27 | "value" : "myPublicIP"
28 | },
29 | "nicName" : {
30 | "value" : "myNic"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/mongodb-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":"uniqueStorageAccountName"
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "dnsNameForPublicIP": {
12 | "value": "uniqueDnsNameForPublicIP"
13 | },
14 | "location": {
15 | "value": "West US"
16 | },
17 | "virtualNetworkName": {
18 | "value": "myVNET"
19 | },
20 | "vmSize": {
21 | "value": "Standard_A0"
22 | },
23 | "vmName" : {
24 | "value" : "myVM"
25 | },
26 | "publicIPAddressName" : {
27 | "value" : "myPublicIP"
28 | },
29 | "nicName" : {
30 | "value" : "myNic"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/couchbase-on-ubuntu/jumpbox-resources-disabled.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "commonSettings": {
6 | "type": "object",
7 | "defaultValue": {}
8 | },
9 | "networkSettings": {
10 | "type": "object",
11 | "defaultValue": {}
12 | },
13 | "machineSettings": {
14 | "type": "object",
15 | "defaultValue": {}
16 | },
17 | "storageAccountNamePrefix": {
18 | "type": "string",
19 | "defaultValue": ""
20 | }
21 | },
22 | "variables": {},
23 | "resources": [],
24 | "outputs": {}
25 | }
--------------------------------------------------------------------------------
/drone-ubuntu-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": "armdronetest01"
7 | },
8 | "location": {
9 | "value": "East US"
10 | },
11 | "adminUsername": {
12 | "value": "myuser"
13 | },
14 | "adminPassword": {
15 | "value": ""
16 | },
17 | "vmDnsName": {
18 | "value": ""
19 | },
20 | "githubClientKey": {
21 | "value": ""
22 | },
23 | "githubSecret": {
24 | "value": ""
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/101-create-availability-set-3FDs/azuredeploy.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "location": {
6 | "type": "String",
7 | "allowedValues": ["East US", "West US", "West Europe", "East Asia", "South East Asia"],
8 | "metadata": {
9 | "description": "Location to deploy to"
10 | }
11 | }
12 | },
13 | "resources": [
14 | {
15 | "type": "Microsoft.Compute/availabilitySets",
16 | "name": "availabilitySet1",
17 | "apiVersion": "2015-05-01-preview",
18 | "location": "[parameters('location')]",
19 | "properties": {
20 | "platformFaultDomainCount":"3"
21 | }
22 | }
23 | ]
24 | }
25 |
--------------------------------------------------------------------------------
/nagios-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountName": {
3 | "value": "armdeploy4"
4 | },
5 | "adminUsername": {
6 | "value": "NagiosAdmin"
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "region": {
12 | "value": "West US"
13 | },
14 | "virtualNetworkName": {
15 | "value": "nagiosClustVnet"
16 | },
17 | "subnetName": {
18 | "value": "Subnet1"
19 | },
20 | "addressPrefix": {
21 | "value": "10.0.0.0/16"
22 | },
23 | "subnetPrefix": {
24 | "value": "10.0.0.0/24"
25 | },
26 | "domainName": {
27 | "value": "nagiosonazure"
28 | },
29 | "tshirtSize": {
30 | "value": "Medium"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/windows-puppet-agent/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName": {
3 | "value": "your storage"
4 | },
5 | "adminUserName": {
6 | "value": "admin name"
7 | },
8 | "adminPassword": {
9 | "value": "admin password"
10 | },
11 | "vmDnsName": {
12 | "value": "unique dns name"
13 | },
14 | "imagePublisher": {
15 | "value": "image Publisher"
16 | },
17 | "imageOffer": {
18 | "value": "image Offer"
19 | },
20 | "imageSKU": {
21 | "value": "image SKU"
22 | },
23 | "location": {
24 | "value": "VM Location"
25 | },
26 | "vmSize": {
27 | "value": "VM Size"
28 | },
29 | "puppet_master_server": {
30 | "value": "Puppet Master Agent"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/memcached-multi-vm-ubuntu/cache_test.php:
--------------------------------------------------------------------------------
1 | ");
6 |
7 | $mem = new Memcached();
8 |
9 | for ($i=0; $i
5 |
6 |
7 | This template allows you to create a Virtual Network with two subnets.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | location | Region where the resources will be deployed |
14 | | virtualNetworkName | Name of Virtual Network |
15 | | addressPrefix | Address prefix for the Virtual Network specified in CIDR format |
16 | | subnet1Name | Name of Subnet-1 |
17 | | subnet2Name | Name of Subnet-2 |
18 | | subnet1Prefix | Prefix for the Subnet-1 specified in CIDR format |
19 | | subnet2Prefix | Prefix for the Subnet-2 specified in CIDR format |
20 |
--------------------------------------------------------------------------------
/anti-malware-extension-windows-vm/README.md:
--------------------------------------------------------------------------------
1 | # Create a Windows VM with Anti-Malware extension enabled
2 |
3 |
4 |
5 |
6 |
7 | Create a Windows VM with Anti-Malware extension enabled. This is a sample template that shows how to set up the Anti-Malware service with this configuration. *For your use case you might want to modify these*
8 |
9 | * Exclusions
10 | * Paths - C:\Users
11 | * Extensions - .txt
12 | * Processes - taskmgr.exe
13 | * RealtimeProtectionEnabled - true
14 | * ScheduledScanSettings
15 | * scanType - Quick
16 | * day - 7 i.e. Saturday
17 | * time - 120s (When to perform the scheduled scan, measured in minutes from midnight (0-1440). For example: 0 = 12AM, 60 = 1AM, 120 = 2AM)
18 |
--------------------------------------------------------------------------------
/101-create-internal-loadbalancer/README.md:
--------------------------------------------------------------------------------
1 | # Load Balancer with Inbound NAT Rule
2 |
3 |
4 |
5 |
6 |
7 |
8 | Built by: [kenazk](https://github.com/kenazk)
9 |
10 | This template allows you to create a Load Balancer, Public IP address for the Load balancer, Virtual Network, Network Interface in the Virtual Network & a NAT Rule in the Load Balancer that is used by the Network Interface.
11 |
12 | Below are the parameters that the template expects
13 |
14 | | Name | Description |
15 | |:--- |:---|
16 | | location | Azure region where the resource will be deployed to |
17 | | addressPrefix | Prefix for the address in CIDR format |
18 | | subnetPrefix | Prefix for the subnet in CIDR format |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/mongodb-on-centos/mongo-install-centos.sh:
--------------------------------------------------------------------------------
1 | #Modify Sudoers file to not require tty for shell script execution on CentOS
2 | # sudo sed -i '/Defaults[[:space:]]\+requiretty/s/^/#/' /etc/sudoers
3 |
4 | # Enable write access to the mongodb.repo and configure it for installation
5 |
6 | #sudo chmod 777 /etc/yum.repos.d/mongodb.repo
7 | touch /etc/yum.repos.d/mongodb.repo
8 | echo "[mongodb]" >> /etc/yum.repos.d/mongodb.repo
9 | echo "name=MongoDB Repository" >> /etc/yum.repos.d/mongodb.repo
10 | echo "baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64" >> /etc/yum.repos.d/mongodb.repo
11 | echo "gpgcheck=0" >> /etc/yum.repos.d/mongodb.repo
12 | echo "enabled=1" >> /etc/yum.repos.d/mongodb.repo
13 |
14 | # Install updates
15 | yum -y update
16 |
17 | #Install Mongo DB
18 | yum install -y mongo-10gen mongo-10gen-server
19 |
--------------------------------------------------------------------------------
/201-premium-windows-vm-diagnostics-extension/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "location" : {
6 | "value" : "West US"
7 | },
8 | "newStorageAccountName": {
9 | "value": ""
10 | },
11 | "vmDiagnosticsStorageAccountName" : {
12 | "value" : ""
13 | },
14 | "adminUsername": {
15 | "value": ""
16 | },
17 | "adminPassword": {
18 | "value": ""
19 | },
20 | "dnsNameForPublicIP": {
21 | "value": ""
22 | },
23 | "windowsOSVersion" : {
24 | "value" : "2012-R2-Datacenter"
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/lamp-app/readme.md:
--------------------------------------------------------------------------------
1 | # Deploy a LAMP app on Ubuntu.
2 |
3 | This template uses the Azure Linux CustomScript extension to deploy a LAMP application on Ubuntu. It creates an Ubuntu VM, does a silent install of MySQL, Apache and PHP, then creates a simple PHP script.
4 |
5 | | Deploy to Azure | Author | Template Name | Description |
6 | |:-----------------|:--------------------------------| :---------------| :---------------|
7 | |
| [gbowerman](https://github.com/gbowerman) | [Deploy a LAMP app on Ubuntu](https://github.com/gbowerman/azure-quickstart-templates/tree/master/lamp-app) | This template uses the Azure Linux CustomScript extension to deploy a LAMP application on Ubuntu. Go to /phpinfo.php to see the deployed page.|
8 |
--------------------------------------------------------------------------------
/apache2-on-ubuntu-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": "West US"
10 | },
11 | "vmDnsName": {
12 | "value": ""
13 | },
14 | "adminUsername": {
15 | "value": ""
16 | },
17 | "adminPassword": {
18 | "value": ""
19 | },
20 | "imagePublisher": {
21 | "value": "Canonical"
22 | },
23 | "imageOffer": {
24 | "value": "UbuntuServer"
25 | },
26 | "imageSKU": {
27 | "value": "14.04.2-LTS"
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/101-networkinterface-with-publicip-vnet/README.md:
--------------------------------------------------------------------------------
1 | # Network Interface in a Virtual Network with Public IP Address
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create a Network Inerface in a Virtual Network referencing a Public IP Address.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | dnsNameforPublicIP | Unique DNS Name for the Public IP Address |
14 | | location | Azure region where the resource will be deployed to |
15 | | addressPrefix | Address Prefix for the Virtual Network specified in the CIDR format |
16 | | subnetPrefix | Prefix for the Subnet specified in CIDR format |
17 | | publicIPAddressType | Address Type of the Public IP Address - Dynamic or Static |
18 |
19 |
--------------------------------------------------------------------------------
/cloudera-on-centos/scripts/initialize-node.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | ADMINUSER=$1
4 |
5 | # Disable the need for a tty when running sudo
6 | sed -i '/Defaults[[:space:]]\+!*requiretty/s/^/#/' /etc/sudoers
7 |
8 | # Mount and format the attached disks
9 | sh ./prepareDisks.sh
10 |
11 | #use the key from the key vault as the SSH authorized key
12 | mkdir /home/$ADMINUSER/.ssh
13 | chown $ADMINUSER /home/$ADMINUSER/.ssh
14 | chmod 700 /home/$ADMINUSER/.ssh
15 |
16 | ssh-keygen -y -f /var/lib/waagent/*.prv > /home/$ADMINUSER/.ssh/authorized_keys
17 | chown $ADMINUSER /home/$ADMINUSER/.ssh/authorized_keys
18 | chmod 600 /home/$ADMINUSER/.ssh/authorized_keys
19 |
20 | #disable password authentication in ssh
21 | sed -i "s/UsePAM\s*yes/UsePAM no/" /etc/ssh/sshd_config
22 | sed -i "s/PasswordAuthentication\s*yes/PasswordAuthentication no/" /etc/ssh/sshd_config
23 | /etc/init.d/sshd restart
24 |
--------------------------------------------------------------------------------
/elasticsearch/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Install Elasticsearch cluster on Virtual Machines",
3 | "description": "This template deploys an Elasticsearch cluster on Virtual Machines and uses template linking to create data node scale untis. The template provisions 3 dedicated master and client nodes in separate availability sets and storage accounts. Data node scale unit count and nodes in a scale unit can be configured as parameters. A load balancer is configured with a rule to route traffic on port 9200 to the client nodes, and also includes a single SSH nat management rule for a single node. Multiple data disks are attached and data is striped across them as an approach to improve disk throughput.",
4 | "summary": "Install Elasticsearch cluster on Virtual Machines with data node storage scale units",
5 | "githubUsername": "trentmswanson",
6 | "dateUpdated": "2015-05-26"
7 | }
8 |
--------------------------------------------------------------------------------
/resource-loop-vms-userimage/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "userImageStorageAccountName": {
3 | "value" : "userImageStorageAccountName"
4 | },
5 | "userImageStorageContainerName" : {
6 | "value" : "userImageStorageContainerName"
7 | },
8 | "userImageVhdName" : {
9 | "value" : "userImageVhdName"
10 | },
11 | "osType" : {
12 | "value" : "linux"
13 | },
14 | "vmNamePrefix" : {
15 | "value" : "cloudvm"
16 | },
17 | "adminUsername": {
18 | "value": ""
19 | },
20 | "adminPassword": {
21 | "value": ""
22 | },
23 | "numberOfInstances": {
24 | "value": 2
25 | },
26 | "region": {
27 | "value": "West US"
28 | },
29 | "virtualNetworkName": {
30 | "value": "cloudVNET"
31 | },
32 | "vmSize": {
33 | "value": "Standard_A2"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/elasticsearch/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "dnsNameforLBIP": {
3 | "value":"trentes50"
4 | },
5 | "storageAccountPrefix" : {
6 | "value":""
7 | },
8 | "adminUsername": {
9 | "value": "trent"
10 | },
11 | "adminPassword": {
12 | "value": ""
13 | },
14 | "dataNodeScaleUnits": {
15 | "value": 1
16 | },
17 | "dataNodesPerUnit": {
18 | "value": 2
19 | },
20 | "region": {
21 | "value": "East Asia"
22 | },
23 | "virtualNetworkName": {
24 | "value": "elasticsearch"
25 | },
26 | "esClusterName": {
27 | "value": "elasticsearch-fullscale"
28 | },
29 | "loadBalancerType": {
30 | "value": "external"
31 | },
32 | "vmSizeDataNodes": {
33 | "value": "Standard_D1"
34 | },
35 | "vmClientNodeCount": {
36 | "value":3
37 | }
38 | }
--------------------------------------------------------------------------------
/apache2-on-ubuntu-vm/readme.md:
--------------------------------------------------------------------------------
1 | # Apache Webserver on Ubuntu VM
2 |
3 | This template uses the Azure Linux CustomScript extension to deploy an Apache web server. The template creates an Ubuntu VM, installs Apache2 and creates a simple HTML file. Go to ../demo.html to see the deployed page.
4 |
5 |
6 |
7 | | Deploy to Azure | Author | Template Name | Description |
8 | |:-----------------|:--------------------------------| :---------------| :---------------|
9 | |
| [gbowerman](https://github.com/gbowerman) | [Deploy an Apache web server on Ubuntu](https://github.com/Azure/azure-quickstart-templates/tree/master/apache2-on-ubuntu-vm) | This template creates an Ubuntu VM, installs Apache2 and creates a simple HTML file. Go to ../demo.html to see the deployed page.|
10 |
--------------------------------------------------------------------------------
/lamp-app/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": "West US"
10 | },
11 | "adminUsername": {
12 | "value": ""
13 | },
14 | "adminPassword": {
15 | "value": ""
16 | },
17 | "mySqlPassword": {
18 | "value": ""
19 | },
20 | "vmDnsName": {
21 | "value": ""
22 | },
23 | "imagePublisher": {
24 | "value": "Canonical"
25 | },
26 | "imageOffer": {
27 | "value": "UbuntuServer"
28 | },
29 | "imageSKU": {
30 | "value": "14.04.2-LTS"
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/101-loadbalancer-with-nat-rule/README.md:
--------------------------------------------------------------------------------
1 | # Load Balancer with Inbound NAT Rule
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create a Load Balancer, Public IP address for the Load balancer, Virtual Network, Network Interface in the Virtual Network & a NAT Rule in the Load Balancer that is used by the Network Interface.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | dnsNameforLBIP | Unique DNS Name for the Load Balancer |
14 | | location | Azure region where the resource will be deployed to |
15 | | addressPrefix | Address Prefix for the Virtual Network specified in the CIDR format |
16 | | subnetPrefix | Prefix for the Subnet specified in CIDR format |
17 | | publicIPAddressType | Address Type of the Public IP Address - Dynamic or Static |
18 |
--------------------------------------------------------------------------------
/anti-malware-extension-windows-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": ""
10 | },
11 | "publicIPAddressName": {
12 | "value": ""
13 | },
14 | "publicIPAddressType": {
15 | "value": "Dynamic"
16 | },
17 | "vmName": {
18 | "value": ""
19 | },
20 | "vmSize": {
21 | "value": "Standard_A2"
22 | },
23 | "adminUserName": {
24 | "value": ""
25 | },
26 | "adminPassword": {
27 | "value": ""
28 | },
29 | "virtualNetworkName": {
30 | "value": ""
31 | },
32 | "nicName": {
33 | "value": ""
34 | },
35 | "vmExtensionName": {
36 | "value": "malware"
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/symantec-extension-windows-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": ""
10 | },
11 | "publicIPAddressName": {
12 | "value": ""
13 | },
14 | "publicIPAddressType": {
15 | "value": "Dynamic"
16 | },
17 | "vmName": {
18 | "value": ""
19 | },
20 | "vmSize": {
21 | "value": "Standard_A2"
22 | },
23 | "adminUserName": {
24 | "value": ""
25 | },
26 | "adminPassword": {
27 | "value": ""
28 | },
29 | "virtualNetworkName": {
30 | "value": ""
31 | },
32 | "nicName": {
33 | "value": ""
34 | },
35 | "vmExtensionName": {
36 | "value": "malware"
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/docker-swarm-cluster/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":""
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "dnsNameForPublicIP": {
12 | "value": ""
13 | },
14 | "vmSourceImageName" : {
15 | "value" : "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04_2_LTS-amd64-server-20150309-en-us-30GB"
16 | },
17 | "location": {
18 | "value": "West US"
19 | },
20 | "virtualNetworkName": {
21 | "value": "myVNET"
22 | },
23 | "vmSize": {
24 | "value": "Standard_D1"
25 | },
26 | "vmName" : {
27 | "value" : "myVM"
28 | },
29 | "publicIPAddressName" : {
30 | "value" : "myPublicIP"
31 | },
32 | "nicName" : {
33 | "value" : "myNic"
34 | },
35 | "extensionName": {
36 | "value": "DockerExtension"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/ansible-advancedlinux/metadata.json:
--------------------------------------------------------------------------------
1 | {
2 | "itemDisplayName": "Setup Ansible to efficiently manage N Linux VMs",
3 | "description": "This advanced template deploys N Linux VMs (CentsOS or Ubuntu) and it configures Ansible so you can easily manage all the VMS from the AnsibleController VM.Additionally,it will execute an ansible Playbook that creates a RAID with all the available data disks. Don't suffer more pain configuring and managing all your VMs , just use Ansible! Ansible is a very powerful masterless configuration management system based on SSH.Do you need 1 or 10 or 100 VMs? It won't make any difference with Ansible playbooks, just apply consisten configuration to all your VMS",
4 | "summary": "Manage all your Linux VMs efficiently with Ansible.This awesome template deploys N Linux VMs and it configures Ansible.Then it executes an Ansible playbook that will RAID all the available data disks",
5 | "githubUsername": "gonzaloruiz",
6 | "dateUpdated": "2015-04-27"
7 | }
8 |
--------------------------------------------------------------------------------
/101-create-storage-account-premium/azuredeploy.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "type": "string",
7 | "metadata": {
8 | "description": "Name of the Storage Account"
9 | }
10 | },
11 | "location": {
12 | "type": "string",
13 | "allowedValues": ["West US", "West Europe", "South East Asia"],
14 | "metadata": {
15 | "description": "Location of Premium storage account"
16 | }
17 | }
18 | },
19 | "resources": [
20 | {
21 | "type": "Microsoft.Storage/storageAccounts",
22 | "name": "[parameters('newStorageAccountName')]",
23 | "apiVersion": "2015-05-01-preview",
24 | "location": "[parameters('location')]",
25 | "properties": {
26 | "accountType": "Premium_LRS"
27 | }
28 | }
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/python-proxy-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName" : {
3 | "value":"uniqueStorageAccountName"
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "dnsNameForPublicIP": {
12 | "value": "uniqueDnsNameForPublicIP"
13 | },
14 | "imagePublisher":{
15 | "value" : "Canonical"
16 | },
17 | "imageOffer": {
18 | "value": "UbuntuServer"
19 | },
20 | "imageSKU": {
21 | "value": "14.04.2-LTS"
22 | },
23 | "location": {
24 | "value": "West US"
25 | },
26 | "virtualNetworkName": {
27 | "value": "myVNET"
28 | },
29 | "vmSize": {
30 | "value": "Standard_A0"
31 | },
32 | "vmName" : {
33 | "value" : "myVM"
34 | },
35 | "publicIPAddressName" : {
36 | "value" : "myPublicIP"
37 | },
38 | "nicName" : {
39 | "value" : "myNic"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/201-discover-private-ip-dynamically/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": ""
10 | },
11 | "vmName": {
12 | "value": ""
13 | },
14 | "vmSize": {
15 | "value": "Standard_D1"
16 | },
17 | "adminUserName": {
18 | "value": ""
19 | },
20 | "adminPassword": {
21 | "value": ""
22 | },
23 | "customScriptFilePath": {
24 | "value": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/tree/master/master/201-discover-private-ip-dynamically/privateip.sh"
25 | },
26 | "customScriptCommandToExecute": {
27 | "value": "sh privateip.sh "
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/redis-high-availability/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountName": {
3 | "value": "redisdeploy1"
4 | },
5 | "adminUsername": {
6 | "value": ""
7 | },
8 | "adminPassword": {
9 | "value": ""
10 | },
11 | "region": {
12 | "value": "West US"
13 | },
14 | "virtualNetworkName": {
15 | "value": "redisClustVnet"
16 | },
17 | "subnetName": {
18 | "value": "Subnet1"
19 | },
20 | "addressPrefix": {
21 | "value": "10.0.0.0/16"
22 | },
23 | "subnetPrefix": {
24 | "value": "10.0.0.0/24"
25 | },
26 | "nodeAddressPrefix": {
27 | "value": "10.0.0.1"
28 | },
29 | "redisVersion": {
30 | "value": "3.0.0"
31 | },
32 | "redisClusterName": {
33 | "value": "redis-arm-cluster"
34 | },
35 | "jumpbox": {
36 | "value": "Enabled"
37 | },
38 | "tshirtSize": {
39 | "value": "Small"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/docker-swarm-cluster/README.md:
--------------------------------------------------------------------------------
1 | # Deploy Docker swarm cluster on a Virtual Machines
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create a Docker swarm cluster on a VM on Azure.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | storageAccountNamePrefix | Storage Account Name Prefix where the Virtual Machine's disks will be placed. |
14 | | adminUsername | Username for the Virtual Machines |
15 | | adminPassword | Password for the Virtual Machines |
16 | | subscriptionId | Subscription ID where the template will be deployed |
17 | | scaleNumberPerRegion | Number of Virtual Machine instances to create per Region |
18 | | virtualNetworkNamePrefix | Virtual Network Name Prefix |
19 | | vmNamePrefix | Virtual Machine Name Prefix |
20 | | publicIPAddressNamePrefix | Public IP address Name Prefix |
21 | | nicNamePrefix | Network Interface Name Prefix |
22 |
--------------------------------------------------------------------------------
/spark-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountName": {
3 | "value": ""
4 | },
5 | "adminUsername": {
6 | "value": "adminuser"
7 | },
8 | "adminPassword": {
9 | "value": "azure@1234"
10 | },
11 | "region": {
12 | "value": "West US"
13 | },
14 | "virtualNetworkName": {
15 | "value": "sparkClustVnet"
16 | },
17 | "subnetName": {
18 | "value": "Subnet1"
19 | },
20 | "addressPrefix": {
21 | "value": "10.0.0.0/16"
22 | },
23 | "subnetPrefix": {
24 | "value": "10.0.0.0/24"
25 | },
26 | "sparkVersion": {
27 | "value": "3.0.0"
28 | },
29 | "sparkClusterName": {
30 | "value": "spark-arm-cluster"
31 | },
32 | "sparkNodeIPAddressPrefix": {
33 | "value": "10.0.0.1"
34 | },
35 | "sparkSlaveNodeIPAddressPrefix": {
36 | "value": "10.0.0.3"
37 | },
38 | "jumpbox": {
39 | "value": "enabled"
40 | },
41 | "tshirtSize": {
42 | "value": "S"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/kafka-on-ubuntu/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "storageAccountName": {
3 | "value": "armuiquekafkastr4"
4 | },
5 | "adminUsername": {
6 | "value": "adminuser"
7 | },
8 | "adminPassword": {
9 | "value": "azure@1234"
10 | },
11 | "region": {
12 | "value": "West US"
13 | },
14 | "virtualNetworkName": {
15 | "value": "kafkaClustVnet"
16 | },
17 | "subnetName": {
18 | "value": "Subnet1"
19 | },
20 | "addressPrefix": {
21 | "value": "10.0.0.0/16"
22 | },
23 | "subnetPrefix": {
24 | "value": "10.0.0.0/24"
25 | },
26 | "kafkaVersion": {
27 | "value": "3.0.0"
28 | },
29 | "kafkaClusterName": {
30 | "value": "kafka-arm-cluster"
31 | },
32 | "kafkaNodeIPAddressPrefix": {
33 | "value": "10.0.0.1"
34 | },
35 | "kafkaZooNodeIPAddressPrefix": {
36 | "value": "10.0.0.4"
37 | },
38 | "jumpbox": {
39 | "value": "enabled"
40 | },
41 | "tshirtSize": {
42 | "value": "S"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/drone-ubuntu-vm/install_drone.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # set local variables
4 | GITHUB_CLIENT=$1
5 | GITHUB_SECRET=$2
6 |
7 | # retrieve latest package updates
8 | apt-get update
9 |
10 | # install dependencies
11 | apt-get install -y linux-image-extra-$(uname -r) libsqlite3-dev
12 |
13 | # configure Docker for AUFS
14 | sed -i 's/^#DOCKER_OPTS.*/DOCKER_OPTS="-s aufs"/' /etc/default/docker
15 |
16 | # retrieve and install Drone package
17 | wget downloads.drone.io/master/drone.deb
18 | dpkg --install drone.deb
19 | rm -f drone.deb
20 |
21 | # modify drone.toml
22 | echo -e "\n\n[github]" >> /etc/drone/drone.toml
23 | echo "client=\"$GITHUB_CLIENT\"" >> /etc/drone/drone.toml
24 | echo "secret=\"$GITHUB_SECRET\"" >> /etc/drone/drone.toml
25 | echo "open=false" >> /etc/drone/drone.toml
26 | echo "\n\n[worker]" >> /etc/drone/drone.toml
27 | echo "nodes=[" >> /etc/drone/drone.toml
28 | echo " \"unix:///var/run/docker.sock\"," >> /etc/drone/drone.toml
29 | echo " \"unix:///var/run/docker.sock\"" >> /etc/drone/drone.toml
30 | echo "]" >> /etc/drone/drone.toml
31 |
32 | # restart
33 | reboot
34 |
--------------------------------------------------------------------------------
/mongodb-high-availability/empty-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "commonSettings": {
6 | "type": "object",
7 | "metadata": {
8 | "Description": "Common settings object"
9 | }
10 | },
11 | "storageSettings": {
12 | "type": "object",
13 | "metadata": {
14 | "Description": "Storage settings object"
15 | }
16 | },
17 | "networkSettings": {
18 | "type": "object",
19 | "metadata": {
20 | "Description": "Network settings object"
21 | }
22 | },
23 | "machineSettings": {
24 | "type": "object",
25 | "metadata": {
26 | "Description": "Machine settings object"
27 | }
28 | }
29 | },
30 | "variables": {
31 | },
32 | "resources": [
33 | ],
34 | "outputs": {
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/mongodb-high-availability/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "adminUsername": {
3 | "value": "MongoAdmin"
4 | },
5 | "adminPassword": {
6 | "value": ""
7 | },
8 | "storageAccountName": {
9 | "value": ""
10 | },
11 | "region": {
12 | "value": "West US"
13 | },
14 | "virtualNetworkName": {
15 | "value": "mongodbVnet"
16 | },
17 | "subnetName": {
18 | "value": "mongodbSubnet"
19 | },
20 | "addressPrefix": {
21 | "value": "10.0.0.0/16"
22 | },
23 | "subnetPrefix": {
24 | "value": "10.0.0.0/24"
25 | },
26 | "nodeAddressPrefix": {
27 | "value": "10.0.0.1"
28 | },
29 | "jumpbox": {
30 | "value": "Disabled"
31 | },
32 | "tshirtSize": {
33 | "value": "XSmall"
34 | },
35 | "osFamily": {
36 | "value": "Ubuntu"
37 | },
38 | "mongodbVersion": {
39 | "value": "3.0.2"
40 | },
41 | "replicaSetName": {
42 | "value": "rs0"
43 | },
44 | "replicaSetKey": {
45 | "value": ""
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/kafka-ubuntu-multidisks/empty-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "adminPassword": {
6 | "type": "securestring",
7 | "defaultValue": ""
8 | },
9 | "commonSettings": {
10 | "type": "object",
11 | "defaultValue": {}
12 | },
13 | "networkSettings": {
14 | "type": "object",
15 | "defaultValue": {}
16 | },
17 | "machineSettings": {
18 | "type": "object",
19 | "defaultValue": {}
20 | },
21 | "osSettings": {
22 | "type": "object",
23 | "defaultValue": {}
24 | },
25 | "appSettings": {
26 | "type": "object",
27 | "defaultValue": {}
28 | },
29 | "appPassword": {
30 | "type": "securestring",
31 | "defaultValue": ""
32 | },
33 | "subnet": {
34 | "type": "object",
35 | "defaultValue": {}
36 | },
37 | "dnsName": {
38 | "type": "string",
39 | "defaultValue":""
40 | }
41 | },
42 | "variables": {},
43 | "resources": [],
44 | "outputs": {}
45 | }
--------------------------------------------------------------------------------
/spark-ubuntu-multidisks/empty-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "adminPassword": {
6 | "type": "securestring",
7 | "defaultValue": ""
8 | },
9 | "commonSettings": {
10 | "type": "object",
11 | "defaultValue": {}
12 | },
13 | "networkSettings": {
14 | "type": "object",
15 | "defaultValue": {}
16 | },
17 | "machineSettings": {
18 | "type": "object",
19 | "defaultValue": {}
20 | },
21 | "osSettings": {
22 | "type": "object",
23 | "defaultValue": {}
24 | },
25 | "appSettings": {
26 | "type": "object",
27 | "defaultValue": {}
28 | },
29 | "appPassword": {
30 | "type": "securestring",
31 | "defaultValue": ""
32 | },
33 | "subnet": {
34 | "type": "object",
35 | "defaultValue": {}
36 | },
37 | "dnsName": {
38 | "type": "string",
39 | "defaultValue":""
40 | }
41 | },
42 | "variables": {},
43 | "resources": [],
44 | "outputs": {}
45 | }
--------------------------------------------------------------------------------
/couchbase-ansible/nginx:
--------------------------------------------------------------------------------
1 | server {
2 |
3 |
4 | root /usr/share/nginx/www;
5 | # Configure nginx as a Reverse proxy for Couchbase admin console
6 | listen {PORT} default ssl;
7 | server_name {FQDN};
8 | ssl on;
9 | ssl_certificate /etc/nginx/ssl/nginx.crt;
10 | ssl_certificate_key /etc/nginx/ssl/nginx.key;
11 | ssl_session_cache shared:SSL:10m;
12 | ssl_session_timeout 10m;
13 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
14 |
15 |
16 | location / {
17 | index index.html;
18 | rewrite ^/$ /index.html break;
19 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
20 | proxy_set_header X-Forwarded-Proto $scheme;
21 | proxy_set_header Host $http_host;
22 | proxy_pass http://{CB_SRV1}:8091;
23 | proxy_set_header Authorization $http_authorization;
24 | proxy_pass_header Authorization;
25 | proxy_pass_header Accept;
26 | proxy_pass_header Server;
27 |
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Microsoft Azure
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/ansible-advancedlinux/azuredeploy-parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "location": {
6 | "value": "West US"
7 | },
8 | "storageAccountName":{
9 | "value":""
10 | },
11 | "storageAccountType": {
12 | "value": "Standard_LRS"
13 | },
14 | "dnsNameLabel": {
15 | "value": ""
16 | },
17 | "numberOfVMS": {
18 | "value": 3
19 | },
20 | "serversRole":{
21 | "value": "WebServer"
22 | },
23 | "serversPurpose":{
24 | "value": "DEV"
25 | },
26 | "vmSize": {
27 | "value": "Standard_D2"
28 | },
29 | "linuxFileSystem": {
30 | "value": "ext4"
31 | },
32 | "adminUserName": {
33 | "value": ""
34 | },
35 | "adminPassword": {
36 | "value": ""
37 | },
38 | "sshKeyData" : {
39 | "value": ""
40 | },
41 |
42 | "customScriptConfigStorageAccountName" : {
43 | "value": ""
44 | },
45 | "customScriptConfigStorageAccountKey" : {
46 | "value": ""
47 | }
48 |
49 |
50 | }
51 | }
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/diskraid-ubuntu-vm/README.md:
--------------------------------------------------------------------------------
1 | # Create Ubuntu vm data disk raid0
2 |
3 |
4 |
5 |
6 |
7 | This is a simple template that deploys an Ubuntu Virtual Machine with multiple disks attached, and uses mdadm script to create a raid0 volume with all attached data disks.
8 |
9 | This template also deploys a Storage Account, Virtual Network, Public IP addresses, and a Network Interface.
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | storageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed |
16 | | adminUsername | Username for the Virtual Machines |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsName | Unique DNS Name for the Public IP (dnsName.westus.cloudapp.azure.com) |
19 | | region | region where the resources will be deployed |
20 | | virtualNetworkName | Name of Virtual Network |
21 | | vmSize | Size of the Virtual Machine Instance |
22 | | dataDiskSize | The size of each data disk attached in Gb (default 200GB) |
23 |
--------------------------------------------------------------------------------
/chef-json-parameters-ubuntu-vm/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "newStorageAccountName": {
3 | "value": "your storage"
4 | },
5 | "adminUserName": {
6 | "value": "admin name"
7 | },
8 | "adminPassword": {
9 | "value": "admin password"
10 | },
11 | "vmDnsName": {
12 | "value": "unique dns name"
13 | },
14 | "imagePublisher": {
15 | "value": "image Publisher"
16 | },
17 | "imageOffer": {
18 | "value": "image Offer"
19 | },
20 | "imageSKU": {
21 | "value": "image SKU"
22 | },
23 | "location": {
24 | "value": "VM Location"
25 | },
26 | "vmSize": {
27 | "value": "VM Size"
28 | },
29 | "chef_node_name": {
30 | "value": "your node name"
31 | },
32 | "chef_server_url": {
33 | "value": "Chef Server url"
34 | },
35 | "validation_client_name": {
36 | "value": "chef validator name"
37 | },
38 | "runlist": {
39 | "value": "recipe[getting-started]"
40 | },
41 | "autoUpdateClient": {
42 | "value": "false"
43 | },
44 | "validation_key": {
45 | "value": "validation key"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/jenkSlaveInstall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #########################################################
4 | # Script Name: jenkSlaveInstall.sh
5 | # Author: Dennis Angeline - Full Scale 180 Inc
6 | # Version: 0.1
7 | # Last Modified By: Dennis Angeline
8 | # Description:
9 | # This script install Jenkins slave on an Ubuntu VM image
10 | # Parameters :
11 | # MASTERNODE: The ip address of the master node
12 | # SLAVENODE: The name of this slave node
13 | # Note :
14 | # This script has only been tested on Ubuntu 14.04 LTS and must be root
15 | #######################################################
16 |
17 | MASTERNODE=$1
18 | SLAVENODE=$2
19 |
20 | # Install Java
21 | echo "Installing openjdk-7"
22 | apt-get -y update
23 | apt-get -y install openjdk-7-jdk
24 |
25 | # Download slave.jar from master
26 | echo "Downloading slave.jar from $MASTERNODE"
27 | wget http://$MASTERNODE:8080/jnlpJars/slave.jar -O ~/slave.jar
28 | chmod 777 ~/slave.jar
29 |
30 | # Launch slave agent
31 | echo "Executing slave.jar with http://$MASTERNODE:8080/computer/$SLAVENODE/slave-agent.jnlp"
32 | nohup java -jar ~/slave.jar -jnlpUrl http://$MASTERNODE:8080/computer/$SLAVENODE/slave-agent.jnlp &
33 |
34 |
--------------------------------------------------------------------------------
/shared_scripts/README.md:
--------------------------------------------------------------------------------
1 | # Shared Scripts
2 |
3 | This folder contains a set of reusable scripts to perform tasks that are common across a number of resource templates. Given the fact that these scripts are used by multiple resource templates, please take care in making changes. The goal is to promote reuse and have a set of very well tested, reviewed, and resilient scripts to use when performing those common tasks, like formatting a data disk.
4 |
5 | ##Versioning
6 | - Do not bump the version on the file name when making backwards compatible bug fixes
7 | - Create a copy of the file and bump the minor version when adding functionality that is backwards compatible
8 | - Create a copy of the file and bump the major version when making changes that are not backwards compatible
9 |
10 | | Name | Author | Description |
11 | |:----------------------------|:-----------------------|:------------------------------------------------------|
12 | | ubuntu/vm-disk-utils | [trentmswanson](https://github.com/trentmswanson) | This script automates the partitioning and formatting of data disks as individual disks or in a RAID0 configuration.|
13 |
--------------------------------------------------------------------------------
/elasticsearch/empty-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string",
7 | "defaultValue": ""
8 | },
9 | "subnet": {
10 | "type": "object",
11 | "defaultValue": {}
12 | },
13 | "storageAccountName": {
14 | "type": "string",
15 | "defaultValue": ""
16 | },
17 | "adminUsername": {
18 | "type": "string",
19 | "defaultValue": ""
20 | },
21 | "adminPassword": {
22 | "type": "securestring",
23 | "defaultValue": ""
24 | },
25 | "osSettings": {
26 | "type": "object",
27 | "defaultValue": {}
28 | },
29 | "vmSize": {
30 | "type": "string",
31 | "defaultValue": ""
32 | },
33 | "esSettings": {
34 | "type": "object",
35 | "defaultValue": {}
36 | },
37 | "vmCount": {
38 | "type": "int",
39 | "defaultValue": 0
40 | },
41 | "lbBackendPools": {
42 | "type": "object",
43 | "defaultValue": {}
44 | }
45 | },
46 | "variables": {},
47 | "resources": [],
48 | "outputs": {}
49 | }
--------------------------------------------------------------------------------
/101-simple-linux-vm/README.md:
--------------------------------------------------------------------------------
1 | # Very simple deployment of an Linux VM
2 |
3 |
4 |
5 |
6 |
7 | Built by: [coreysa](https://github.com/coreysa)
8 |
9 | This template allows you to deploy a simple Linux VM using a few different options for the Ubuntu Linux version, using the latest patched version. This will deploy in West US on a D1 VM Size.
10 |
11 | Below are the parameters that the template expects:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machine |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | ubuntuOSVersion | The Ubuntu version for the VM. This will pick a fully patched image of this given Ubuntu version. Allowed values: 12.04.2-LTS, 12.04.3-LTS, 12.04.4-LTS, 12.04.5-LTS, 12.10, 14.04.2-LTS, 14.10, 15.04 |
20 |
--------------------------------------------------------------------------------
/201-premium-windows-vm/README.md:
--------------------------------------------------------------------------------
1 | # Deployment of a Premium Windows VM
2 |
3 |
4 |
5 |
6 |
7 | Built by: [kenazk](https://github.com/kenazk)
8 |
9 | This template allows you to deploy a Premium Windows VM using a few different options for the Windows version, using the latest patched version.
10 |
11 | Below are the parameters that the template expects:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | location | Location to deploy to |
16 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
17 | | adminUsername | Username for the Virtual Machine |
18 | | adminPassword | Password for the Virtual Machine |
19 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
20 | | windowsOSVersion | The Windows version for the VM. This will pick a fully patched image of this given Windows version. Allowed values: 2008-R2-SP1, 2012-Datacenter, 2012-R2-Datacenter, Windows-Server-Technical-Preview |
21 |
--------------------------------------------------------------------------------
/101-simple-windows-vm/README.md:
--------------------------------------------------------------------------------
1 | # Very simple deployment of an Windows VM
2 |
3 |
4 |
5 |
6 |
7 | Built by: [coreysa](https://github.com/coreysa)
8 |
9 | This template allows you to deploy a simple Windows VM using a few different options for the Windows version, using the latest patched version. This will deploy in West US on a D1 VM Size.
10 |
11 | Below are the parameters that the template expects:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machine |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | windowsOSVersion | The Windows version for the VM. This will pick a fully patched image of this given Windows version. Allowed values: 2008-R2-SP1, 2012-Datacenter, 2012-R2-Datacenter, Windows-Server-Technical-Preview |
20 |
--------------------------------------------------------------------------------
/django-app/readme.md:
--------------------------------------------------------------------------------
1 | # Deploy a Django app on Ubuntu.
2 |
3 |
4 | | Deploy to Azure | Author | Template Name | Description |
5 | |:-----------------|:--------------------------------| :---------------| :---------------|
6 | |
| [madhana](https://github.com/madhana) | [Deploy a Python Django app on Ubuntu](https://github.com/madhana/azure-quickstart-templates/tree/master/django-app) | This template uses the Azure Linux CustomScript extension to deploy a Django application by creating an Ubuntu VM, doing a silent install of Python and Apache, then creating a simple Django application.|
7 |
8 | This template uses the Azure Linux CustomScript extension to deploy an application. This example creates an Ubuntu VM, does a silent install of Python, Apache, then creates a simple Django app.It is essentially the template for the tutorial that can be found here -> http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-django-web-app-linux/
9 |
10 | Once the template is deployed, just grab the FQDN of the VM and open it in a browser and you'll see the hello world app running.
11 |
--------------------------------------------------------------------------------
/101-vm-from-user-image/README.md:
--------------------------------------------------------------------------------
1 | # Create a Virtual Machine from a User Image
2 |
3 |
4 |
5 |
6 |
7 | Prerequisite - The Storage Account with the User Image VHD should already exist in the same resource group.
8 |
9 | This template allows you to create a Virtual Machines from a User image. This template also deploys a Virtual Network, Public IP addresses and a Network Interface.
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | userImageStorageAccountName | Name of the Storage Account where the User Image disk is placed. |
16 | | userImageStorageContainerName | Name of the Container Name in the Storage Account where the User Image disk is placed. |
17 | | userImageVhdName | Name of the User Image VHD file. |
18 | | osType | Specify the type of the OS of the User Image (Windows|Linux) |
19 | | adminUsername | Username for the Virtual Machines |
20 | | adminPassword | Password for the Virtual Machine |
21 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
22 | | vmSize | Size of the Virtual Machine |
23 | |
24 |
--------------------------------------------------------------------------------
/postgresql-on-ubuntu/empty-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "adminPassword": {
6 | "type": "securestring",
7 | "defaultValue": ""
8 | },
9 | "commonSettings": {
10 | "type": "object",
11 | "defaultValue": {}
12 | },
13 | "networkSettings": {
14 | "type": "object",
15 | "defaultValue": {}
16 | },
17 | "machineSettings": {
18 | "type": "object",
19 | "defaultValue": {}
20 | },
21 | "osSettings": {
22 | "type": "object",
23 | "defaultValue": {}
24 | },
25 | "appSettings": {
26 | "type": "object",
27 | "defaultValue": {}
28 | },
29 | "appPassword": {
30 | "type": "securestring",
31 | "defaultValue": ""
32 | },
33 | "subnet": {
34 | "type": "object",
35 | "defaultValue": {}
36 | },
37 | "dnsName": {
38 | "type": "string",
39 | "defaultValue":""
40 | },
41 | "storageSettings": {
42 | "type": "object",
43 | "defaultValue": {}
44 | }
45 | },
46 | "variables": {},
47 | "resources": [],
48 | "outputs": {}
49 | }
--------------------------------------------------------------------------------
/windows-vm-push-certificate/azuredeploy.parameters.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentParameters.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "newStorageAccountName": {
6 | "value": ""
7 | },
8 | "location": {
9 | "value": "East US"
10 | },
11 | "publicIPName": {
12 | "value": ""
13 | },
14 | "publicIPAddressType": {
15 | "value": "Dynamic"
16 | },
17 | "vmName": {
18 | "value": ""
19 | },
20 | "vmSize": {
21 | "value": "Standard_A2"
22 | },
23 | "adminUserName": {
24 | "value": ""
25 | },
26 | "adminPassword": {
27 | "value": ""
28 | },
29 | "virtualNetworkName": {
30 | "value": ""
31 | },
32 | "nicName": {
33 | "value": ""
34 | },
35 | "vaultName": {
36 | "value": ""
37 | },
38 | "vaultResourceGroup": {
39 | "value": ""
40 | },
41 | "secretUrlWithVersion": {
42 | "value": ""
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/101-simple-windows-vm-data-disk/README.md:
--------------------------------------------------------------------------------
1 | # Very simple deployment of an Windows VM with a single empty Data Disk
2 |
3 |
4 |
5 |
6 |
7 | Built by: [kenazk](https://github.com/kenazk)
8 |
9 | This template allows you to deploy a simple Windows VM using a few different options for the Windows version, using the latest patched version. This will deploy in West US on a D1 VM Size and attach an empty data disk to it.
10 |
11 | Below are the parameters that the template expects:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machine |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | windowsOSVersion | The Windows version for the VM. This will pick a fully patched image of this given Windows version. Allowed values: 2008-R2-SP1, 2012-Datacenter, 2012-R2-Datacenter, Windows-Server-Technical-Preview |
20 | | sizeOfDiskInGB | The size of disk in GB |
21 |
--------------------------------------------------------------------------------
/resource-loop-vms-vnet/README.md:
--------------------------------------------------------------------------------
1 | # Create Virtual Machines using Resource Loops
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create 'N' number of Virtual Machines based on the 'numberOfInstances' parameter specified during the template deployment. This template also deploys a Storage Account, Virtual Network, 'N' number of Public IP addresses/Network Inerfaces/Virtual Machines.
8 |
9 | Note: The Recommended limit of number of disks per Storage Account is 40.
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machines |
17 | | adminPassword | Password for the Virtual Machine |
18 | | numberOfInstances | Number of Virtual Machine instances to create |
19 | | region | Region where the resources will be deployed |
20 | | vmSize | Size of the Virtual Machine |
21 | | imagePublisher | Name of Image Publisher |
22 | | imageOffer | Name of Image Publisher offer |
23 | | imageSKU | Name of SKU for the selected offer |
24 |
--------------------------------------------------------------------------------
/memcached-multi-vm-ubuntu/install_memcached.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Get passed in parameters
4 | memcachedIndex=$1
5 | privateIP=$2
6 | apacheIP=$3
7 |
8 | # Get today's date into YYYYMMDD format
9 | now=$(date +"%Y%m%d")
10 |
11 | # Re-synchronize the package index files from their sources. An update should always be performed before an upgrade.
12 | apt-get -y update
13 |
14 | # Memcached is a C program and depends on a recent version of GCC and a recent version of libevent.
15 | apt-get -y install memcached
16 |
17 | echo "Memcached installed on $now index $memcachedIndex, private ip $privateIP, and apache ip $apacheIP" >> /var/log/memcached_install.log
18 |
19 | # By default memcached listens on TCP and UDP ports 11211. You must not expose memcached directly to the internet.
20 |
21 | # Change memcached.conf to listen on all IPs not just 127.0.0.1 and use 512MB of RAM instead of default 64MB
22 | sed -i "s/-l 127.0.0.1/#-l 127.0.0.1/g" /etc/memcached.conf
23 | sed -i "s/^-m 64$/-m 512/g" /etc/memcached.conf
24 |
25 | # Restart memcached service with the new configuration
26 | service memcached restart
27 |
28 | # Inspect running configuration by issuing a "stats settings" command to the proper ports
29 | echo "stats settings" | nc localhost 11211 > /var/log/memcached_stats_$now.log
--------------------------------------------------------------------------------
/101-vm-multiple-data-disk/README.md:
--------------------------------------------------------------------------------
1 | # Create a Virtual Machine from a Windows Image with 4 Empty Data Disks
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create a Windows Virtual Machine from a specified image during the template deployment and install the VM Diagnostics Extension. It also attaches 4 empty data disks. Note that you can specify the size of each of the empty data disks. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.
8 |
9 | NOTE: The configuration of the VM diagnostics extension relies on a Base64 encoded string for the xmlConfig. This configures a basic set of counters, including CPU and Memory.
10 |
11 | Below are the parameters that the template expects.
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machines |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | sizeOfEachDataDiskInGB | Size of each data disk in GB |
20 |
--------------------------------------------------------------------------------
/django-app/install_django.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export DEBIAN_FRONTEND=noninteractive
3 | apt-get -y update
4 |
5 | # install Python
6 | apt-get -y install python-setuptools
7 |
8 | # install DJango
9 | easy_install django
10 |
11 | # install Apache
12 | apt-get -y install apache2 libapache2-mod-wsgi
13 |
14 | # create a django app
15 | cd /var/www
16 | django-admin startproject helloworld
17 |
18 | # Create a new file named views.py in the /var/www/helloworld/helloworld directory. This will contain the view
19 | # that renders the "hello world" page
20 | echo 'from django.http import HttpResponse
21 | def home(request):
22 | html = "Hello World!"
23 | return HttpResponse(html)' | tee /var/www/helloworld/helloworld/views.py
24 | # Update urls.py
25 | echo "from django.conf.urls import patterns, url
26 | urlpatterns = patterns('',
27 | url(r'^$', 'helloworld.views.home', name='home'),
28 | )" | tee /var/www/helloworld/helloworld/urls.py
29 |
30 | # Setup Apache
31 | echo "
5 |
6 |
7 | This template deploys Mongo DB on a Ubuntu Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
14 | | adminUsername | Username for the Virtual Machines |
15 | | adminPassword | Password for the Virtual Machine |
16 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
17 | | subscriptionId | Subscription ID where the template will be deployed |
18 | | vmSourceImageName | Source Image Name for the VM. Example: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB |
19 | | location | location where the resources will be deployed |
20 | | virtualNetworkName | Name of Virtual Network |
21 | | vmSize | Size of the Virtual Machine |
22 | | vmName | Name of Virtual Machine |
23 | | publicIPAddressName | Name of Public IP Address Name |
24 | | nicName | Name of Network Interface |
25 |
--------------------------------------------------------------------------------
/python-proxy-on-ubuntu/README.md:
--------------------------------------------------------------------------------
1 | # Install Python Proxy on a Ubuntu Virtual Machine using Custom Script Linux Extension
2 |
3 |
4 |
5 |
6 |
7 | This template deploys Python Proxy on a Ubuntu Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
14 | | adminUsername | Username for the Virtual Machines |
15 | | adminPassword | Password for the Virtual Machine |
16 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
17 | | subscriptionId | Subscription ID where the template will be deployed |
18 | | vmSourceImageName | Source Image Name for the VM. Example: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB |
19 | | location | location where the resources will be deployed |
20 | | virtualNetworkName | Name of Virtual Network |
21 | | vmSize | Size of the Virtual Machine |
22 | | vmName | Name of Virtual Machine |
23 | | publicIPAddressName | Name of Public IP Address Name |
24 | | nicName | Name of Network Interface |
25 |
--------------------------------------------------------------------------------
/drone-ubuntu-vm/readme.md:
--------------------------------------------------------------------------------
1 | # Deploy an Ubuntu VM with Drone CI.
2 |
3 |
4 | | Deploy to Azure | Author | Template Name | Description |
5 | |:-----------------|:--------------------------------| :---------------| :---------------|
6 | |
| [anweiss](https://github.com/anweiss) | [Drone CI on Ubuntu Azure VM](https://github.com/azure/azure-quickstart-templates/tree/master/drone-ubuntu-vm) | This template provisions an Ubuntu Linux VM on Azure and bootstraps it with the latest release of the Drone continuous integration toolset.
5 |
6 |
7 | Built by: [coreysa](https://github.com/coreysa)
8 |
9 | This template allows you to deploy an Ubuntu VM with Docker (using the Docker extension) and three Docker containers pulled directly from DockerHub and deployed using Docker Compose.
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | location | The location where the Virtual Machine will be deployed |
17 | | adminUsername | Username for the Virtual Machine |
18 | | adminPassword | Password for the Virtual Machine |
19 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
20 | | ubuntuOSVersion | The Ubuntu version for deploying the Docker containers. This will pick a fully patched image of this given Ubuntu version. Allowed values: 14.04.2-LTS, 14.04-DAILY, 15.04, 14.10. |
21 | | dockerHubImage1 | The name of the first DockerHub image to pass through to Docker compose on the VM. |
22 | | dockerHubImage2 | The second DockerHub image. |
23 | | dockerHubImage3 | The third DockerHub image. |
--------------------------------------------------------------------------------
/101-rbac-builtinrole-resourcegroup/ReadMe.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This template assigns Owner, Reader or Contributor access to an existing resource group. Inputs to this template are following fields:
6 |
7 | Principal ID
8 | Role Definition Type
9 |
10 |
11 | **Use following powershell command to get Principal ID associated with a user using their email id. Please note, principal id maps to the id inside the directory and can point to a user, service principal, or security group. The ObjectId is the principal ID.
12 |
13 | PS C:\> Get-AzureADUser -mail
5 |
6 |
7 | Built by: [kenazk](https://github.com/kenazk)
8 |
9 | This template allows you to deploy a Premium Windows VM using a few different options for the Windows version, using the latest patched version. In addition, it will provision the Diagnostics Extension on your behlf in a new, non-Premium Storage Account.
10 |
11 | Below are the parameters that the template expects:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | location | Location to deploy to |
16 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
17 | | vmDiagnosticsStorageAccountName | Unique DNS name for the Storage Account where the Virtual Machine's diagnostics are placed. |
18 | | adminUsername | Username for the Virtual Machine |
19 | | adminPassword | Password for the Virtual Machine |
20 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
21 | | windowsOSVersion | The Windows version for the VM. This will pick a fully patched image of this given Windows version. Allowed values: 2008-R2-SP1, 2012-Datacenter, 2012-R2-Datacenter, Windows-Server-Technical-Preview |
22 |
--------------------------------------------------------------------------------
/datastax-on-ubuntu/opscenter-install-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string"
7 | },
8 | "adminUsername": {
9 | "type": "string"
10 | },
11 | "adminPassword": {
12 | "type": "securestring"
13 | },
14 | "namespace": {
15 | "type": "string"
16 | },
17 | "osSettings": {
18 | "type": "object"
19 | },
20 | "opsCenterSettings": {
21 | "type": "object"
22 | }
23 | },
24 | "variables": {
25 | },
26 | "resources": [
27 | {
28 | "type": "Microsoft.Compute/virtualMachines/extensions",
29 | "name": "[concat(parameters('namespace'), 'vm', '/installopscenter')]",
30 | "apiVersion": "2015-05-01-preview",
31 | "location": "[parameters('region')]",
32 | "properties": {
33 | "publisher": "Microsoft.OSTCExtensions",
34 | "type": "CustomScriptForLinux",
35 | "typeHandlerVersion": "1.2",
36 | "settings": {
37 | "fileUris": "[parameters('osSettings').scripts]",
38 | "commandToExecute": "[concat('bash opscenter.sh -n \"', parameters('opsCenterSettings').clusterName , '\" -u ', parameters('adminUsername'), ' -p ', parameters('adminPassword'), ' -k ' , parameters('opsCenterSettings').adminPassword , ' -ed ', parameters('opsCenterSettings').nodeList)]"
39 | }
40 | }
41 | }
42 | ],
43 | "outputs": {}
44 | }
--------------------------------------------------------------------------------
/mongodb-on-centos/README.md:
--------------------------------------------------------------------------------
1 | # Install Mongo DB on a CentOS Virtual Machine using Custom Script Linux Extension
2 |
3 |
4 |
5 |
6 |
7 | This template deploys Mongo DB on a CentOS Virtual Machine. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.
8 |
9 | Note: Cent OS disables Username/Password on Azure SKUs by default. This template will be updated with SSH Keys for the VMs soon.
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machines |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | subscriptionId | Subscription ID where the template will be deployed |
20 | | vmSourceImageName | Source Image Name for the VM. Example: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB |
21 | | location | location where the resources will be deployed |
22 | | virtualNetworkName | Name of Virtual Network |
23 | | vmSize | Size of the Virtual Machine |
24 | | vmName | Name of Virtual Machine |
25 | | publicIPAddressName | Name of Public IP Address Name |
26 | | nicName | Name of Network Interface |
27 |
--------------------------------------------------------------------------------
/zookeper-cluster-ubuntu-vm/zookeeper.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz"
3 | tar -xvf jdk-7*
4 | mkdir /usr/lib/jvm
5 | mv ./jdk1.7* /usr/lib/jvm/jdk1.7.0
6 | update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
7 | update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
8 | update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
9 | chmod a+x /usr/bin/java
10 | chmod a+x /usr/bin/javac
11 | chmod a+x /usr/bin/javaws
12 |
13 | cd /usr/local
14 |
15 | wget "http://mirrors.ukfast.co.uk/sites/ftp.apache.org/zookeeper/stable/zookeeper-3.4.6.tar.gz"
16 | tar -xvf "zookeeper-3.4.6.tar.gz"
17 |
18 | touch zookeeper-3.4.6/conf/zoo.cfg
19 |
20 | echo "tickTime=2000" >> zookeeper-3.4.6/conf/zoo.cfg
21 | echo "dataDir=/var/lib/zookeeper" >> zookeeper-3.4.6/conf/zoo.cfg
22 | echo "clientPort=2181" >> zookeeper-3.4.6/conf/zoo.cfg
23 | echo "initLimit=5" >> zookeeper-3.4.6/conf/zoo.cfg
24 | echo "syncLimit=2" >> zookeeper-3.4.6/conf/zoo.cfg
25 | echo "server.1=10.0.0.4:2888:3888" >> zookeeper-3.4.6/conf/zoo.cfg
26 | echo "server.2=10.0.0.5:2888:3888" >> zookeeper-3.4.6/conf/zoo.cfg
27 | echo "server.3=10.0.0.6:2888:3888" >> zookeeper-3.4.6/conf/zoo.cfg
28 |
29 | mkdir -p /var/lib/zookeeper
30 |
31 | echo $(($1+1)) >> /var/lib/zookeeper/myid
32 |
33 | zookeeper-3.4.6/bin/zkServer.sh start
34 |
--------------------------------------------------------------------------------
/101-rbac-builtinrole-virtualmachine/ReadMe.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | This template assigns Owner, Reader, Contributor, Virtual Machine Contributor access to an existing VM in a resource group. Inputs to this template are following fields:
6 |
7 | Principal ID
8 | Role Definition ID
9 | Virtual Machine Name
10 | GUID
11 |
12 | **Use following powershell command to get Principal ID associated with a user using their email id. Please note, principal id maps to the id inside the directory and can point to a user, service principal, or security group. The ObjectId is the principal ID.
13 |
14 | PS C:\> Get-AzureADUser -mail
5 |
6 |
7 | This template allows you to create 'N' number of Virtual Machines from a User image based on the 'numberOfInstances' parameter specified during the template deployment. This template also deploys a Virtual Network, 'N' number of Public IP addresses/Network Inerfaces/Virtual Machines.
8 |
9 | Prerequisite: The Storage Account with the User Image VHD should already exist in the same resource group.
10 |
11 | Note: The Recommended limit of number of disks per Storage Account is 40.
12 |
13 | Below are the parameters that the template expects
14 |
15 | | Name | Description |
16 | |:--- |:---|
17 | | userImageStorageAccountName | Name of the Storage Account where the User Image disk is placed. |
18 | | userImageStorageContainerName | Name of the Container Name in the Storage Account where the User Image disk is placed. |
19 | | userImageVhdName | Name of the User Image VHD file. |
20 | | osType | Specify the type of the OS of the User Image (Windows|Linux) |
21 | | adminUsername | Username for the Virtual Machines |
22 | | adminPassword | Password for the Virtual Machine |
23 | | vmNamePrefix | VM Name Prefix for the Virtual Machine Instances |
24 | | subscriptionId | Subscription ID where the template will be deployed |
25 | | numberOfInstances | Number of Virtual Machine instances to create |
26 | | region | Region where the resources will be deployed |
27 | | virtualNetworkName | Name of Virtual Network |
28 | | vmSize | Size of the Virtual Machine |
29 |
--------------------------------------------------------------------------------
/datastax-enterprise/opscenter-install-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string"
7 | },
8 | "adminUsername": {
9 | "type": "string"
10 | },
11 | "adminPassword": {
12 | "type": "securestring"
13 | },
14 | "namespace": {
15 | "type": "string"
16 | },
17 | "osSettings": {
18 | "type": "object"
19 | },
20 | "opsCenterSettings": {
21 | "type": "object"
22 | },
23 | "datastaxUsername": {
24 | "type": "string"
25 | },
26 | "datastaxPassword": {
27 | "type": "securestring"
28 | }
29 | },
30 | "variables": {
31 | },
32 | "resources": [
33 | {
34 | "type": "Microsoft.Compute/virtualMachines/extensions",
35 | "name": "[concat(parameters('namespace'), 'vm', '/installopscenter')]",
36 | "apiVersion": "2015-05-01-preview",
37 | "location": "[parameters('region')]",
38 | "properties": {
39 | "publisher": "Microsoft.OSTCExtensions",
40 | "type": "CustomScriptForLinux",
41 | "typeHandlerVersion": "1.2",
42 | "settings": {
43 | "fileUris": "[parameters('osSettings').scripts]",
44 | "commandToExecute": "[concat('bash opscenter.sh -n \"', parameters('opsCenterSettings').clusterName , '\" -u ', parameters('adminUsername'), ' -p ', parameters('adminPassword'), ' -k ' , parameters('opsCenterSettings').adminPassword , ' -U ', parameters('datastaxUsername'), ' -P ', parameters('datastaxPassword'), ' -ed ', parameters('opsCenterSettings').nodeList)]"
45 | }
46 | }
47 | }
48 | ],
49 | "outputs": {}
50 | }
--------------------------------------------------------------------------------
/memcached-multi-vm-ubuntu/install_apache.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Get passed in parameters
4 | numberOfMemcachedInstances=$1
5 | subnetMemcachedPrefix=$2
6 |
7 | # Create simple python script to iterate over the IPs skipping first 3
8 | echo "c=$numberOfMemcachedInstances" > p.py
9 | echo "ip='$subnetMemcachedPrefix'" >> p.py
10 | echo "octets=ip.split('/')[0].split('.')" >> p.py
11 | echo "octets[3]=str(int(octets[3])+3)" >> p.py
12 | echo "s=[]" >> p.py
13 | echo "for i in range(0,c):" >> p.py
14 | echo " octets[3]=str(int(octets[3])+1)" >> p.py
15 | echo " s.append('.'.join(octets))" >> p.py
16 | echo "print(','.join(s))" >> p.py
17 |
18 | # Get comma delimited list of servers
19 | servers=$(python ./p.py)
20 |
21 | # Get today's date into YYYYMMDD format
22 | now=$(date +"%Y%m%d")
23 |
24 | echo "Installing apache $now, numberOfMemcachedInstances=$numberOfMemcachedInstances, subnetMemcachedPrefix=$subnetMemcachedPrefix, servers=$servers" >> /var/log/apache_install.log
25 |
26 | # Re-synchronize the package index files from their sources. An update should always be performed before an upgrade.
27 | apt-get -y update
28 |
29 | # Install apache, php5, and php5-memcached extension
30 | apt-get -y install apache2 php5 php5-memcached
31 |
32 | # Delete Apache index page
33 | rm /var/www/html/index.html
34 |
35 | # Download cache_test.php page
36 | wget -O /var/www/html/index.php https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/memcached-multi-vm-ubuntu/cache_test.php
37 |
38 | # Replace the placeholder with the string of comma delimited memcached server IPs that was passed to this script as a parameter
39 | sed -i "s/{COMMA_DELIMITED_SERVERS_LIST}/$servers/g" /var/www/html/index.php
40 |
41 | # restart Apache
42 | apachectl restart
--------------------------------------------------------------------------------
/cloudera-on-centos/server-cert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIIEowIBAAKCAQEAuM9aF13nZ+HIhP76XtX8Oa5p5whhZ0df6Rmho/fIwe1MB7iu
3 | MD7YjbZmIMunB6vx7oou0I7oAh9O79THODOo4jBrFEtfclmG/kEjjXliE7zAEeMi
4 | 84caSEv4fcWbj5Sf591i6wcakQzqRVi6bMhuRlUFMQPT9XkcGkR9mOrLgHIKl9yR
5 | sahp1yBkhWBCcdVJB2BI4Tmb5keIbAhQsk9DSqWG2VTlH2vCC80oQDcHgJvplsWK
6 | 88LCBO1qsuS9+WJjGcl4ADgQtZeKa8Uo9obdC7sncBZHOCvTXHvmdtCOiV4ZIDwU
7 | wEpAaPsA7ppqt4/FpuAizVAdiD3Ln8HfwdFahwIDAQABAoIBABXnBR9V0rH+ETyp
8 | 11Rb+euAHy7xUFHkJJrEneKH4DQTgno7yfEP0axh3JKwcBg5qY+Csu+msBpoSXuk
9 | 9QNVJAPChz49fI9ZyuThJWyD4TrDmOPFzoOcFGJTFp0ZSUln7NeW5j1Cd0SPikgz
10 | rsxrqJ4PP3FCqeEivFDkoxn3YazUI3SyMJMFZMcQxoh2q+5oSStXliw4LnYawV4T
11 | 2jIhlNNU/W0vtp2OITJh1QvCGOFDHo0TJ63Jqhfg8P28jZ/bZaXd4beiDBB/F+Iq
12 | Y1X9IpCiRfNxRj/ZG5MYAgZ9cU5shxiYaaNhouamSsSQNvw2EQqqF7X0AYg8jnOq
13 | GTEGC1kCgYEA6x9AzZbKbJN7QIo7qGiKf0o3nDRmuEp0H2UOVK8azWIAu6c532eH
14 | OjCCo0mDcDifnO6eSbj0Mrc0nl0p9eUZbAB7mQt4x6wy5ivBVHXnvAF19NFZk3iU
15 | nA3gRJdHU2b2gqGRkdIJfKnCp4SjeMESGQ6q/yzCse/fAyOAP1/NMhsCgYEAyThq
16 | BUKE30nbNUbxstHQOVIUfG2YS/vD3t1XQIls20N0Wb3iVnYc7vBArub5k609EmkD
17 | AcifTJMiZ/uAEWbQ6I4H6R+rOQAPbXZKgz5jt4r7+XGj9ZkuOYI8q7Y4yE5pYi7r
18 | TZNGQnf0TmCJ5UJc78acW34mzMk/N8A8D55kIAUCgYAVjQTMk1C0iQQYE1OKiSKA
19 | rlXQjIEJzVE9e27H1lD3mE8G5DoKvxuG+uFOhDN2+smugbSif0Bq0Z4SEeoBruEY
20 | pCawDXwhmSgFLueGjVQTSHL+YJ38RWYhs6flwZP5EgvwR0znd8AE3C6KWj79l3zI
21 | LS8BOqIR2zGuwPdFV8ugFwKBgGDFTseky/4OqOugaNDU8sz+WnfUxS+VrwdZb4LM
22 | FJwGfshB974ZI6UNyi3TSyfoYryd4CJVd7b988gKPfcgeUu+MrO81T2ed8zu3Lrt
23 | oEs+/htiubV9q6tgpQj3o6tBepELe4JdV6bTxZyD9Q1asxNlcwDVVJecGVkYjEn+
24 | pKx5AoGBAIHym5qlxFZFebIU94MnnJolZiwZ0MRP5qtkRll0KczAN8XuMxbANBmM
25 | ajIEVuZ/cEnsZ15bhMY7pG7n0Xgzx+IBHRc7CfEedjwndtixsduJv72hIWWnQp2v
26 | KVZnzQLnDmbuFPxBxTe/8LcmYEP29FzEFw4EysEie8A56npfTGWs
27 | -----END RSA PRIVATE KEY-----
28 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/server-cert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIIEowIBAAKCAQEAuM9aF13nZ+HIhP76XtX8Oa5p5whhZ0df6Rmho/fIwe1MB7iu
3 | MD7YjbZmIMunB6vx7oou0I7oAh9O79THODOo4jBrFEtfclmG/kEjjXliE7zAEeMi
4 | 84caSEv4fcWbj5Sf591i6wcakQzqRVi6bMhuRlUFMQPT9XkcGkR9mOrLgHIKl9yR
5 | sahp1yBkhWBCcdVJB2BI4Tmb5keIbAhQsk9DSqWG2VTlH2vCC80oQDcHgJvplsWK
6 | 88LCBO1qsuS9+WJjGcl4ADgQtZeKa8Uo9obdC7sncBZHOCvTXHvmdtCOiV4ZIDwU
7 | wEpAaPsA7ppqt4/FpuAizVAdiD3Ln8HfwdFahwIDAQABAoIBABXnBR9V0rH+ETyp
8 | 11Rb+euAHy7xUFHkJJrEneKH4DQTgno7yfEP0axh3JKwcBg5qY+Csu+msBpoSXuk
9 | 9QNVJAPChz49fI9ZyuThJWyD4TrDmOPFzoOcFGJTFp0ZSUln7NeW5j1Cd0SPikgz
10 | rsxrqJ4PP3FCqeEivFDkoxn3YazUI3SyMJMFZMcQxoh2q+5oSStXliw4LnYawV4T
11 | 2jIhlNNU/W0vtp2OITJh1QvCGOFDHo0TJ63Jqhfg8P28jZ/bZaXd4beiDBB/F+Iq
12 | Y1X9IpCiRfNxRj/ZG5MYAgZ9cU5shxiYaaNhouamSsSQNvw2EQqqF7X0AYg8jnOq
13 | GTEGC1kCgYEA6x9AzZbKbJN7QIo7qGiKf0o3nDRmuEp0H2UOVK8azWIAu6c532eH
14 | OjCCo0mDcDifnO6eSbj0Mrc0nl0p9eUZbAB7mQt4x6wy5ivBVHXnvAF19NFZk3iU
15 | nA3gRJdHU2b2gqGRkdIJfKnCp4SjeMESGQ6q/yzCse/fAyOAP1/NMhsCgYEAyThq
16 | BUKE30nbNUbxstHQOVIUfG2YS/vD3t1XQIls20N0Wb3iVnYc7vBArub5k609EmkD
17 | AcifTJMiZ/uAEWbQ6I4H6R+rOQAPbXZKgz5jt4r7+XGj9ZkuOYI8q7Y4yE5pYi7r
18 | TZNGQnf0TmCJ5UJc78acW34mzMk/N8A8D55kIAUCgYAVjQTMk1C0iQQYE1OKiSKA
19 | rlXQjIEJzVE9e27H1lD3mE8G5DoKvxuG+uFOhDN2+smugbSif0Bq0Z4SEeoBruEY
20 | pCawDXwhmSgFLueGjVQTSHL+YJ38RWYhs6flwZP5EgvwR0znd8AE3C6KWj79l3zI
21 | LS8BOqIR2zGuwPdFV8ugFwKBgGDFTseky/4OqOugaNDU8sz+WnfUxS+VrwdZb4LM
22 | FJwGfshB974ZI6UNyi3TSyfoYryd4CJVd7b988gKPfcgeUu+MrO81T2ed8zu3Lrt
23 | oEs+/htiubV9q6tgpQj3o6tBepELe4JdV6bTxZyD9Q1asxNlcwDVVJecGVkYjEn+
24 | pKx5AoGBAIHym5qlxFZFebIU94MnnJolZiwZ0MRP5qtkRll0KczAN8XuMxbANBmM
25 | ajIEVuZ/cEnsZ15bhMY7pG7n0Xgzx+IBHRc7CfEedjwndtixsduJv72hIWWnQp2v
26 | KVZnzQLnDmbuFPxBxTe/8LcmYEP29FzEFw4EysEie8A56npfTGWs
27 | -----END RSA PRIVATE KEY-----
28 |
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string",
7 | "metadata": {
8 | "Description": "Location where resources will be provisioned"
9 | }
10 | },
11 | "networkSettings": {
12 | "type": "object",
13 | "metadata": {
14 | "Description": "Network settings object"
15 | }
16 | },
17 | "storageAccountName": {
18 | "type": "string",
19 | "metadata": {
20 | "Description": "A shared storage account for images"
21 | }
22 | }
23 | },
24 | "variables": {},
25 | "resources": [
26 | {
27 | "apiVersion": "2014-12-01-preview",
28 | "type": "Microsoft.Storage/storageAccounts",
29 | "name": "[parameters('storageAccountName')]",
30 | "location": "[parameters('region')]",
31 | "properties": {
32 | "accountType": "Standard_LRS"
33 | }
34 | },
35 | {
36 | "apiVersion": "2014-12-01-preview",
37 | "type": "Microsoft.Network/virtualNetworks",
38 | "name": "[parameters('networkSettings').virtualNetworkName]",
39 | "location": "[parameters('region')]",
40 | "properties": {
41 | "addressSpace": {
42 | "addressPrefixes": [
43 | "[parameters('networkSettings').addressPrefix]"
44 | ]
45 | },
46 | "subnets": [
47 | {
48 | "name": "[parameters('networkSettings').subnet.dse.name]",
49 | "properties": {
50 | "addressPrefix": "[parameters('networkSettings').subnet.dse.prefix]"
51 | }
52 | }
53 | ]
54 | }
55 | }
56 | ]
57 | }
--------------------------------------------------------------------------------
/datastax-enterprise/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string",
7 | "metadata": {
8 | "description": "Location where resources will be provisioned"
9 | }
10 | },
11 | "networkSettings": {
12 | "type": "object",
13 | "metadata": {
14 | "description": "Network settings object"
15 | }
16 | },
17 | "storageAccountName": {
18 | "type": "string",
19 | "metadata": {
20 | "description": "A shared storage account for images"
21 | }
22 | }
23 | },
24 | "variables": {},
25 | "resources": [
26 | {
27 | "type": "Microsoft.Storage/storageAccounts",
28 | "name": "[parameters('storageAccountName')]",
29 | "apiVersion": "2015-05-01-preview",
30 | "location": "[parameters('region')]",
31 | "properties": {
32 | "accountType": "Standard_LRS"
33 | }
34 | },
35 | {
36 | "apiVersion": "2015-05-01-preview",
37 | "type": "Microsoft.Network/virtualNetworks",
38 | "name": "[parameters('networkSettings').virtualNetworkName]",
39 | "location": "[parameters('region')]",
40 | "properties": {
41 | "addressSpace": {
42 | "addressPrefixes": [
43 | "[parameters('networkSettings').addressPrefix]"
44 | ]
45 | },
46 | "subnets": [
47 | {
48 | "name": "[parameters('networkSettings').subnet.dse.name]",
49 | "properties": {
50 | "addressPrefix": "[parameters('networkSettings').subnet.dse.prefix]"
51 | }
52 | }
53 | ]
54 | }
55 | }
56 | ]
57 | }
58 |
--------------------------------------------------------------------------------
/datastax-on-ubuntu/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string",
7 | "metadata": {
8 | "Description": "Location where resources will be provisioned"
9 | }
10 | },
11 | "networkSettings": {
12 | "type": "object",
13 | "metadata": {
14 | "Description": "Network settings object"
15 | }
16 | },
17 | "storageAccountName": {
18 | "type": "string",
19 | "metadata": {
20 | "Description": "A shared storage account for images"
21 | }
22 | }
23 | },
24 | "variables": {},
25 | "resources": [
26 | {
27 | "type": "Microsoft.Storage/storageAccounts",
28 | "name": "[parameters('storageAccountName')]",
29 | "apiVersion": "2015-05-01-preview",
30 | "location": "[parameters('region')]",
31 | "properties": {
32 | "accountType": "Standard_LRS"
33 | }
34 | },
35 | {
36 | "apiVersion": "2015-05-01-preview",
37 | "type": "Microsoft.Network/virtualNetworks",
38 | "name": "[parameters('networkSettings').virtualNetworkName]",
39 | "location": "[parameters('region')]",
40 | "properties": {
41 | "addressSpace": {
42 | "addressPrefixes": [
43 | "[parameters('networkSettings').addressPrefix]"
44 | ]
45 | },
46 | "subnets": [
47 | {
48 | "name": "[parameters('networkSettings').subnet.dse.name]",
49 | "properties": {
50 | "addressPrefix": "[parameters('networkSettings').subnet.dse.prefix]"
51 | }
52 | }
53 | ]
54 | }
55 | }
56 | ]
57 | }
58 |
--------------------------------------------------------------------------------
/201-2-vms-loadbalancer-lbrules/README.md:
--------------------------------------------------------------------------------
1 | # Create 2 Virtual Machines under a Load balancer and configures Load Balancing rules for the VMs
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create 2 Virtual Machines under a Load balancer and configure a load balancing rule on Port 80. This template also deploys a Storage Account, Virtual Network, Public IP address, Availability Set and Network Interfaces.
8 |
9 | In this template, we use the resource loops capability to create the network interfaces and virtual machines
10 |
11 | Below are the parameters that the template expects
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | storageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
16 | | adminUsername | Username for the Virtual Machines |
17 | | adminPassword | Password for the Virtual Machine |
18 | | dnsNameForLBIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
19 | | subscriptionId | Subscription ID where the template will be deployed |
20 | | vmSourceImageName | Source Image Name for the VM. Example: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB |
21 | | region | location where the resources will be deployed |
22 | | vnetName | Name of Virtual Network |
23 | | vmSize | Size of the Virtual Machine |
24 | | vmNamePrefix | NamePrefix for Virtual Machines |
25 | | publicIPAddressName | Name of Public IP Address Name |
26 | | nicNamePrefix | NamePrefix for Network Interfaces |
27 | | lbName | Name for the load balancer |
28 | | backendPort | The Back End Port that needs to be opened on the Virtual Machine Instance. For example: 3389 for RDP, 22 for SSH etc., |
29 |
--------------------------------------------------------------------------------
/windows-vm-push-certificate/README.md:
--------------------------------------------------------------------------------
1 | # Push a certificate onto a VM
2 |
3 |
4 |
5 |
6 |
7 | Push a certificate onto a VM. Pass in the URL of the secret in KeyVault.
8 |
9 | Pre-Requisistes - You need a certificate
10 |
11 | These are the steps that need to be followed to upload the certificate into the KeyVault as a secret
12 |
13 | 1. base64 encode the cert file
14 | 2. Paste the base64 value into data field in this JSON object
15 | {
16 | “data”:”
5 |
6 |
7 | This template allows you to create a Virtual Machine with Custom Data. This template also deploys a Storage Account, Virtual Network, Public IP addresses and a Network Interface.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | newStorageAccountName | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed. |
14 | | adminUsername | Username for the Virtual Machines |
15 | | adminPassword | Password for the Virtual Machine |
16 | | customData | Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. In Linux VMs, The base-64 encoded string is located in the ovf-env.xml file on the ISO of the Virtual Machine. The file is copied to /var/lib/waagent/ovf-env.xml by the Azure Linux Agent. The agent will also place the base-64 encoded data in /var/lib/waagent/CustomData during provisioning. In Windows VMs, the file is saved to %SYSTEMDRIVE%\AzureData\CustomData.bin. If the file exists, it is overwritten. The security on directory is set to System:Full Control and Administrators:Full Control. |
17 | | dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. |
18 | | subscriptionId | Subscription ID where the template will be deployed |
19 | | location | location where the resources will be deployed |
20 | | vmSize | Size of the Virtual Machine |
21 | | ubuntuOSVersion | The Windows version for the VM. This will pick a fully patched image of this given Windows version. Allowed values: 2008-R2-SP1, 2012-Datacenter, 2012-R2-Datacenter, Windows-Server-Technical-Preview.|
22 |
23 |
24 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/scripts/initialize-node.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | IPPREFIX=$1
3 | NAMEPREFIX=$2
4 | NAMESUFFIX=$3
5 | NAMENODES=$4
6 | DATANODES=$5
7 |
8 | # Converts a domain like machine.domain.com to domain.com by removing the machine name
9 | NAMESUFFIX=`echo $NAMESUFFIX | sed 's/^[^.]*\.//'`
10 |
11 | #disable the need for a tty when running sudo
12 | sed -i '/Defaults[[:space:]]\+!*requiretty/s/^/#/' /etc/sudoers
13 |
14 | # Disable SELinux
15 | /usr/sbin/setenforce 0
16 | sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
17 |
18 | # Do not start iptables on boot
19 | chkconfig iptables off
20 |
21 | # Start ntpd on boot
22 | chkconfig ntpd on
23 |
24 | # Install ambari
25 | sudo yum install -y epel-release
26 | sudo wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.0.0/ambari.repo
27 | sudo cp ambari.repo /etc/yum.repos.d
28 | sudo rm -f ambari.repo
29 | sudo yum install -y ambari-agent
30 |
31 | # Format and mount the disks
32 | let i=0 || true
33 | for disk in $(sfdisk -l | grep "Disk /dev/sd[^ab]" | sed -r "s/Disk (\/dev\/sd.):.*$/\1/");
34 | do
35 | sh ./mountDisk.sh $disk $i 0&2
62 | exit 1
63 | ;;
64 | esac
65 |
66 | exit 0
--------------------------------------------------------------------------------
/cloudera-on-centos/upload-keys.ps1:
--------------------------------------------------------------------------------
1 | Param(
2 | [string]$resourceGroupName,
3 | [string]$region,
4 | [string]$keyVaultName,
5 | [string]$keyName,
6 | [string]$pfxFile
7 | )
8 |
9 | # Import the key vault management scripts, will most likely become part of the Azure PowerShell tools at some point
10 | # import-module .\KeyVaultManager
11 |
12 | # Switch to ARM mode in PowerShell
13 | Switch-AzureMode -Name AzureResourceManager
14 |
15 | # Create a new Util resource group in the correct region
16 | $resourceGroup = Get-AzureResourceGroup -ResourceGroupName $resourceGroupName 2>$null
17 | if (!$resourceGroup) {
18 | Write-Host "Creating new resource group with name '$resourceGroupName'."
19 | New-AzureResourceGroup -Name $resourceGroupName -Location $region
20 | }
21 | else {
22 | Write-Host "Resource group '$resourceGroupName' already exists."
23 | }
24 |
25 | # Create a new key vault in the Util resource group
26 | $keyVault = Get-AzureKeyVault -VaultName $keyVaultName 2>$null
27 | if (!$keyVault) {
28 | Write-Host "Creating new key vault with name '$keyVaultName'."
29 | New-AzureKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName -Location $region -EnabledForDeployment
30 | }
31 | else {
32 | Write-Host "Key vault '$keyVaultName' already exists."
33 | }
34 |
35 | # Format and upload the .pfx certificate to the Key Vault
36 | $fileContentBytes = get-content $pfxFile -Encoding Byte
37 | $fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
38 |
39 | $jsonObject = @"
40 | {
41 | "data": "$filecontentencoded",
42 | "dataType" :"pfx",
43 | "password": ""
44 | }
45 | "@
46 |
47 | $jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
48 | $jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
49 |
50 | $secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
51 | $key = Set-AzureKeyVaultSecret -VaultName $keyVaultName -Name $keyName -SecretValue $secret
52 | $url = $key.Id
53 |
54 | Write-Host "Key has been uploaded successfully"
55 | Write-Host " - Url: $url"
56 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/upload-keys.ps1:
--------------------------------------------------------------------------------
1 | Param(
2 | [string]$resourceGroupName,
3 | [string]$region,
4 | [string]$keyVaultName,
5 | [string]$keyName,
6 | [string]$pfxFile
7 | )
8 |
9 | # Import the key vault management scripts, will most likely become part of the Azure PowerShell tools at some point
10 | # import-module .\KeyVaultManager
11 |
12 | # Switch to ARM mode in PowerShell
13 | Switch-AzureMode -Name AzureResourceManager
14 |
15 | # Create a new Util resource group in the correct region
16 | $resourceGroup = Get-AzureResourceGroup -ResourceGroupName $resourceGroupName 2>$null
17 | if (!$resourceGroup) {
18 | Write-Host "Creating new resource group with name '$resourceGroupName'."
19 | New-AzureResourceGroup -Name $resourceGroupName -Location $region
20 | }
21 | else {
22 | Write-Host "Resource group '$resourceGroupName' already exists."
23 | }
24 |
25 | # Create a new key vault in the Util resource group
26 | $keyVault = Get-AzureKeyVault -VaultName $keyVaultName 2>$null
27 | if (!$keyVault) {
28 | Write-Host "Creating new key vault with name '$keyVaultName'."
29 | New-AzureKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName -Location $region -EnabledForDeployment
30 | }
31 | else {
32 | Write-Host "Key vault '$keyVaultName' already exists."
33 | }
34 |
35 | # Format and upload the .pfx certificate to the Key Vault
36 | $fileContentBytes = get-content $pfxFile -Encoding Byte
37 | $fileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
38 |
39 | $jsonObject = @"
40 | {
41 | "data": "$filecontentencoded",
42 | "dataType" :"pfx",
43 | "password": ""
44 | }
45 | "@
46 |
47 | $jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
48 | $jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
49 |
50 | $secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
51 | $key = Set-AzureKeyVaultSecret -VaultName $keyVaultName -Name $keyName -SecretValue $secret
52 | $url = $key.Id
53 |
54 | Write-Host "Key has been uploaded successfully"
55 | Write-Host " - Url: $url"
56 |
--------------------------------------------------------------------------------
/cloudera-on-centos/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string"
7 | },
8 | "networkSpec": {
9 | "type": "object"
10 | },
11 | "masterNodeASName": {
12 | "type": "string"
13 | },
14 | "dataNodeASName": {
15 | "type": "string"
16 | }
17 | },
18 | "variables": {
19 | },
20 | "resources": [
21 | {
22 | "apiVersion": "2015-05-01-preview",
23 | "type": "Microsoft.Compute/availabilitySets",
24 | "name": "[parameters('masterNodeASName')]",
25 | "location": "[parameters('region')]",
26 | "properties": {
27 | }
28 | },
29 | {
30 | "apiVersion": "2015-05-01-preview",
31 | "type": "Microsoft.Compute/availabilitySets",
32 | "name": "[parameters('dataNodeASName')]",
33 | "location": "[parameters('region')]",
34 | "properties": {
35 | }
36 | },
37 | {
38 | "apiVersion": "2015-05-01-preview",
39 | "type": "Microsoft.Network/virtualNetworks",
40 | "name": "[parameters('networkSpec').virtualNetworkName]",
41 | "location": "[parameters('region')]",
42 | "properties": {
43 | "addressSpace": {
44 | "addressPrefixes": [
45 | "[parameters('networkSpec').addressPrefix]"
46 | ]
47 | },
48 | "subnets": [
49 | {
50 | "name": "[parameters('networkSpec').virtualNetworkSubnetName]",
51 | "properties": {
52 | "addressPrefix": "[parameters('networkSpec').subnetPrefix]"
53 | }
54 | }
55 | ]
56 | }
57 | }
58 | ]
59 | }
60 |
61 |
--------------------------------------------------------------------------------
/jenkins-on-ubuntu/README.md:
--------------------------------------------------------------------------------
1 | # Install a Jenkins Master and Slave node on Ubuntu Virtual Machines using Custom Script Linux Extension
2 |
3 |
4 |
5 |
6 |
7 | This template deploys a Jenkins master node on an Ubuntu virtual machines and multiple Jenkin slave nodes on two additional VM. This template also provisions a storage account, virtual network, availability sets, public IP addresses and network interfaces required by the installation.
8 |
9 | The example expects the following parameters:
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | storageAccountPrefix | Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed (multiple storage accounts are created with this template using this value as a prefix for the storage account name) |
14 | | adminUsername | Admin user name for the Virtual Machines |
15 | | adminPassword | Admin password for the Virtual Machine |
16 | | region | Region name where the corresponding Azure artifacts will be created |
17 | | virtualNetworkName | Name of the Virtual Network that is created and that resources will be deployed in to |
18 | | dnsName | The domain name portion of the publicly accessible Jenkin master {domainName}.{region}.cloudapp.azure.com (e.g. mydomainname.westus.cloudapp.azure.com)|
19 | | masterVmSize | The size of the Jenkins Master node VM. Default = Standard_D3
20 | | slaveVmSize | The size of the Jenkins slave node VM(s). Default = Standard_D3
21 | | slaveNodes | The number of Jenkins Slave nodes. Default = 1
22 |
23 | Topology
24 | --------
25 |
26 | This template deploys a Jenkins master and a configurable number of Jenkins slave nodes.
27 | The master node is exposed on a public IP address that you can access through a browser on port :8080 as well as SSH on the standard port.
28 |
29 | ##Known Issues and Limitations
30 | - The template does not currently configure SSL on master or slave nodes.
31 | - The template uses username/password for provisioning and would ideally use an SSH key
32 | - The deployment scripts are not currently idempotent and this template should only be used for provisioning a new master and slave.
33 |
--------------------------------------------------------------------------------
/hortonworks-on-centos/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string",
7 | "metadata": {
8 | "Description": "Location where resources will be provisioned"
9 | }
10 | },
11 | "networkSpec": {
12 | "type": "object"
13 | },
14 | "masterNodeASName": {
15 | "type": "string"
16 | },
17 | "workerNodeASName": {
18 | "type": "string"
19 | }
20 | },
21 | "variables": {
22 | },
23 | "resources": [
24 | {
25 | "apiVersion": "2015-05-01-preview",
26 | "type": "Microsoft.Compute/availabilitySets",
27 | "name": "[parameters('masterNodeASName')]",
28 | "location": "[parameters('region')]",
29 | "properties": {
30 | }
31 | },
32 | {
33 | "apiVersion": "2015-05-01-preview",
34 | "type": "Microsoft.Compute/availabilitySets",
35 | "name": "[parameters('workerNodeASName')]",
36 | "location": "[parameters('region')]",
37 | "properties": {
38 | }
39 | },
40 | {
41 | "apiVersion": "2015-05-01-preview",
42 | "type": "Microsoft.Network/virtualNetworks",
43 | "name": "[parameters('networkSpec').virtualNetworkName]",
44 | "location": "[parameters('region')]",
45 | "properties": {
46 | "addressSpace": {
47 | "addressPrefixes": [
48 | "[parameters('networkSpec').addressPrefix]"
49 | ]
50 | },
51 | "subnets": [
52 | {
53 | "name": "[parameters('networkSpec').virtualNetworkSubnetName]",
54 | "properties": {
55 | "addressPrefix": "[parameters('networkSpec').subnetPrefix]"
56 | }
57 | }
58 | ]
59 | }
60 | }
61 | ]
62 | }
63 |
--------------------------------------------------------------------------------
/nagios-on-ubuntu/README.md:
--------------------------------------------------------------------------------
1 | # Install Nagios Core on Ubuntu Virtual Machines using Custom Script Linux Extension
2 |
3 |
4 |
5 |
6 |
7 | This template deploys Nagios Core, a host/service/network monitoring solution released under the GNU General Public License. This template also provisions a storage account, virtual network, public IP addresses and network interfaces required by the installation.
8 |
9 | Visit the Nagios homepage at http://www.nagios.org for documentation, new releases, bug reports, information on discussion forums, and more.
10 |
11 | The template requires the following parameters:
12 |
13 | | Name | Description |
14 | |:--- |:---|
15 | | storageAccountName | Unique namespace for a new storage account where the virtual machine's disks will be placed (cannot be an existing storage account) |
16 | | adminUsername | Admin user name for the virtual machine |
17 | | adminPassword | Admin password for the virtual machine |
18 | | region | Region name where the corresponding Azure artifacts will be created |
19 | | virtualNetworkName | Name of virtual network |
20 | | subnetName | Name of the virtual network subnet |
21 | | addressPrefix | The IP address mask used by the virtual network |
22 | | subnetPrefix | The subnet mask used by the virtual network subnet |
23 | | domainName | Domain name of the publicly accessible Apache web server hosting Nagios |
24 | | tshirtSize | T-shirt size of the Nagios deployment |
25 |
26 | Topology
27 | --------
28 | The Nagios deployment topology is comprised of a single VM instance that can be customized and scaled up using the _tshirtSize_ parameter. The following table outlines the VM characteristics for each supported t-shirt size:
29 |
30 | | T-Shirt Size | VM Size | CPU Cores | Memory |
31 | |:--- |:---|:---|:---|
32 | | Small | Standard_A1 | 1 | 1.75 GB |
33 | | Medium | Standard_D1 | 1 | 3.5 GB |
34 | | Large | Standard_D2 | 2 | 7 GB |
35 | | XLarge | Standard_D3 | 4 | 14 GB |
36 | | XXLarge | Standard_D3 | 8 | 28 GB |
37 |
38 | ##Known Issues and Limitations
39 | - A single instance installation Nagios Core is performed by the template
40 | - This template does not install any monitoring targets
--------------------------------------------------------------------------------
/hortonworks-on-centos/scripts/initialize-master.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | IPPREFIX=$1
3 | NAMEPREFIX=$2
4 | NAMESUFFIX=$3
5 | NAMENODES=$4
6 | DATANODES=$5
7 | ADMINUSER=$6
8 |
9 | # Converts a domain like machine.domain.com to domain.com by removing the machine name
10 | NAMESUFFIX=`echo $NAMESUFFIX | sed 's/^[^.]*\.//'`
11 |
12 | #disable the need for a tty when running sudo
13 | sed -i '/Defaults[[:space:]]\+!*requiretty/s/^/#/' /etc/sudoers
14 |
15 | #use the key from the key vault as the SSH private key
16 | openssl rsa -in /var/lib/waagent/*.prv -out /home/$ADMINUSER/.ssh/id_rsa
17 | chmod 600 /home/$ADMINUSER/.ssh/id_rsa
18 | chown $ADMINUSER /home/$ADMINUSER/.ssh/id_rsa
19 |
20 | # Disable SELinux
21 | /usr/sbin/setenforce 0
22 | sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
23 |
24 | # Do not start iptables on boot
25 | chkconfig iptables off
26 |
27 | # Start ntpd on boot
28 | chkconfig ntpd on
29 |
30 | # Install ambari
31 | sudo yum install -y epel-release
32 | sudo wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.0.0/ambari.repo
33 | sudo cp ambari.repo /etc/yum.repos.d
34 | sudo rm -f ambari.repo
35 | sudo yum install -y ambari-server
36 | sudo yum install -y ambari-agent
37 | sudo ambari-server setup -s
38 |
39 | # Format and mount the disks
40 | let i=0 || true
41 | for disk in $(sfdisk -l | grep "Disk /dev/sd[^ab]" | sed -r "s/Disk (\/dev\/sd.):.*$/\1/");
42 | do
43 | sh ./mountDisk.sh $disk $i 0
50 | fstype={{ file_system }}
51 | dev={{ raid_device }}
52 | force=no
53 |
54 | - name: Create mountpoint for RAID
55 | file: >
56 | path={{ raid_mountpoint }}
57 | state=directory
58 |
59 | - name: Mount RAID
60 | mount: >
61 | name={{ raid_mountpoint }}
62 | src={{ raid_device }}
63 | fstype={{ file_system }}
64 | state=mounted
65 | opts=defaults,noatime
66 |
--------------------------------------------------------------------------------
/couchbase-ansible/InitStorage_RAID.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This playbook configures a RAID device with all the available Azure disks
3 |
4 | - name: Create a RAID and Configure Storage
5 | hosts: '{{ target }}'
6 | vars:
7 | raid_device: /dev/md0
8 | system_devices: /dev/sda|/dev/sdb
9 | raid_mountpoint: {{ data_mountpoint }}
10 | tasks:
11 | - fail: msg="Variable file_system was not defined. Specify ext4 or xfs"
12 | when: file_system is not defined
13 |
14 | # CentOS Specific tasks
15 | - name: Install CentOS packages
16 | yum: name={{ item }} state=latest
17 | with_items:
18 | - mdadm
19 | - xfsprogs
20 | when: ansible_distribution =="CentOS"
21 |
22 | # Ubuntu Specific tasks
23 | - name: Install Ubuntu packages
24 | apt: name={{ item }} state=latest
25 | with_items:
26 | - mdadm
27 | - xfsprogs
28 | when: ansible_distribution == "Ubuntu"
29 |
30 | - name: check for RAID device
31 | command: mdadm -D {{ raid_device }}
32 | register: mdadm_check
33 | failed_when: mdadm_check.rc == 0
34 |
35 | - name: List data disks and exclude system reserved devices
36 | shell: ls /dev/sd* | egrep -v "/dev/sda|/dev/sdb" |egrep -v "[0-9]$"
37 | register: data_devices
38 |
39 | - name: Abort if RAID is not needed
40 | fail: " {{ data_devices.stdout_lines | length }} devices detected.NO RAID is needed"
41 | when: "{{ data_devices.stdout_lines | length }} <= 1"
42 |
43 | - debug: msg="{{ data_devices.stdout_lines | length }} Data disks detected {{ data_devices.stdout_lines | join(" ") }}"
44 |
45 | - name: Create RAID device
46 | shell: echo yes | mdadm --create --verbose {{ raid_device }} --name=data --level=0 --raid-devices={{ data_devices.stdout_lines | length }} {{ data_devices.stdout_lines | join(" ") }}
47 |
48 | - name: Create filesystem
49 | filesystem: >
50 | fstype={{ file_system }}
51 | dev={{ raid_device }}
52 | force=no
53 |
54 | - name: Create mountpoint for RAID
55 | file: >
56 | path={{ raid_mountpoint }}
57 | state=directory
58 |
59 | - name: Mount RAID
60 | mount: >
61 | name={{ raid_mountpoint }}
62 | src={{ raid_device }}
63 | fstype={{ file_system }}
64 | state=mounted
65 | opts=defaults,noatime
66 |
--------------------------------------------------------------------------------
/postgresql-on-ubuntu/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string"
7 | },
8 | "storageSettings": {
9 | "type": "object"
10 | },
11 | "availabilitySetSettings": {
12 | "type": "object"
13 | },
14 | "networkSettings": {
15 | "type": "object"
16 | }
17 | },
18 | "variables": {},
19 | "resources": [
20 | {
21 | "type": "Microsoft.Storage/storageAccounts",
22 | "name": "[concat(parameters('storageSettings').name, copyindex())]",
23 | "apiVersion": "2015-05-01-preview",
24 | "location": "[parameters('region')]",
25 | "copy": {
26 | "name":"dbStoragePoolLoop",
27 | "count": "[parameters('storageSettings').count]"
28 | },
29 | "properties": {
30 | "accountType": "Standard_LRS"
31 | }
32 | },
33 | {
34 | "apiVersion": "2015-05-01-preview",
35 | "type": "Microsoft.Network/virtualNetworks",
36 | "name": "[parameters('networkSettings').vnetName]",
37 | "location": "[parameters('region')]",
38 | "properties": {
39 | "addressSpace": {
40 | "addressPrefixes": [
41 | "[parameters('networkSettings').addressPrefix]"
42 | ]
43 | },
44 | "subnets": [
45 | {
46 | "name": "[parameters('networkSettings').subnets.dmz.name]",
47 | "properties": {
48 | "addressPrefix": "[parameters('networkSettings').subnets.dmz.prefix]"
49 | }
50 | },
51 | {
52 | "name": "[parameters('networkSettings').subnets.data.name]",
53 | "properties": {
54 | "addressPrefix": "[parameters('networkSettings').subnets.data.prefix]"
55 | }
56 | }
57 | ]
58 | }
59 | },
60 | {
61 | "type": "Microsoft.Compute/availabilitySets",
62 | "name": "[parameters('availabilitySetSettings').name]",
63 | "apiVersion": "2015-05-01-preview",
64 | "location": "[parameters('region')]",
65 | "properties": {
66 | "platformFaultDomainCount": "[parameters('availabilitySetSettings').fdCount]",
67 | "platformUpdateDomainCount": "[parameters('availabilitySetSettings').udCount]"
68 | }
69 | }
70 | ],
71 | "outputs": {}
72 | }
--------------------------------------------------------------------------------
/spark-ubuntu-multidisks/shared-resources.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "region": {
6 | "type": "string"
7 | },
8 | "storageSettings": {
9 | "type": "object"
10 | },
11 | "availabilitySetSettings": {
12 | "type": "object"
13 | },
14 | "networkSettings": {
15 | "type": "object"
16 | }
17 | },
18 | "variables": {},
19 | "resources": [
20 | {
21 | "type": "Microsoft.Storage/storageAccounts",
22 | "name": "[concat(parameters('storageSettings').name, copyindex())]",
23 | "apiVersion": "2015-05-01-preview",
24 | "location": "[parameters('region')]",
25 | "copy": {
26 | "name":"dbStoragePoolLoop",
27 | "count": "[parameters('storageSettings').count]"
28 | },
29 | "properties": {
30 | "accountType": "Standard_LRS"
31 | }
32 | },
33 | {
34 | "apiVersion": "2015-05-01-preview",
35 | "type": "Microsoft.Network/virtualNetworks",
36 | "name": "[parameters('networkSettings').vnetName]",
37 | "location": "[parameters('region')]",
38 | "properties": {
39 | "addressSpace": {
40 | "addressPrefixes": [
41 | "[parameters('networkSettings').addressPrefix]"
42 | ]
43 | },
44 | "subnets": [
45 | {
46 | "name": "[parameters('networkSettings').subnets.dmz.name]",
47 | "properties": {
48 | "addressPrefix": "[parameters('networkSettings').subnets.dmz.prefix]"
49 | }
50 | },
51 | {
52 | "name": "[parameters('networkSettings').subnets.data.name]",
53 | "properties": {
54 | "addressPrefix": "[parameters('networkSettings').subnets.data.prefix]"
55 | }
56 | }
57 | ]
58 | }
59 | },
60 | {
61 | "type": "Microsoft.Compute/availabilitySets",
62 | "name": "[parameters('availabilitySetSettings').name]",
63 | "apiVersion": "2015-05-01-preview",
64 | "location": "[parameters('region')]",
65 | "properties": {
66 | "platformFaultDomainCount": "[parameters('availabilitySetSettings').fdCount]",
67 | "platformUpdateDomainCount": "[parameters('availabilitySetSettings').udCount]"
68 | }
69 | }
70 | ],
71 | "outputs": {}
72 | }
--------------------------------------------------------------------------------
/201-vm-from-specialized-vhd/azuredeploy.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
3 | "contentVersion": "1.0.0.0",
4 | "parameters": {
5 | "location": {
6 | "type": "String",
7 | "metadata": {
8 | "description": "Location to create the VM in"
9 | }
10 | },
11 | "osDiskVhdUri": {
12 | "type": "string",
13 | "metadata": {
14 | "description": "Uri of the existing VHD"
15 | }
16 | },
17 | "osType": {
18 | "type": "string",
19 | "allowedValues": [
20 | "windows",
21 | "linux"
22 | ],
23 | "metadata": {
24 | "description": "Type of OS on the existing vhd"
25 | }
26 | },
27 | "vmSize": {
28 | "type": "string",
29 | "defaultValue": "Standard_A2",
30 | "metadata": {
31 | "description": "Size of the VM"
32 | }
33 | },
34 | "vmName": {
35 | "type": "string",
36 | "metadata": {
37 | "description": "Name of the VM"
38 | }
39 | },
40 | },
41 | "variables" :{
42 | "nicName" : "networkInterface1"
43 | },
44 | "resources": [{
45 | "apiVersion": "2015-05-01-preview",
46 | "type": "Microsoft.Compute/virtualMachines",
47 | "name": "[parameters('vmName')]",
48 | "location": "[parameters('location')]",
49 | "properties": {
50 | "hardwareProfile": {
51 | "vmSize": "[parameters('vmSize')]"
52 | },
53 | "storageProfile": {
54 | "osDisk": {
55 | "name": "[concat(parameters('vmName'),'-osDisk')]",
56 | "osType": "[parameters('osType')]",
57 | "caching": "ReadWrite",
58 | "vhd": {
59 | "uri": "[parameters('osDiskVhdUri')]"
60 | },
61 | "createOption": "Attach"
62 | }
63 | },
64 | "networkProfile": {
65 | "networkInterfaces": [{
66 | "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
67 | }]
68 | }
69 | }
70 | }]
71 | }
72 |
--------------------------------------------------------------------------------
/dsc-extension-iis-server-windows-vm/README.md:
--------------------------------------------------------------------------------
1 | # VM-DSC-Extension-IIS-Server
2 |
3 |
4 |
5 |
6 |
7 | This template allows you to create a VM with IIS Server and Management console setup. This is done using the DSC extension.
8 |
9 | Below are the parameters that the template expects
10 |
11 | | Name | Description |
12 | |:--- |:---|
13 | | location | Location where to deploy the resource |
14 | | newStorageAccountName | Name of the storage account to create |
15 | | storageAccountType | Type of the storage account