The whole crew is back together for the first time in a while, talking about: Git commit hooks, Windows as a development environment, cloud network firewalls, and Azure DevOps.
What have we been up to?
- Jerry started a new job, and he’s re-started using Windows 10 as part of his job after a few years of using OSX and Linux. He’s using Windows Subsystem for Linux (WSL). We talk a bit about the difference between WSL 1 and WSL 2, and comment about how WSL 2 uses Hyper-V and what that means compared to using VirtualBox or VMWare for virtual machines. We compare WSL 1 to a “reverse” WINE.
- Stu mentions that you can’t run some network controls (like traceroute) with WSL 1 because some of the kernel calls are not available.
- Jon notes that he used the terraform for Windows binary in WSL by mistake and couldn’t authenticate to AWS because he’d installed the AWS CLI for Linux. Installing Terraform for Linux and also putting the AWS configuration files into both the Linux expected path (
~/.aws/config
) and the Windows expected path (%UserProfile%\.aws
) worked around this issue! - Jon then mentions using
/etc/wsl.conf
to configure mounting the Windows drives into WSL, and notes that you can configure it to permit POSIX style file permissions with this sample:
[automount]
options = "metadata"
- Jon also creates a symbolic link between
/mnt/c/Users/Jon/Documents
and~/Documents
to “easily” get into the Windows paths that are backed up in Windows. - Jerry notes that he’s using the Windows version of Virtual Desktops. He’s also using the Microsoft Terminal application.
- Al mentions that if you navigate to
\\wsl$
in Windows Explorer, you can access the Linux file system from Windows Subsystem for Linux. Stu mentions he has this open in the left hand pane in Explorer all the time! - Al said he’s using Visual Studio Code (VSCode), and uses that to open Windows Subsystem for Linux, and he also mentioned that if you type in
code
in any path in WSL (or Command Prompt, for that matter [ed.]) it will open that folder in Visual Studio Code. - Jerry notes that he’s just moved to using VSCode, but has installed the Vim extension. Jon asks whether he’s installed the “Butterflies” extension, referring to an XKCD comic.
- We talk briefly about using Git in VSCode, versus using it from the command line. Jon mentions a specific bug he has. Jon talks about the differences in line endings between Linux and Windows systems.
- Al talks about using Azure DevOps with it’s pipelines. We talk about it’s history, and compare it to other products. Al mentions using Azure DevOps to trigger Terraform using PowerShell. Al also mentions using AWX (the open source upstream version of Ansible Tower), and having an agent for Azure Devops running on his AWX service.
- Jon mentions the DevOps.fm podcast in the context of Azure DevOps. Stu asks about running PowerShell on Linux. Jerry mentions a Binary Times podcast episode where they interview the person, “dementor”/”the mentor” who runs the Powershell On Linux, Al mentions the Makers Corner podcast which also interviewed the same person.
- Jon is writing Terraform to deliver 3rd party security appliances in AWS and Azure. He notes that most of the AWS appliances use a Transit Gateway to set this up. Jerry and Stu mention how they use Terraform Modules. Jerry mentions automating Jenkins with Terraform. Stu and Jon talk about using
count
andfor each
statements. Jon also mentions about defining which “providers” to use in the Terraform files. He also notes that you can get into a dependency loop if you have several modules with different provider files. Talking of Providers, Jon mentions using the “null” provider, but doesn’t explain what he uses it for. - Jon talks about Git hooks, and Jerry talks about a python project called pre-commit which can help to automate some of these pre-commit hooks, like calling a linter or a unit testing system (like ShellCheck) before the commit completes. Stu mentions using the GitLab Continious Integration (CI) system instead of using Pre-Commit hooks. Jon suggests when it might be preferable to use Pre-Commit hooks instead.
- Stu mentions about SourceHut, which is an alternative to GitHub which uses email for patch sharing.
- Al talks about using the Azure Firewall product, and Jon and Al drills down into how Azure Networking works. Jon then explains how High Availability events occur in AWS and Azure with 3rd party firewalls. Jon also mentions AWS Firewall Manager. Jon also mentions that Terraform and Ansible have code to write and amend AWS and Azure Firewall rules.
Feedback
- We received feedback (although the source has now been lost) about how we pronounced “Oriented” as “Orientated”. These are both valid words in UK English and are interchangable in UK English.
Wrap up
We’re a member of the Other Side Podcast Network. The lovely Dave Lee does our Audio Production.
We want to remind our listeners that we have a Telegram channel and email address if you want to contact the hosts. We also have Patreon, if you’re interested in supporting the show. Details can all be found on our Contact Us page.