Skip to content

Instantly share code, notes, and snippets.

View jesseloudon's full-sized avatar
:shipit:

Jesse Loudon jesseloudon

:shipit:
View GitHub Profile
@jesseloudon
jesseloudon / molecule.yml
Last active November 9, 2020 04:18
Molecule Azure Windows molecule.yml example 2/4
---
lint: |
ansible-lint tasks/main.yml
dependency:
name: galaxy
driver:
name: azure
platforms:
- name: win2019
provisioner:
@jesseloudon
jesseloudon / create.yml
Last active May 25, 2022 07:38
Molecule Azure Windows create.yml example 1/4
---
- name: Create
hosts: localhost
connection: local
gather_facts: false
vars:
resource_group_name: ansible-dev-win2019-yourinitials
virtual_network_resource_group_name: ansible-dev-yourinitials
virtual_network_name: ansible-dev-yourinitials
@jesseloudon
jesseloudon / molecule.yml
Last active November 9, 2020 04:04
Molecule Azure CentOS molecule.yml example 2/4
---
lint: |
ansible-lint tasks/main.yml
dependency:
name: galaxy
driver:
name: azure
platforms:
- name: rhel8
provisioner:
@jesseloudon
jesseloudon / create.yml
Last active November 9, 2020 04:02
Molecule Azure CentOS create.yml example 1/4
---
- name: Create
hosts: localhost
connection: local
gather_facts: false
vars:
resource_group_name: ansibledev-rhel8-yourinitials
virtual_network_resource_group_name: ansibledev-yourinitials
virtual_network_name: ansibledev-yourinitials
@jesseloudon
jesseloudon / example_az_env_vars.yaml
Created August 3, 2020 11:40
Example Azure Environment Variables in YAML
jobs:
terraform:
env:
ARM_CLIENT_ID: ${{ secrets.az_client_id }}
ARM_CLIENT_SECRET: ${{ secrets.az_client_secret }}
ARM_SUBSCRIPTION_ID: ${{ secrets.az_subscription_id }}
ARM_TENANT_ID: ${{ secrets.az_tenant_id }}
@jesseloudon
jesseloudon / create_aad_sp.azcli
Created August 2, 2020 08:33
Create an AAD Service Principal for deploying Azure Policies via Terraform
az login
az account list
az account set --subscription="XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"
az ad sp create-for-rbac --name "TF-AzureRM-Policy" --role="Resource Policy Contributor" --scopes="/subscriptions/XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"
@jesseloudon
jesseloudon / tf_main_example.tf
Created August 2, 2020 06:06
Example Terraform main file used as a blog reference
terraform {
required_version = "~> 0.12.0"
required_providers {
azurerm = "~> 2.11.0"
}
backend "remote" {
hostname = "app.terraform.io"
organization = "GlobalBao"
workspaces {
name = "azurerm-policy-visualstudio"
@jesseloudon
jesseloudon / terraform_plan.yml
Last active August 2, 2020 09:34
Terraform Plan - GitHub Action workflow
name: Terraform Plan
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
Terraform-Plan:
@jesseloudon
jesseloudon / terraform_apply.yml
Last active August 2, 2020 10:55
Terraform Apply - GitHub Action workflow
name: Terraform Apply
on:
workflow_dispatch:
jobs:
Terraform-Apply:
runs-on: ubuntu-latest
steps:
@jesseloudon
jesseloudon / AzurePolicyRootModuleExample.tf
Created June 29, 2020 04:53
The parent module calls all child modules and it's where we define input variables if required by a child module.
module "policy_assignments" {
source = "./modules/policy-assignments"
tag_governance_policyset_id = "${module.policyset_definitions.tag_governance_policyset_id}"
iam_governance_policyset_id = "${module.policyset_definitions.iam_governance_policyset_id}"
security_governance_policyset_id = "${module.policyset_definitions.security_governance_policyset_id}"
data_protection_governance_policyset_id = "${module.policyset_definitions.data_protection_governance_policyset_id}"
}