Skip to content

Instantly share code, notes, and snippets.

@flaviotorres
Created March 22, 2019 06:26
Show Gist options
  • Save flaviotorres/9566954ddf97af4cc3c233122f12d312 to your computer and use it in GitHub Desktop.
Save flaviotorres/9566954ddf97af4cc3c233122f12d312 to your computer and use it in GitHub Desktop.
Configure a Firewall and a Startup Script with Deployment Manager
resources:
- name: my-default-allow-http
type: compute.v1.firewall
properties:
targetTags: ["http"]
sourceRanges: ["0.0.0.0/0"]
allowed:
- IPProtocol: TCP
ports: ["80"]
- type: compute.v1.instance
name: vm-test
properties:
zone: {{ properties["zone"] }}
tags:
items: ["http"]
machineType: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/zones/{{ properties["zone"] }}/machineTypes/f1-micro
# For examples on how to use startup scripts on an instance, see:
# https://cloud.google.com/compute/docs/startupscript
disks:
- deviceName: boot
type: PERSISTENT
boot: true
autoDelete: true
initializeParams:
diskName: disk-{{ env["deployment"] }}
sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-9
networkInterfaces:
- network: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/global/networks/default
# Access Config required to give the instance a public IP address
accessConfigs:
- name: External NAT
type: ONE_TO_ONE_NAT
metadata:
items:
- key: startup-script
value: |
#!/bin/bash
apt-get update && apt-get install -y apache2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment