Skip to content

Instantly share code, notes, and snippets.

View PlagueHO's full-sized avatar
:shipit:
I code, I build stuff and I use AI Agents.

Daniel Scott-Raynsford PlagueHO

:shipit:
I code, I build stuff and I use AI Agents.
View GitHub Profile
@PlagueHO
PlagueHO / roleready.md
Last active September 17, 2025 22:19
RoleReady App Prompt

I want to build a simple app called RoleReady. The idea is that a student can type in a role or topic they’re preparing for, like "AI Application Maker in the Health Software Industry" and the app will generate a personalized learning roadmap for them. The roadmap should have a few sections, each with a short description and a handful of resources to learn from. Each resource should have a title, a link, and a short summary so the student knows what it’s about.

The app should let the student track their progress by checking off items as they complete them, and it should show some kind of progress indicator. Everything should be stored locally so it works offline and doesn’t need a backend database.

I want to use an LLM from Azure OpenAI Service to generate the roadmap and the summaries for each resource. The student experience should feel simple and clean: enter a topic, get a structured plan, and work through it at their own pace. It should also allow them to add their own notes or maybe even add extra res

@PlagueHO
PlagueHO / assign-reader-role-azure-machine-learning-enterprise-app.bicep
Created May 11, 2025 00:00
Bicep file that assigns the Azure Machine Learning service principal the Reader role on an existing Azure AI Search service using the Microsoft Graph Bicep extension.
// Use the Microsoft Graph Bicep extension to work with Entra ID resources
extension microsoftGraphV1
// The Service Principal of the Azure Machine Learning service.
resource azureMachineLearningServicePrincipal 'Microsoft.Graph/[email protected]' = {
appId: '0736f41a-0425-4b46-bdb5-1563eff02385' // Azure Machine Learning service principal
}
// The existing Azure AI Search service (can be a new or existing resource).
resource azureAiSearch 'Microsoft.Search/searchServices@2025-02-01-preview' existing = {
@PlagueHO
PlagueHO / Set-AzNetworkSecurityGroupAddRule.ps1
Last active October 7, 2022 07:01
PowerShell function to add or update a rule in all Azure Network Security Groups (NSG) across a set of Azure subscriptions
<#
.SYNOPSIS
Function to loop over all Azure Network Security Groups in multiple
subscriptions and add an NSG rule to it if it does not already exist.
If the rule already exists, it will remove it and add it. The NSG will
then be replaced.
This function is not idempotent, it will replace the NSG regardless
of whether it needed to be or not.
@PlagueHO
PlagueHO / Get-AzLogAnalyticsWorkspaceSource.ps1
Created July 28, 2021 03:40
PowerShell function that looks for Azure resources and services that send data to Log Analytics workspaces. Use this to assess the usage of Azure Log Analytics workspaces across a tenant.
#Requires -Modules @{ ModuleName = 'Az.Accounts'; ModuleVersion = '2.5.1' }
#Requires -Modules @{ ModuleName = 'Az.Resources'; ModuleVersion = '4.2.0' }
#Requires -Modules @{ ModuleName = 'Az.Compute'; ModuleVersion = '4.15.0' }
#Requires -Modules @{ ModuleName = 'Az.OperationalInsights'; ModuleVersion = '2.3.0' }
#Requires -Modules @{ ModuleName = 'Az.Aks'; ModuleVersion = '2.2.0' }
<#
.SYNOPSIS
Returns an array Azure Log Analytics workspaces and the resources
that send data to them.
@PlagueHO
PlagueHO / azuredeploy.json
Created February 24, 2021 03:24
ARM Template for Deploying Azure Database for PostgreSQL with read-only replica and no public network access.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serverName": {
"type": "string",
"metadata": {
"description": "Server Name for Azure database for PostgreSQL"
}
},
@PlagueHO
PlagueHO / CreateAzureDevOpsAgentPoolVMSS.sh
Created January 26, 2021 01:19
Create an Azure DevOps Agent Pool VMSS
az vmss create \
--name dsragentspool \
--resource-group dsr-azuredevops-rg \
--image UbuntuLTS \
--vm-sku Standard_DS2_v2 \
--storage-sku Standard_LRS \
--authentication-type SSH \
--instance-count 2 \
--disable-overprovision \
--upgrade-policy-mode manual \
@PlagueHO
PlagueHO / azure-pipelines.yml
Created January 24, 2021 06:39
Azure DevOps Multi-Stage YAML Pipeline triggered off Main Branch with access to Secrets & Service Connections and using Environments
trigger:
branches:
include:
- 'main'
pr: none
stages:
- stage: Build
jobs:
- template: templates/build.yml
@PlagueHO
PlagueHO / azure-pipelines.yml
Created January 24, 2021 03:52
Example Azure DevOps Multi-Stage YAML Pipeline triggered off malicious branch
trigger:
branches:
include:
- 'main'
- 'malicious-change'
pr: none
stages:
- stage: Build
jobs:
@PlagueHO
PlagueHO / azure-pipelines.yml
Last active January 24, 2021 02:55
Azure DevOps Multi-Stage YAML Pipeline triggered off Main Branch with access to Secrets & Service Connections
trigger:
branches:
include:
- 'main'
pr: none
stages:
- stage: Build
jobs:
- template: templates/build.yml
@PlagueHO
PlagueHO / Invoke-AzContainerGroupCommand.ps1
Created October 26, 2020 02:57
Execute a command on an Azure Container Instance and return a terminal
$SubscriptionId = '<subscription id>'
$ResourceGroupName = 'my-container-rg'
$AciName = 'my-container-aci'
$resourceId = "/subscriptions/$($SubscriptionId)/resourceGroups/$($ResourceGroupName)/providers/Microsoft.ContainerInstance/containerGroups/$($AciName)/containers/$($AciName)"
$command = "/zap/zap-baseline.py -t 'https://myapplication.net' -x OWASP-ZAP-Report.xml"
Invoke-AzResourceAction `
-ResourceId $resourceId `
-Action 'exec' `
-ApiVersion '2019-12-01' `