Personal IT Portfolio

Personal Static Websites

In 2015 I started building my own static website and hosted it on Azure. I purchased my domain name and the first thing I published was my resume and related materials. (www.davecoate.com/resume) I was teaching myself Git at the time for other reasons, so I elected to use that as the deployment mechanism. I am a hiker and mountain climber so I started publishing GPS tracks and other multi-media from these trips. I store and serve these from Azure Blob storage. I am now on my second generation of design, adding a lot of CSS to the HTML in my v2. I also helped my wife build a second, similar site, teaching her basic Git and HTML she needed to do her own maintenance.
www.davecoate.com
www.karidarvill.com


PowerShell Gallery Published Module

I switched over to using PowerShell soon after it came out in 2006, replacing the vbScript I was working with. As a challenge to myself, I wrote a highly refined, best practices PowerShell module, complete with Pester unit tests, and Comment Based Help and published this to "PSServerCollectionTools" in the PowerShell gallery. I used a pair of CI/CD Pipelines, one in Azure DevOps and one in Github Actions. It was a good opportunity to compare the two CI/CD options. At the time, Azure was better at running Pester in in pipeline and Github was better for publishing to the Gallery.
PowerShell Gallery | PSServerCollectionTools 1.0.4
GitHub - coateds/PSServerCollectionTools: Implemented as a PowerShell module and published on the PowerShell Gallery, a series of interchangeable pipeline functions for administering multiple servers.


PowerShell Powered Website

PowerShell has become my go to automation tool. Now that PowerShell Core is cross platform, I have started using it on Linux too. I am always on the lookout for interesting PowerShell modules in the Gallery. Two such modules, Polaris and PSHTML, can be used together to create PowerShell based Websites (Not suitable for the public Internet). I found this solution useful for ad hoc monitoring pages that could be easily used by 24X7 technicians to watch recent, important issues with newly deployed software. I have also built Polaris and PSHTML into both Linux and Windows Docker Containers for a quick way to use PowerShell as a REST API Microservice.
GitHub - PowerShell/Polaris: A cross-platform, minimalist web framework for PowerShell
https://www.powershellgallery.com/packages/Polaris/0.2.0
PowerShell Gallery | PSHTML 0.8.2

Polaris PSHTML Screenshot


Flask Webpage with Azure SQL Backend

My current project is to build a Python Flask based dynamic website with Azure SQL as the backend. The data I am using relates again to the hiking I do and the history my wife and I have regarding Fire Lookouts in Washington State. The password in the SQL connection string is protected with Azure Key Vault, and the secrets and configurations are not stored in source code. A challenge was presented to build a devopment Windows environgment for debugging while the web app is, under the hood, hosted on Linux containers. Some of the pyodbc connection configuration to Azure SQL is different (and more difficult) on Linux. The solution involved several different SSH connections from Windows to Linux. This is also deployed with a CI/CD pipeline to Azure DevOps, making this potentially a multi developer project.
Query Database (dcpythonflaskdemo.azurewebsites.net)